Facharbeit: Viren

Hi. Ich schreibe eine Facharbeit über Computer-Viren in Informatik.
Ein Teil der Facharbeit ist die Praxis. Dafür soll ich selber einen Kleinen Virus (Trojaner/Wurm, wobei ich denke das Trojaner einfacher ist) Schreiben.
Ich kann C++. Nicht perfekt aber Grundlangen, welche ich gerade vertiefe (mit verscheidenen Büchern). Ich wollte zuerst mit dem Teil Virus Schreiben beginnen, um damit schon einen Einblick in den AUfbau und die Funktionsweise des Virus erhalte. Mein Problem ist aber, das ich nicht weis wie er afgebaut sein muss.

Ich wollte fragen, ob jemand einen Sourcecode eines Windows-Virus in C++ besitzt. Am besten wären Mehrere. Komplizierte und weniger Komplizierte...Ich brauche diese um mich ein wenig in den Aufbau und die Funktion eines Virusses einzilesen, um das Wissen dann beim Schrieben eines eigenen Virus zu verwenden.

Hoffe ihr könnt mir helfen ^^ Schien mir das Richtige Forum für Fragen dieser Art ;)

PS: Da es einfacher ist einen Trojaner zu schreiben wäre es schön, hauptsächlich Sourcecodes zu Trojanern zu erhalten :wink:, Würmer in der Facharbeit zwar wahrscheinlich nicht brauchen, aber ich finde das ganze Thema sehr interesant und würde deshalb gern auch etwas zu Würmern erfahren :)

PPS: Hoffe das ist nicht zu viel verlangt ^^
 
Da ich nicht weiß wie es sich mit den Boardregeln verträgt hier Sourcecodes (v.a. Skripte) von Viren zu posten, empfehl ich dir mal nach "ILOVEYOU" oder "LOVELETTER" zu googlen. Von diesem verheerendem Skriptvirus gibts irgendwo den Code im Netz. Ist zwar schon älter, aber dennoch sehenswert.

Zu Trojanern kannst du ja mal nach (Kiddie-)RAT-Tools wie DarkComet googlen. Das müsste grundlegende Aspekte zum Trojanerbau abdecken.

EDIT: Beim LOVELETTER handelt es sich natürlich um einen Wurm ;)
 
Hm ja das ist richtig... Sourcecodes von Trojanern im WWW kenne ich aber leider keine.
Ich würde dir sowieso noch raten dich mal an einen Fachmann zu wenden, von dem du professionelle Informationen erhälst, da Quellen wie "hackerboard.de" o.ä. in solchen Arbeiten nicht gerne gesehen sind.
 
Auf VX Heavens findest du eine recht umfangreiche Virensamlung. Die sind zwar alle recht alt, aber dafür findet man von fast jedem Typus etwas. Außerdem haben die sehr gute Artikel über Malware allgemein.

An die Mods: Laut Forenregeln sollte der Link dahin eigentlich ok sein (denke ich), wenn nicht, so frönt bitte der Zensur :)
 
Warte... Du willst einen Trojaner schreiben und willst dafür Sourcecodes haben, damit du sie ala Guttenberg zusammen copy&pasten kannst...

Ich mag vllt etwas konservativ sein, aber die Worte "selbst programmieren" bedeuten für mich, dass ich den Programmcode selbst schreibe und nicht aus allen möglichen Quellen zusammen klaue.

PS: Wenn du weder fundierte Programmierkenntnisse, noch welche über das Zielbetriebssystem hast, kannst du dich auch von der Vorstellung verabschieden etwas sinnvolles zu produzieren

@fabuloes: Doch sind sie. Gute und NEUE Ideen sind hier immer gerne gesehen. Nur kein Sourcecodes/Bins mit denen jeder 12-Jährige, der damit prahlt schon einmal Windows allein installiert zu haben, Schaden anrichten kann. Dafür eignen sich tatsächlich besser Fachmänner, die man in anderen Fachkreisen Kiddies nennt.
 
Warte... Du willst einen Trojaner schreiben und willst dafür Sourcecodes haben, damit du sie ala Guttenberg zusammen copy&pasten kannst...
Na, ob man einen Virus/Trojaner per Copy&Paste zum laufen kriegt wage ich mal zu bezweifeln. Zudem wäre auch bei copypasta eine Beschäftigung mit der Thematik gegeben, sodass man gar nicht um einen gewissen Lerneffekt herumkommt.
 
Warte... Du willst einen Trojaner schreiben und willst dafür Sourcecodes haben, damit du sie ala Guttenberg zusammen copy&pasten kannst...

Ich mag vllt etwas konservativ sein, aber die Worte "selbst programmieren" bedeuten für mich, dass ich den Programmcode selbst schreibe und nicht aus allen möglichen Quellen zusammen klaue.

