| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > "Ранняя" автозагрузка |
| Автор: Addmin 13.6.2007, 17:21 |
| Добрый день! Какие есть способы для загрузки процесса нашей программы до остальных (троянов, backdoor'ов, etc), так, чтобы мы имели доступ к файловой системе и к реестру. На этом форуме уже были вопросы Romikgy, к сожалению, найти я их так не смог :( Пути, которые я вижу (правда, наполовину 1. dll или процесс в winlogon (если такое возможно). 2. автозагурзка через BootExec (именно так работают CHKDSK, O&O Defrag, Avast!). К сожалению, по этой возможности у меня очень мало информации - какого типа должно быть приложение и т.д. Кто-нибудь просветит? Заранее спасибо! Добавлено через 55 секунд Всмысле я пишу и не троян, и не backdoor, а их антипод |
| Автор: Rennigth 13.6.2007, 17:31 |
| Addmin, Драйвер или сервис пиши. Драйвер надежнее, но сложнее в реализации. |
| Автор: Addmin 13.6.2007, 18:00 |
| Ясно |
| Автор: m0ro 13.6.2007, 18:23 |
| Сервисы: http://ishodniki.ru/list/?cat=7&show=delphi_system&pr=sys_nt По драйверам поищи книги лучше... |
| Автор: Rouse_ 13.6.2007, 20:40 |
| По нативу у Шрайбера было это хорошо описано, но учти, там нет ничего похожего на Win32 подсистему... |
| Автор: Addmin 14.6.2007, 05:29 |
| Rouse_, bems, m0ro, спасибо. Так и думал, что придётся консольку писать |
| Автор: bems 14.6.2007, 16:52 |
| не путпешь ли ты юзермодное native приложение с кернолмодом? не уверен, но похоже на то |
| Автор: Rouse_ 15.6.2007, 10:52 |
Я говорю именно про Native приложения, которые запускаются до запуска Win32 подсистемы. Пример такого - scandisk. |
| Автор: Addmin 12.9.2007, 17:25 | ||
Попытался простое консольное приложение поставить в BootExec:
Но 1.exe так и не удалился. Почему? Есть ли какие-то отличия написания простых консольных приложений и подобных, "загрузочных"? Заранее спасибо |
| Автор: bems 12.9.2007, 18:27 |
| а если без win32-вызовов? |
| Автор: Addmin 13.9.2007, 02:38 |
| bems, паскалевский Erase тоже пробовал |
| Автор: W4FhLF 13.9.2007, 07:43 | ||
Как почему? А откуда там взятся api DeleteFile? kernel32.dll там ещё нет и в помине. Надо использовать функции, которая экспортиурются ядром или работать напрямую с disk.sys. Олтичия? Да проще уж назвать совпадения, чем отличия. Нет там никаких консолек и прочего, то, что тебе здесь насоветовали. В общем я не знаю, как тебе ответить на вопрос, слишком велики твои пробелы в знаниях и слишком обширна эта область. Читал туториалы Fouf-F, книги Шрайбера, Руссиновича и Хоглунда. |
| Автор: Addmin 13.9.2007, 10:02 |
| Спасибо! |
| Автор: RinOSpro 13.9.2007, 10:19 |
| По секрету скажу Addmin HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ "Userinit="Троян.exe" только потом не забудь запустить userinit winexec ом а то система не загрузиться Добавлено через 3 минуты и 35 секунд или подмени ntoskrnl.exe |
| Автор: Romikgy 13.9.2007, 14:12 |
и все делать самому читаю книгу "Руткиты для Windows " Колисниченко много чего поучительного и для троянописателей и для их антиподов |
| Автор: Addmin 13.9.2007, 15:43 |
| Romikgy, нужна ссылка на книжку Олега Зайцева "Руткиты, кейлогерры и spyware: методы борьбы"? |
| Автор: bems 13.9.2007, 16:26 | ||||
kernel32.dll можно и самому загрузить, но только вот сервер подсистемы Win32 еще не загружен, поэтому от kernel32.dll толку будет мало. Добавлено через 4 минуты и 28 секунд не об этом. Об NtDeleteFile например описание
|
| Автор: W4FhLF 13.9.2007, 16:44 | ||||
В какой stdout? stdout это языкозависимое и высокоуровневое понятие и к какому именно системному механизму его применить это вообще личное дело каждого. А консолек там нет, они там не загрузятся и chkdsk.exe, который ты имел ввиду, тоже. Вместо него работает autochk.exe.
И как её можно загрузить, если csrss не загружен? |
| Автор: ne0n 13.9.2007, 17:08 | ||||
Гениально!!!Тока каето секреты у тебя староватые : C:\WINDOWS\system32\userinit.exe,??? просто прописываешь после запятой путь к твоей программе!!!
шутник! вообщем как писать на дельфях не видел а вот для C есть http://www.xakep.ru/magazine/xa/082/114/2.asp |
| Автор: bems 13.9.2007, 17:11 | ||||
не знал. как проверить? как любую длл. Может оказаться что она откажется загружаться, тогда загрузить без выполнения точки входа. Я это не к тому что она заработает, а к тому что
Добавлено через 3 минуты и 28 секунд кстати подумал. Если это так, а DeleteFile импортируется статически, то программа Addmin, вообще не начнет выполняться (дело даже не дойдет до попытки вызова DeleteFile) |
| Автор: W4FhLF 13.9.2007, 17:37 | ||||
Ну эта функция берёт хендл из PEB, которые заполняется на стадии инициализации процесса. Вот тебе самый просто пример вывода на экран в native:
Надо быть внимательней просто
kernel32 попытается открыть порт csrss, у неё ничего не получится и программа свалится в функции NtSecureConnectPort. Формально всё верно. Нет kernel32 - нет её интерфейсов. Твои придирки к словам мне непонятны. |
| Автор: bems 13.9.2007, 17:59 | ||||
| извини к чему? окуда инфа?
не спорю, это работает. Вопрос в том, а будет ли работать вывод в хэндл StdOut? |
| Автор: RinOSpro 14.9.2007, 07:00 | ||||
никто не завизжит орет только аутпост остальные молчат в том чиле авп, др. веб. аваст, и много других по крайней мере юзер ни за что не додумается лазить по этому адресу мах его знания ограничаться msconfig
Ты сам то пробывал вообщето или ИМХО. не почему. я просто этим не занимался ну если выбирать между драйвером и подменой я выбираю подмену. На делфи безполезно но на паскале можно попробывать. И еще эти скандиски и др. запускает сама ОС этож служебные утилиты. |
| Автор: W4FhLF 14.9.2007, 07:18 | ||
Ничего, никакого хендла там нет. PEB свой у каждого процесса. |
| Автор: BaD_SeCt0R 14.9.2007, 07:43 |
| И как тогда приложению удалить тот самый файл?? Или же, например, с реестром работать? |
| Автор: W4FhLF 14.9.2007, 08:13 |
| BaD_SeCt0R, Native API |
| Автор: RinOSpro 14.9.2007, 10:18 |
| Addmin у наверное уже пофиг о чем это мы здесь спорим. Так ты нашел для себя решение! если да то какое? |
| Автор: Addmin 14.9.2007, 10:33 | ||
Ну почему же "пофиг" W4FhLF, "слишком велики мои пробелы в знаниях" |
| Автор: RinOSpro 14.9.2007, 10:39 |
| а на сколько раньше тебе надо? Добавлено через 15 секунд может хватит и userinit-a |
| Автор: Addmin 14.9.2007, 14:22 | ||
Чем раньше - тем лучше |
| Автор: Romikgy 15.9.2007, 21:23 | ||
давай мож еще кому пригодится |
| Автор: BaD_SeCt0R 16.9.2007, 08:59 |
| Народ, а просвятите пожалуйста, как пишуться и что используют мультизагрузчики ОС? Ведь тут об апи вообще не может быть речи, насколько я понимаю |
| Автор: W4FhLF 16.9.2007, 09:15 |
| Прерывания и порты I/O биоса используют, с видеопамятью работают напрямую. |
| Автор: BaD_SeCt0R 16.9.2007, 09:23 |
| W4FhLF, и как можно с помощью прерываний запустить ОС? Скопировать что-то напрямую в память? Я просто самого принципа не очень понимаю... Добавлено через 2 минуты и 26 секунд И сможет ли программа (или что это?) существовать в памяти и работать полноценно после загрузки нужной операционки? |
| Автор: W4FhLF 16.9.2007, 10:26 |
| http://wasm.ru/publist.php?list=24 После прочтения этих статей, если разберёшься с материалом, найдёшь ответы на свои вопросы и сможешь написать небольшую ОС. Это непросто, но лучшего изложения материала по этой теме на русском я не встречал. |
| Автор: Addmin 18.9.2007, 09:15 |
| Rootkits, SpyWаrе/AdWаrе, Kеylоggеrs & BасkDооrs Олег Зайцев http://natahaus.ifolder.ru/1201707 http://rapidshare.com/files/17989801/001778.rar.html Книжка в формате DjVu с примерами на Delphi и С++ Руткиты: внедрение в ядро Windows Хоглунд Г. Батлер Дж. http://rapidshare.com/files/45471530/DjVu_Encoded.rar http://natahaus.ifolder.ru/2820447 |
| Автор: Firster 20.9.2007, 23:51 |
| Вот ссылка, как писать драйвера на Делфи http://www.rsdn.ru/article/delphi/kmdelphi.xml |
| Автор: ne0n 21.9.2007, 10:13 | ||
Может тогда сразу взять Delphi DDK(ну если честно таковым эт сложно назвать), основная его задача осуществить перехват в ядре! |
| Автор: Addmin 21.9.2007, 16:18 | ||
А что это есть такое? |
| Автор: BaD_SeCt0R 21.9.2007, 16:58 |
| ne0n, я пока тоже ни одного нормального "Delphi DDK" не видел, так, статейки какие-то. Может кинешь в меня ссылкой? |
| Автор: ne0n 21.9.2007, 21:07 | ||
ага!
не ссылкой помочь не могу, все походу уже умерли(да и автор сего чуда забил на него, может конечно кто нибудь продолжит это дело), сейчас выложу на файлообменник воть ссыль на скачку: http://dump.ru/files/m/m563053772/ |
| Автор: BaD_SeCt0R 21.9.2007, 23:26 |
| Спасибо, поковыряю. |