Security Forum Usenet Archiv Mailing List Archive  
IDS Firewall Honeypot Honeynet Web Security Linux Security Microsoft Security Virus - Wurm Backdoors - Trojaner Links
I-EYE Security Exploits Security Dokumentationen Security Online Scanner Security Scanner Security Tools Trojaner Portliste Impressum

Passives Fingerprinting (Passive OS Fingerprinting)






Beschreibung
Es gibt zwei Arten um ein OS Fingerprinting durchzuführen. Die aktive Möglichkeit wird von dem wohl bekanntesten Tool NMAP durchgeführt. Der Nachteil bei dem aktiven Vorgehen ist dass Daten an das Ziel gesendet werden müssen und somit kann man mit der entsprechender Software auf dem Zielsystem ein NMAP Scann erkennen. Bei der passiven Form werden keinerlei Daten an das Ziel gesendet. Das Betriebssystem wird anhand des Datenverkehrs ermittelt den das Ziel an uns schickt weil es zum Beispiel eine Webseite ansieht oder Datei mit FTP downloadet. Aus diesem Grund eignet sich Das passive Fingerprintig besonders für IDS Systeme oder aber auch Honeynet Netzwerke.

Installation
Das Programm baut auf der Bibliothek libpcap auf. Vor de Kompilierung muss man sicherstellen dass der betreffende Packet schon installiert ist oder man macht das sofort. Da jede menge interessante Programme diese Bibliothek benötigen sollte sie auf jedem Fall gleich bei der Installation des Betriebssystem mitinstalliert werden.
Nachdem man das Packet entpackt hat muss man es nur noch Kompilieren und Installieren.
./make
./make install


Übergabeparameter
Hier ist ein Auszug von Übergabeparameter die von p0f akzeptiert.

p0f --help

Usage: p0f [ -f file ] [ -i device ] [ -s file ] [ -o file ]
    [ -w file ] [ -Q sock ] [ -u user ] [ -FXVNDUKASCMRqtpdlr ]
    [ -c size ] [ -T nn ] [ 'filter rule' ]
 -f file  - read fingerprints from file
 -i device - listen on this device
 -s file  - read packets from tcpdump snapshot
 -o file  - write to this logfile (implies -t)
 -w file  - save packets to tcpdump snapshot
 -u user  - chroot and setuid to this user
 -Q sock  - listen on local socket for queries
 -c size  - cache size for -Q and -M options
 -M    - run masquerade detection
 -T nn   - set masquerade detection threshold (1-200)
 -V    - verbose masquerade flags reporting
 -F    - use fuzzy matching (do not combine with -R)
 -N    - do not report distances and link media
 -D    - do not report OS details (just genre)
 -U    - do not display unknown signatures
 -K    - do not display known signatures (for tests)
 -S    - report signatures even for known systems
 -A    - go into SYN+ACK mode (semi-supported)
 -R    - go into RST/RST+ACK mode (semi-supported)
 -r    - resolve host names (not recommended)
 -q    - be quiet - no banner
 -p    - switch card to promiscuous mode
 -d    - daemon mode (fork into background)
 -l    - use single-line output (easier to grep)
 -x    - include full packet dump (for debugging)
 -X    - display payload string (useful in RST mode)
 -C    - run signature collision check
 -t    - add timestamps to every entry

 'Filter rule' is an optional pcap-style BPF expression (man tcpdump).

Alle diese Parameter sind optional das heißt deren Eingabe ist nicht erforderlich nur wenn man bei der Ausgabe oder dem Verhalten des Programms etwas ändern möchte, kann man einzelne oder mehrere Optionen übergeben.

Benutzung des Programms
Die Benutzung des Programms ist nicht besonders kompliziert. Um das Programm zustarten und die Ergebnisse auf den Monitor ausgeben zulassen ist das bloße eintippen der Anwendung nötig.
p0f
Um ein ganz bestimmtes Netzwerkinterface zu beobachten und deren Ergebnisse mit einem Zeitstempel in eine Datei zuspeichern ist eine folgende Eingabe erforderlich.
p0f –i eth0 –t –o /var/log/pas_finger
Um auch zusätzlich Aufgelösten Domainnamen zusehen ist die Option –r nötig.
p0f –r

Logdatei
Der Aufbau der Logdatei ist denkbar einfach.

194.67.110.45:4438 - Linux 2.4/2.6 (ECN) (up: 789 hrs)
 -> 23.13.10.1:113 (distance 14, link: ethernet/modem)
82.67.13.124:1145 - Windows XP Pro SP1, 2000 SP3
 -> 23.13.10.1:80 (distance 11, link: ethernet/modem)

Hier sehen wir zwei Beispiele. Der erste Eintrag stellt die IP Adresse und die Portnummer dar. Der nächste Eintrag zeigt uns das erkannte Betriebssystem sowie bei Linux Systemen die Zeit die seid dem Start des Systems vergangen ist. Unsere IP Adresse und Portnummer zur der die Verbindung aufgebaut wurde. In den Klammern stehet die Entfernung die ein Packet zurücklegen muss (das heißt die Anzahl der Router die es passieren muss) und wie der User in das Internet sich einwählt.