Nein, kein Copy & Paste. Ich möchte nur die Strucktur eines Trojaners verstehen. Wie Er Aufgebaut ist, wie er Funktioniert um dann etwas ähnliches SELBER zu schreiben. Das Problem ist das ich ohne zu Wissen, wie ein Virus aufgebaut istt, wie er zb. Zugriff auf die Console oder die Webcam/das Microfon erlangt oder wie er den Keylogger am Sicherheitssysthem vorbeischleust.
Da ich normalerweise andere Anwendungen Programmiere, Hab ich wenig Ahnung davon ^^
 
Da ich normalerweise andere Anwendungen Programmiere, Hab ich wenig Ahnung davon ^^

Trojaner sind ja durchaus als "normale" Anwendung getarnt, wenn man das geschickt anstellt und vielleicht auch tatsächlich eine sinnvolle Anwendung baut, die sich nicht durch Performanzeinbußen bemerkbar macht, aber im Hintergrund vielleicht trotzdem irgendwelche Daten sammelt (Dateien wären da wohl das einfachste, aber Mikro, Kamera und so weiter kann man sich ja auch vorstellen).

Ich würde mich auf das beschränken was ich kann und von dem Rest erstmal nur die Theorie einbringen und (in theoretischer Form) erklären, wo du an deinem Programm noch Verbesserungsbedarf siehst und ggf. auch wie man das umsetzen könnte.
 
Zuletzt bearbeitet:
Na, ob man einen Virus/Trojaner per Copy&Paste zum laufen kriegt wage ich mal zu bezweifeln. Zudem wäre auch bei copypasta eine Beschäftigung mit der Thematik gegeben, sodass man gar nicht um einen gewissen Lerneffekt herumkommt.

ich denke nicht das man die Aussage so einfach stehen lassen kann.
Frei nach dem Motto "keine Ahnung warum, aber es funktioniert ja"

@Themenstarter:
Um Übertragungen durch das Netz zu senden via UDP/TCP-IP sollte man schon den Unterschied kennen. Der Aufbau einer Verbindung zueinander wäre vielleicht auch von interesse. Ich glaube auch nicht das einfache Grundlagen in C++ für einen "Trojaner" ausreichen.

Einen Trojaner zu coden stellt, mit entsprechender Kenntniss, eigentlich keine Herausforderung dar.
Du hast einen Client und einen Server, welche auf irgendeine Art und Weise miteinander kommunizieren. Die Schwierigkeit ist hierbei nur das ganze unbemerkt vor dem Auge des Nutzers, sowie der AV's, zu verstecken. Noch dazu denke ich das du Wege aufzeigen musst, wie das Teil auf Deinem Rechner kommt. Sei es durch eine Lück im Browser, oder ähnlichem. Wenn Du dass erreicht hast, langt es doch einfach aus bei dem Übernommen Rechner eine txt Datei abzulegen. Die WebCam jetzt noch zu kapern, oder den Sreen zu holen sollte jetzt das kleinste Problem sein.
 
Ich glaube auch nicht das einfache Grundlagen in C++ für einen "Trojaner" ausreichen.

Es kommt darauf an was der Trojaner machen soll. Soll er vor AVs versteckt werden, ist es natürlich nicht leicht. Soll er automatisch und versteckt auf den PC heruntergeladen werden ist es auch nicht leicht. Aber nimmt man die einfachste Art eines Trojaners, die eigentlich nur darin besteht, ein (sinnvolles) Programm zu entwickeln und darin dann Schadcode auszuführen, dann (ungeachtet irgendwelcher AVs und ggf. Firewalls) dann ist die Aufgabe auch für jemanden, der erst die Grundlagen seiner Programmiersprache kennt machbar.

Du hast einen Client und einen Server, welche auf irgendeine Art und Weise miteinander kommunizieren. Die Schwierigkeit ist hierbei nur das ganze unbemerkt vor dem Auge des Nutzers, sowie der AV's, zu verstecken. Noch dazu denke ich das du Wege aufzeigen musst, wie das Teil auf Deinem Rechner kommt. Sei es durch eine Lück im Browser, oder ähnlichem. Wenn Du dass erreicht hast, langt es doch einfach aus bei dem Übernommen Rechner eine txt Datei abzulegen. Die WebCam jetzt noch zu kapern, oder den Sreen zu holen sollte jetzt das kleinste Problem sein.

Das was du beschreibst trifft imho eher auf Rootkits, Backdoors und/oder Spyware zu. Wenn man so etwas programmieren will sollte man nicht erst die Grundlagen beherrschen, da stimme ich dir voll und ganz zu.
 
