![]() |
KiTrap0d local ring0 exploit на DELPHI
Возможно ли это?
В С++ шарю не очень, хотя команды похожие. Подскажите, пожалуйста как сделать аналог на Delphi? vdmallowed.exe http://pastebin.com/m5f3df162 Начал с этого: Код:
CreateProcess(nil, 'C:\\WINDOWS\\SYSTEM32\\CMD.EXE', nil, nil, true, CREATE_NEW_CONSOLE, nil, nil, si, pi); |
Хм. Ну что ж... Неплохое и многообещающие начало! Самым лучшим вариантом было бы перевести код самого эксплоита на язык Delphi (на хабре выкладывали на C++).
Но EXE уже антивирем палится. |
По идее там можно сделать так чтобы ничем не палилось и без лишней DLL )
И даже не юзая debug.exe. Посмотри исходники и там быстро можно понять что и как. Но на делфи переделывать не советую. Будут баги конкретные, в особенности в плане кода исполняемого в ring0 (если чуть не так напишеш) |
делаю без дэлэлэ, посморим че выйдет)
|
Цитата:
|
Вложений: 2
на си тока и я под вынь7 сделал. у меня тока тоталресеты, что говорит что работает но криво) разбираться уже сил нет)
короче я пытался тока р0 исполнение запустить без копирования маркера с привелегиями но видимо не туда улетаю( а вмвару надо еще скачать мля |
Вообще сплоит чуть мутноват. т.е. периодически систему в бсод кидает.
Я его чуть усовершенствовал. Теперь он не создает cmd с правами system. Теперь он дает права system для той проги которая запускает его. т.е. запускаем сплоит и та кто прога которая запустила его, сразу становится с правами system. Т.е. налог пингвиних рутовых сплоитов. Чуть позже мож выложу мой апдейт |
Ну вот моя дороботка.
В файле vdmallowed.c правим 1) в начале добавляем #include <tlhelp32.h> 2) полностью удаляем функцию PrepareProcessForSystemToken 3) Этот код Код:
if (PrepareProcessForSystemToken("C:\\WINDOWS\\SYSTEM32\\CMD.EXE", &ShellPid) != TRUE) {Код:
ShellPid = GetParentPID(); Код:
ULONG GetParentPID()5) перед SpawnNTVDMAndGetUsefulAccess("C:\\WINDOWS\\SYSTEM3 2\\DEBUG.EXE", &VdmHandle) пишем: char buf[260]; GetSystemDirectoryA(buf, 256); lstrcatA(buf, "\\debug.exe"); SpawnNTVDMAndGetUsefulAccess("C:\\WINDOWS\\SYSTEM3 2\\DEBUG.EXE", &VdmHandle) заменяем на SpawnNTVDMAndGetUsefulAccess(buf, &VdmHandle) т.е. в данном случае мы не будем зависеть от диска на котором находится винда. |
slesh, предложи что нить для delphi :)
Может хоть dll'ку сделать, чтобы из нее эти функции запускать. |
Ну так возьми сишный код самой проги, убери логирование и форми в виде DLL
и функцию main назови по другому и сделай экспортируемой |
| Время: 09:04 |