MAC-Adresse ändern
Die MAC-Adresse (Media Access Control Adresse) dient zur eindeutigen Identifizierung eines Gerätes im Netzwerk. Die ersten 24 Bits dienen dabei zur Herstellerkennung (Organizationally Unique Identifier), die anderen 24 Bit werden individuell durch den Hersteller vergeben.
Unter Linux kann man die MAC-Adresse mittels ifconfig ändern:
Ausganssituation:
eth0 Link encap:Ethernet Hardware Adresse 05:13:47:ef:25:16
I. Netzwerkinterface ausschalten / deaktivieren
II. MAC-Adresse definieren
III. Netzwerkinterface einschalten / aktivieren
Ergebnis überprüfen:
eth0 Link encap:Ethernet Hardware Adresse 00:11:22:aa:bb:cc
phpSysInfo – Serverinformationen im Überblick
Mit phpSysInfo kann man sich verschiedene Informationen über den eigenen Server anzeigen lassen.
Bei Debian kann phpSysInfo über den Paketmanager installiert werden:
Nach der Installation ist die Übersicht standardmäßig über: http://<Server IP>/phpsysinfo erreichbar.
Konfigurationsdatei: /etc/phpsysinfo/config.php
Programmpfad: /var/www/phpsysinfo
Bei google findet man einige Beispiele für öffentlich zugängliche phpSysInfo Seiten. Gerade öffentliche Server sollten mittels .htaccess etc. diese Informationen schützen. Je mehr ein Angreifer über den Server weiß, desto leichter wird es einen passenden Exploit zu finden.