Also, dann beschreibe doch mal ganz genau was Dein "Trojaner" können solte. Denn wenn es nur darum geht ein Programm zu entwickeln, was nur Schadcode ausführen soll, langt doch ein vb.script alla Windows Alert("ich bin ein Schadcode") ???

Versteh dann nicht so ganz wo Du hin möchtest !

Trojanisches Pferd (Computerprogramm)

Oder nur sowas ?
 
Es ist ja nicht mein Trojaner. Außerdem habe ich oben schon beschrieben was man als Schadcode beispielsweise nehmen könnte. Es könnte auch einfach Schadcode derart sein, dass das Programm alle z.B. alle .mp3 Dateien sucht und löscht. Das ist ja auch Schadcode, auch wenn die Folgen für den einen oder anderen keinen wirklichen Schaden bedeuten.

In dem von dir verlinkten WP-Artikel steht doch schon, was ein Trojaner generell ist.

Als Trojanisches Pferd (englisch Trojan Horse), auch kurz im EDV-Jargon Trojaner genannt, bezeichnet man ein Computerprogramm, das als nützliche Anwendung getarnt ist, im Hintergrund aber ohne Wissen des Anwenders eine andere Funktion erfüllt.
Ein Trojanisches Pferd zählt zur Familie unerwünschter bzw. schädlicher Programme, der so genannten Malware. Es wird umgangssprachlich häufig mit Computerviren synonym verwendet, sowie als Oberbegriff für Backdoors und Rootkits gebraucht, ist davon aber klar abzugrenzen.
Habe den entsprechenden Nebensatz mal fett gedruckt.

Da steht ja schon, was ein Trojaner ist. Es erfüllt im Hintergrund ohne Wissen des Anwenders eine andere Funktion - das hat erstmal gar nichts mit Netzwerkübertragungen und Fremdzugriffen zu tun.
 
Habe den entsprechenden Nebensatz mal fett gedruckt.

Da steht ja schon, was ein Trojaner ist. Es erfüllt im Hintergrund ohne Wissen des Anwenders eine andere Funktion - das hat erstmal gar nichts mit Netzwerkübertragungen und Fremdzugriffen zu tun.

Wie willst du aber die Funktionen kontrollieren und die gesammelten Daten abholen? Spätestens da brauchst du eine Kommunikation. In Form eines Server-Client-Verfahren ist wohl die Bequemste für die Bedienung, desweiteren kommt auch der Punkt irgendwann mal wo du sagen musst das er Trojaner aufhören soll zu arbeiten und du ihn entfernen willst.

Ich würde die sache mit den Netzwerkübertragung also nicht soweit weglegen.

Wenn du dich sehr eng an der Definition die du gepostet hast, hälst könnte ein versteckter Keylogger in einen Browserplugin auch als Trojaner durchgehen , wird aber im eigentlichen Sinne in der Praxis nicht als Trojaner gesehen sondern als Keylogger ;)

Du solltest dir Gedanken machen was du wirklich in deiner Facharbeit darlegen willst und dann kannst du bei uns nochmals gezielt nachfragen.
Ein paar Grundgedanken sollten sein:
-Welches OS?
-Welche Sprache? Was kann ich davon? Was muss ich noch lernen?
-Denke ich mir ein komplett neues Szenario aus oder verwende ich "Standardszenarien"


Zu der Sache mit Copy&Paste, sehe ich ähnlich xrayn. Wenn du nicht weiterkommst schau auf den Quellcode wie ist es dort geregelt wurden und baue es ein. Ich meine damit nicht kopier es rein, sondern die Funktionsweise nachbauen. Klar du kannst dir auch alles Zusammenkopieren und dann beim Compilen den Modus "Vertrau mir einfach Compiler das klappt schon" Aktivieren aber ob das Sinn und Zweck der Sache ist steht auf einen anderen Blatt...
 
Wenn du dich sehr eng an der Definition die du gepostet hast, hälst könnte ein versteckter Keylogger in einen Browserplugin auch als Trojaner durchgehen , wird aber im eigentlichen Sinne in der Praxis nicht als Trojaner gesehen sondern als Keylogger ;)

Da es sich um eine Facharbeit handelt halte ich mich an die beste mir bekannte Definition, und das ist die, die ich oben gepostet habe. Intuitiv würde ich natürlich auch immer eher dazu tendieren, zu behaupten, dass ein Trojaner von einem Angreifer bedient wird oder für einen Angreifer etwas sammelt. Aber das ist offenbar ja nicht zwingend notwendig.
 
also schreib den doch so, dass er im hintergrund .exe dateien in archiven ersetzt, dass wär mit ner .zip library schon getan, ne .exe wird durch umbenennen und zurückbenennen infiziert, sowas in der art. Ist ja nur für Demo-zwecke.
 
Zurück
Oben