Die Wahrheit über Ports

Dieses Thema im Forum "Sicherheit & Datenschutz" wurde erstellt von safecrypt, 24. Februar 2005 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 24. Februar 2005
    Was ist ein port -> sag ich nicht
    nee aber:

    Aussagen wie "hol dir nen portscanner und schau obs offene Ports gibt"
    und "hacker können über nen offnene Port in dein System eindringen"
    sind einfach nicht korrekt. bzw. eher gesagt inhaltslos.

    Ich habe mir die Frage damals auch gestellt...
    Ja was macht man denn dann mit diesen Ports?
    Wie kommt man da rein?

    Es sieht (meiner Meinung nach) wie folgt aus:

    Was mache ich wenn ich eine offenen Port gefunden habe?
    Ich informiere mich was für ein Port es ist z.B:
    Port 21->FTP
    Also versuche ich mal ob ich die IP:21 im ftp-client öffnen kann.
    Wenn dann auch der anonymous-login deaktiviert sein mag - sobald ich eine zugang verweigert meldung bekomme oder einen ordner sehe weiß ich "aha" da ist ein ftp-server hinter dem port.
    vorher kann man dies anhand des offnen ports nur vermuten - jedoch nicht sicher wissen denn man kann den server auch z.B. auf port 2352 laufen lassen.
    Wenn der Server doof ist sagt er einem welche Version/Software er ist und man kann sich nen exploit dafür suchen..

    Jetzt denkt ihr
    "Toll und was amche ich wenn da kein FTP-Server ist?"

    Nun das kann dann nur auf vermutungen basieren.
    Wenn ihr z.B. Port 1020 offfen vorfindet lönntet ihr anhand von listen oder eurem eigenen pc vermuten dass es der dns-client ist und nach exploits dafür suchen.

    Das ist natürlich die vorgehensweise eines sogenannten script-kiddies.
    Wenn ihr 1337 Uberhacker seid sucht ihr natprlich selbst ne sicherheitslücke und schreibt nen exploit.

    Das ist die Frage wo ich momentan stehe @CIA,FBI,NSA&NGA

    Wer mir also sagt wie ich eine sicherheitslücke in closed-source software finden kann der medel sich doch bitte!
     
  2. 24. Februar 2005
    Beim Binary Auditing gibt es mehrere Möglichkeiten:

    1] Die große Unbekannte - Zufall:

    Man arbeitet normal mit einem Programm, verschreibt sich oder das Programm stürzt aus irgendwelchen gründen ab.
    Man nimmt einen Debugger und versucht die Situation erneut zu reproduzieren.
    Falls die mäglich ist - schauen woran es alg und ein passendes Exploit schreiben (falls der Bug ausnuttbar ist)

    2] Fuzzing:

    Man schreibt ein Programm das an das zu untersuchende Programm Zufallszeichenketten übergibt (zu lang, sonderzeiche usw.) .
    (in Environment-Variablen, Argumente, die beim Start übergeben werden und in alle Felder, die vom Benutzer verändert werden kännen.
    (nicht zu vergessen dass die Zeichenkette auch Format-String-Bugs typische zeichen enthalten muss wie %n)
    Und wartet bis das Programm einen Fehler verursacht.
    => Führt öffter zum Erfolg als man glaubt.

    3] Diassembeln:

    Mit hilfe des Asslembler-Codes den Aufbau des Programms rekonstruieren wie z.B.:
    Aufbau von
    [+]Stack Frames
    [+]Switches
    [+]Calling Conventions
    [+]Loops die möglichen Speicher reservieren
    [+]Pointer
    [+]Variabeln (wo werden sie gespeichert (stack /heap) feste Größe? Überprüfung? Vom Benutzer veränderbar? Zahlen (Überprüfung auf Gültigkeitsbereich)
    [+]Mögliche anfällige Funktionen wie: memcpy / printf/ strlen..
    usw...

    Und auf diese Art nach möglichen Schwachstellen suchen.
     
  3. 25. Februar 2005
    meeeeeein gott wer hätte des gedacht?
     
  4. 25. Februar 2005
    danke safecrypt reicht auch....
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.