phpSysInfo Sample
phpSysInfo Homepage: http://phpsysinfo.sourceforge.net/
Öffentliche IP-Adresse auf der Konsole herausfinden
Wer seine öffentliche IP-Adresse auf der Konsole herausfinden will, kann das ganz einfach mit lynx machen.
Wenn man lynx mit -dump aufruft, gibt er nur die erste Zeile der besuchten Webseite aus.
Ich habe dazu ein kleines PHP Script auf ip.root-on-fire.com hinterlegt.
91.128.xxx.xxx - powered by ROOT-ON-FIRE.COM
Alternativ kann man auch checkip.dyndns.org verwenden.
ARPwatch – Netzwerk Anomalien schnell und einfach erkennen
Um fremde Rechner oder ARP-Spoofing Angriffe im eigenen Netzwerk rechtzeitig zu erkennen bietet sich ARPwatch an.
Das Tool wertet den gesammten Broadcast-Verkehr aus und schreibt alle MAC und die dazu gehörigen IP-Adressen
in eine Textdatei. Wenn ein neues System oder eine neue MAC-IP Paarung entdeckt wird, löst ARPwatch einen
Alarm aus und protokolliert die Änderung im Syslog. Angreifer können über eine manipulierte MAC Adresse einen Man-in-the-middle-Angriff inszenieren und z.B. den gesammten HTTP Traffic abhören und manipulieren.
I. Installation
Arpwatch 2.1a13-2.1 kann bei Debian einfach über den Paketmanager installiert werden.
libpcap0.8 wird automatisch mitinstalliert.
II. Pfade und Dateien
/etc/arpwatch.conf -> erlaubt unter Debian eine individuelle Konfiguration für verschiedene Netzwerk-Interfaces
/var/default/arpwatch -> setzt "default" Einstellungen für alle Netzwerk-Interfaces
/var/lib/arpwatch/arp.dat -> MAC- / IP-Datenbank
/usr/share/arpwatch/ethercodes.dat -> Liste mit Herstellerkennungen
III. Report Arten
-new acitvity: MAC-IP Konstellation zum ersten Mal seit 6 Monaten benutzt
-new station: MAC-Adresse zum ersten Mal aufgetaucht
-flip flop: MAC-Adresse hat sich zu einer bereits vorher verwendeten MAC geändert: ARP-SPOOFING
-changed ethernet address: Host hat neue MAC-Adresse
IV. Syslog Meldungen
ethernet broadcast: MAC-Adresse ist eine Broadcast-Adresse oder die IP- o. MAC-Adresse besteht nur aus 1er oder 0er
ip broadcast: IP-Adresse von einem Host ist eine Broadcast-Adresse
bogon: Host-IP ist nicht im lokalen Subnet
ethernet mismatch: Die Quell MAC- / IP-Adresse passt nicht zur Adresse im ARP-Paket
reused old ethernet address: gleich selbe wie "flip flop", siehe oben
suppressed DECnet flip flop: FlipFlop-Nachricht wurde zurückgehalten weil IP oder MAC eine DECnet-Adresse ist
V. Parameter
arpwatch kann mit folgenden Parametern aufgerufen werden:
-a = bogons werden aus allen IP-Netzen reported sonst nur aus dem Netz, in dem das Listening-Interface ist
-d = debugging Modus, kein Eintrag in arp.dat und kein E-Mail Versand, Events gehen an stderr
-f = Outputfile definieren (Standard: /var/lib/arpwatch/arp.dat)
-i = Listening-Netzwerk Interface definieren (Standard: eth0)
-m = definiert die E-Mail Adresse für die Benachrichtigungen (Standard: root auf lokaler Maschine)
-n = Netzwerk definieren (Standard: Netmask von Listening-Interface)
-N = keine Bogons werden reported
-p = Deaktiviert den promiscuous mode für das entsprechende LAN-Interface
-Q = keine Reports per mail
-r = Inputfile definieren, Netzwerk wird von arpwatch nicht mehr aktiv gescannt (z.B. von Tcpdump)
-R = wenn das LAN-Interface down ist, startet arpwatch nach x Sekunden neu
-s = Pfad zum sendmail Programm, hier kann auch ein eigenes Script gestartet werden z.B. passiver Nagios-Check
-u = definiert den User, unter dem arpwatch läuft, muss Schreibrechte auf das .dat Verzeichnis haben
-z = Ignoriert bestimmten IP-Adressen-Bereich z.B. DHCP, Gäste-Netz
VI. Auswertung
Manchmal ist eine Benachrichtigung aus den verschiedensten Gründen nicht möglich, dann kann man die Logfileauswertung z.B. mit dem Plugin check_logfiles in eine Nagios Monitoring Umgebung einbauen.
VII. Praktische Beispiele:
Beim ersten Start macht es Sinn ARPwatch je nach Netzwerkgröße einige Zeit im debugging Modus laufen zu lassen.
Hierbei kann man live am Bildschirm mitverfolgen, was ARPwatch gerade macht und wird nicht mit zahlreichen E-Mails zugeschütet.
Nur ein bestimmtes Netz überwachen:
VIII. Beispiel Mail:
To: root@r-o-f
Subject: new station eth0
Message-Id: <E1N3taN-0000ar-02@r-o-f>
Date: Fri, 30 Oct 2009 16:40:19 +0100
hostname: <unknown>
ip address: 192.168.0.119
interface: eth0
ethernet address: 8:0:27:d6:48:33
ethernet vendor: Cadmus Computer Systems [PCS Computer Systems GmbH]
timestamp: Friday, October 30, 2009 16:40:18 +0100
NMAP 5.00 – Installation
Hier wird beschrieben, wie man Nmap 5.00 aus den Quellen installiert.
Im aktuellen Debian Lenny stable Repository gibt es nur die Version 4.62-1.
Folgende Pakete müssen auf einem frisch installierten Debian Lenny noch über aptitude nachinstalliert werden:
- bzip2
- g++
- make
1. Nmap Projekt Key importieren:
r-o-f:~# gpg --import nmap_gpgkeys.txt
gpg: Schlüssel 6B9355D0: Öffentlicher Schlüssel "Nmap Project Signing Key (http://www.insecure.org/)" importiert
gpg: Schlüssel 33599B5F: Öffentlicher Schlüssel "Fyodor <fyodor@insecure.org>" importiert
gpg: Anzahl insgesamt bearbeiteter Schlüssel: 2
gpg: importiert: 2
gpg: keine uneingeschränkt vertrauenswürdige Schlüssel gefunden
2. Files downloaden und validieren:
wget http://nmap.org/dist/sigs/nmap-5.00.tar.bz2.asc
....
r-o-f:~# gpg --verify nmap-5.00.tar.bz2.asc nmap-5.00.tar.bz2
gpg: Unterschrift vom Do 16 Jul 2009 09:28:03 CEST mittels DSA-Schlüssel ID 6B9355D0
gpg: Korrekte Unterschrift von "Nmap Project Signing Key (http://www.insecure.org/)"
Haupt-Fingerabdruck = 436D 66AB 9A79 8425 FDA0 E3F8 01AF 9F03 6B93 55D0
Man kann sich auch die nmap-5.00.tar.bz2.digest.txt runterladen und die Hash Werte vergleichen.
3. entpacken - configure - make - install
r-o-f:~# cd ./nmap-5.00
r-o-f:~/nmap-5.00# ./configure
r-o-f:~/nmap-5.00# make
r-o-f:~/nmap-5.00# make install
....
NMAP SUCCESSFULLY INSTALLED
4. Nmap ausführen:
Nmap version 5.00 ( http://nmap.org )
Nmap Homepage: nmap.org / insecure.org
Nmap Signaturen: http://nmap.org/dist/sigs/?C=M&O=D
