TCP/IP Sicherheit

#TCPIP #Hijacking #Buffer Overflow #Spoofing

Table of Contents

Ersteinmal eine Bestandsaufnahme mit den Möglichkeiten des Einbruchs:

  • Paßwörter erbeutet (gesnifft/gecrackt)

  • TCP-Hijacking

  • unnötige Ports

  • buffer overflow

  • Backdoors

Paßwörter

Niemals unverschlüsselte Paßwörter übertragen! NIE telnet oder r-tools sondern secure shell oder Pendant benutzen. Nicht glauben das Angriffe nur von "draußen" kommen! Die Meisten kommen aus dem LAN! Deshalb auch intern schützen!

Sich selbst und Mitarbeiter gegen Social Engineering absichern (aufklären daß der Admin nicht irgendwen anruft und dessen Paßwort haben will!)

Keine Klebezettel mit Paßwörter an den Monitor hängen und zufällige Zahlen/Buchstaben/Sonderzeichen wählen und regelmäßig ändern. Mit tools (john the ripper, l0phtcrack o.ä.) eigene paßwörter checken und einfache Paßwörter rigoros entfernen lassen!

Einige Dienste wie IMAP oder POP3 übertragen periodisch Paßwörter! (sniffergefahr)

Paßwörter nicht speichern!

Physikalische Absicherungen treffen! (Stahltür, Gitter,Schlösser …​)

ein Rrechner der von Diskette gebootet werden kann (z.B. Desktop irgendeines Sachbearbeiters) kann mit µLinux gebootet und das Paßwort in /etc/passwd gelöscht werden - im Bios den Bootprozess auf Festplatte eingrenzen und per Passwort schützen. Sniffer können Passwörter mitschneiden und wenn diese in der Hand des Einbrechers sind könne auch verschlüsselte Passwörter gecrackt werden. Deshalb kann man mit ifconfig, dem Netzkonfigurationsutility von Unix/Linux eine Netzkarte auffinden die im promiscous mode ist, d.h. alle Netpakete mitliest - also snifft. Einfach ifconfig aufrufen und wenn in der Ausgabe eine Zeile auftaucht die "UP BROADCAST RUNNING PROMISC MULTICAST" enthält snifft das entsprechende Device gerade fröhlich vor sich hin. Ebenso zeigt das Tool ifstatus den Mode der Netzkarte an. Da diese Tools aber nur auf dem Localhost laufen, gibt es mit neped noch ein Mittel um Subnetze zu scannen.

TCP-Hijacking

Übernahme einer Verbindung (Spoofing)

Eine Eigenheit des TCP/IP Protokolls ist, das jedes Netzinterface die übertragenen Daten mitlesen kann, dies aber nicht ohne weiteres tut. Wenn man die Netzkarte allerdings in den sog. promiscous-mode bringt kann jedes Paket in seiner "rohen" Form sniffen, muß es dann allerdings umwandeln, was sonst der TCP-Stack übernimmt. Sollte dies machbar sein benötigt man jetzt nur noch eine passende ACK und man kann die Verbindung übernehmen. Dies ist relativ schwer, kann aber inzwischen auch von dummen Skript-Kiddies mittels Juggernaut realisiert werden.

Wenn man allerdings die Netzverbindung lieber killen will, muß man nur einige Pakete in den Dataflow bringen, was nun zum sogenannte ACK-Storm führt. Der Server erhält ein Paket mit einer falschen ACK (Nummer der Paketreihenfolge) und fordert nun beim Client das Paket erneut an. Der Client hingegen weiß von nichts und sendet die eigentlich richtige ACK-Bestätigung, welche der Server aber nun nicht mehr akzeptiert und erneut ACK anfordert. Was wieder nicht klappt und in einer Endlosschleife endet, bis die max. Netzkapazität erreicht ist und Pakete in den ewigen Äther eingehen. Sollten also unerklärliche Beschwerden über Netzzusammenbrüche eingehen sollte man per Sniffer mal den Nettraffic auf ACK-Pakete hin überprüfen.

Ports

Unnötige Dienste abschalten! Oft werden sie vergessen und nicht gepflegt, d.h. sie veralten und bieten ein gutes Angriffsziel!. Unter Solaris ist sehr oft chargen an Port 19 auf, was eine leichte Backdoor ist. Wenn man einen Port findet der offen ist, aber nicht weiß was da für ein Programm darauf lauscht, kann man mit netstat -f inet alle offenen Ports mit Programm anzeigen lassen. Keine bekannt unsicheren Dienste nutzen wie z.B. telnet, r-tools, lieber ssh verwenden Ebenso gefährlich ist das Simple Network Management Protocol (SNMP), welches Routing- und Interfaceinformationen sowie Infos über Typ und Patchlevel des Betriebssystems. Da SNMP über den UDP Layer von TCP/IP läuft, erfassen viele Standardscanner im normalen Durchlauf nicht.

Buffer Overflow

Häufiger Fehler, in dem ein zu kleiner Speicherpuffer initiiert wird. Bsp:

void foo(char *s)
{
 char bar[100]; strcpy (bar,s);
}

In eigenen Proxy vermeiden, lieber eine Routine die die benötigte Größe vermißt und bereitstellt (Zählschleife o.ä.) Bekannte Fehler: Navigator, Internet Exploiter, Outlook, sendmail, MSExchange…​

Backdoors

Oft in alter und auch neuer Hardware (cisco, 3com, ibm) hinterlegte Paßwörter/Accounts der Hersteller. Auch in Form von Trojanern (AOHell, Back Orifice …​) Open Source einsetzen! Beispiele:

3Com switch

User: debug;

Passwort: synnet

Ändern!!!

Compaq Netelligent

Superuser ist Default-Passwort

Ändern!!!

American Megatrends BIOS

AMI; AMI_SW

nicht änderbar!

Award Bios

589589; Award; J262; AWARD und andere

nicht änderbar!