20145318《网络攻防》免杀原理与实践
实践内容
- (1)理解免杀技术原理
- (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免杀工具或技巧
- (3)通过组合应用各种技术实现恶意代码免杀
-
(4)用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
基础问题回答
- (1)杀软是如何检测出恶意代码的?
- 基于特征码:通过特定数据来识别病毒,通常修改一处就可以免杀。特征码的查找方法:文件中的特征码被我们填入的数据(比如0)替换了,那杀毒软件就不会报警,以此确定特征码的位置。
- 基于行为:典型的行为如连接恶意网站、开放端口、修改系统文件,典型的“外观”如文件本身签名、结构、厂商等信息等。
- (2)免杀是做什么?
-
免杀就是反病毒(AntiVirus)与反间谍(AntiSpyware)的对立面,英文为Anti-AntiVirus(简写Virus AV),让恶意代码不被杀毒软件查杀
- (3)免杀的基本方法有哪些?
- 改变特征码(加壳、编码)
- 改变攻击行为(通讯方式、操作模式)
- 利用现有后门软件
- 使用漏洞应用作为后门
- 社工类攻击,诱导关闭杀软
-
手工打造恶意软件
离实战还缺些什么技术或步骤
-
欺骗靶机下载和启动恶意代码
实践过程记录
- 根据攻击机的IP用msfvenom直接生成meterpreter可执行文件
- 上传到VirScan进行扫描
- 使用编码器进行编码
- 上传到VirScan进行扫描
- 编码10次
- 上传到VirScan进行扫描
Veil-Evasion生成可执行文件
-
打开Veil-Evasion
- 生成可执行文件
- 上传到VirScan进行扫描
C语言调用Shellcode
- 半手工打造一个恶意软件
-
生成一个c语言格式的Shellcode数组,替换代码中的对应部分,并拷贝到VS中编译运行
- 上传到VirScan进行扫描
逆序修改shellcode
-
用函数求shellcode数组的逆序
- 全部替换
ffffff,
添加求逆的函数部分,上传到VirScan进行扫描
实战(360杀毒软件)
-
用杀毒软件检测,通过
- Kali开启监听
- Windows开启程序,回连Kali,
成功获得shell