Ethisches Hacken - Fingerabdruck
Der Begriff Betriebssystem-Fingerabdruck in Ethical Hacking bezieht sich auf jede Methode, mit der ermittelt wird, welches Betriebssystem auf einem Remotecomputer ausgeführt wird. Dies könnte sein -
Active Fingerprinting- Ein aktiver Fingerabdruck wird erreicht, indem speziell gestaltete Pakete an einen Zielcomputer gesendet und anschließend dessen Antwort notiert und die gesammelten Informationen analysiert werden, um das Zielbetriebssystem zu bestimmen. Im folgenden Abschnitt haben wir ein Beispiel gegeben, um zu erläutern, wie Sie mit dem NMAP-Tool das Betriebssystem einer Zieldomäne erkennen können.
Passive Fingerprinting- Passiver Fingerabdruck basiert auf Sniffer-Spuren vom Remote-System. Anhand der Sniffer-Traces (z. B. Wireshark) der Pakete können Sie das Betriebssystem des Remote-Hosts bestimmen.
Wir haben die folgenden vier wichtigen Elemente, die wir betrachten werden, um das Betriebssystem zu bestimmen:
TTL - Was das Betriebssystem einstellt Time-To-Live auf dem ausgehenden Paket.
Window Size - Wie das Betriebssystem die Fenstergröße einstellt.
DF - Stellt das Betriebssystem die Don't Fragment bisschen.
TOS - Stellt das Betriebssystem die Type of Serviceund wenn ja, an was.
Durch die Analyse dieser Faktoren eines Pakets können Sie möglicherweise das Remote-Betriebssystem ermitteln. Dieses System ist nicht 100% genau und funktioniert für einige Betriebssysteme besser als für andere.
Grundlagen
Bevor Sie ein System angreifen, müssen Sie wissen, auf welchem Betriebssystem eine Website gehostet wird. Sobald ein Zielbetriebssystem bekannt ist, kann leicht festgestellt werden, welche Schwachstellen vorhanden sein könnten, um das Zielsystem auszunutzen.
Unten ist eine einfache nmap Befehl, der verwendet werden kann, um das Betriebssystem zu identifizieren, das eine Website bedient, und alle geöffneten Ports, die dem Domänennamen zugeordnet sind, dh die IP-Adresse.
$nmap -O -v tutorialspoint.com
Es werden Ihnen die folgenden vertraulichen Informationen über den angegebenen Domainnamen oder die angegebene IP-Adresse angezeigt:
Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 09:57 CDT
Initiating Parallel DNS resolution of 1 host. at 09:57
Completed Parallel DNS resolution of 1 host. at 09:57, 0.00s elapsed
Initiating SYN Stealth Scan at 09:57
Scanning tutorialspoint.com (66.135.33.172) [1000 ports]
Discovered open port 22/tcp on 66.135.33.172
Discovered open port 3306/tcp on 66.135.33.172
Discovered open port 80/tcp on 66.135.33.172
Discovered open port 443/tcp on 66.135.33.172
Completed SYN Stealth Scan at 09:57, 0.04s elapsed (1000 total ports)
Initiating OS detection (try #1) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #2) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #3) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #4) against tutorialspoint.com (66.135.33.172)
Retrying OS detection (try #5) against tutorialspoint.com (66.135.33.172)
Nmap scan report for tutorialspoint.com (66.135.33.172)
Host is up (0.000038s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
TCP/IP fingerprint:
OS:SCAN(V=5.51%D=10/4%OT=22%CT=1%CU=40379%PV=N%DS=0%DC=L%G=Y%TM=56113E6D%P=
OS:x86_64-redhat-linux-gnu)SEQ(SP=106%GCD=1%ISR=109%TI=Z%CI=Z%II=I%TS=A)OPS
OS:(O1=MFFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFF
OS:D7ST11NW7%O6=MFFD7ST11)WIN(W1=FFCB%W2=FFCB%W3=FFCB%W4=FFCB%W5=FFCB%W6=FF
OS:CB)ECN(R=Y%DF=Y%T=40%W=FFD7%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A
OS:=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%
OS:Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=
OS:A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=
OS:Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%
OS:T=40%CD=S)
Wenn du nicht hast nmap Befehl auf Ihrem Linux-System installiert, dann können Sie ihn wie folgt installieren yum Befehl -
$yum install nmap
Du kannst durchgehen nmap Befehl im Detail, um die verschiedenen Funktionen eines Systems zu überprüfen und zu verstehen und es vor böswilligen Angriffen zu schützen.
Schnelle Lösung
Sie können Ihr Hauptsystem hinter einem sicheren Proxyserver oder einem VPN verstecken, damit Ihre vollständige Identität sicher ist und Ihr Hauptsystem letztendlich sicher bleibt.
Port-Scannen
Wir haben gerade Informationen von gesehen nmapBefehl. Dieser Befehl listet alle offenen Ports auf einem bestimmten Server auf.
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
Mit dem folgenden Befehl können Sie auch überprüfen, ob ein bestimmter Port geöffnet ist oder nicht.
$nmap -sT -p 443 tutorialspoint.com
Es wird das folgende Ergebnis erzeugt -
Starting Nmap 5.51 ( http://nmap.org ) at 2015-10-04 10:19 CDT
Nmap scan report for tutorialspoint.com (66.135.33.172)
Host is up (0.000067s latency).
PORT STATE SERVICE
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
Sobald ein Hacker über offene Ports Bescheid weiß, kann er über die offenen Ports verschiedene Angriffstechniken planen.
Schnelle Lösung
Es wird immer empfohlen, alle unerwünschten Ports zu überprüfen und zu schließen, um das System vor böswilligen Angriffen zu schützen.
Ping Sweep
Ein Ping-Sweep ist eine Netzwerk-Scan-Technik, mit der Sie bestimmen können, welche IP-Adresse aus einem Bereich von IP-Adressen Live-Hosts zugeordnet ist. Ping Sweep ist auch bekannt alsICMP sweep.
Sie können verwenden fpingBefehl zum Ping-Sweep. Dieser Befehl ist ein ping-ähnliches Programm, das die ICMP-Echoanforderung (Internet Control Message Protocol) verwendet, um festzustellen, ob ein Host aktiv ist.
fping unterscheidet sich von pingSie können eine beliebige Anzahl von Hosts in der Befehlszeile angeben oder eine Datei mit den Listen der zu pingenden Hosts angeben. Wenn ein Host nicht innerhalb eines bestimmten Zeitlimits und / oder Wiederholungslimits antwortet, wird dies als nicht erreichbar angesehen.
Schnelle Lösung
Um Ping-Sweeps in einem Netzwerk zu deaktivieren, können Sie ICMP-ECHO-Anforderungen von externen Quellen blockieren. Dies kann mit dem folgenden Befehl erfolgen, mit dem eine Firewall-Regel erstellt wirdiptable.
$iptables -A OUTPUT -p icmp --icmp-type echo-request -j DROP
DNS-Aufzählung
Domain Name Server (DNS) ist wie eine Karte oder ein Adressbuch. Tatsächlich ist es wie eine verteilte Datenbank, mit der eine IP-Adresse 192.111.1.120 in einen Namen www.example.com übersetzt wird und umgekehrt.
Bei der DNS-Aufzählung werden alle DNS-Server und ihre entsprechenden Einträge für eine Organisation gefunden. Die Idee ist, so viele interessante Details wie möglich über Ihr Ziel zu sammeln, bevor Sie einen Angriff starten.
Sie können verwenden nslookupBefehl unter Linux verfügbar, um DNS- und Host-bezogene Informationen abzurufen. Darüber hinaus können Sie Folgendes verwendenDNSenum Skript, um detaillierte Informationen über eine Domain zu erhalten -
DNSenum.pl
DNSenum Skript kann die folgenden wichtigen Operationen ausführen -
Holen Sie sich die Adressen des Hosts
Holen Sie sich die Nameserver
Holen Sie sich den MX-Datensatz
Ausführen axfr Abfragen zu Nameservern
Erhalten Sie zusätzliche Namen und Subdomains über Google scraping
Brute-Force-Subdomains aus Dateien können auch eine Rekursion für Subdomains mit NS-Datensätzen durchführen
Berechnen Sie Domänennetzwerkbereiche der Klasse C und führen Sie diese aus whois Fragen zu ihnen
Ausführen reverse lookups auf netranges
Schnelle Lösung
DNS-Aufzählung hat keine schnelle Lösung und geht wirklich über den Rahmen dieses Tutorials hinaus. Das Verhindern der DNS-Aufzählung ist eine große Herausforderung.
Wenn Ihr DNS nicht auf sichere Weise konfiguriert ist, können viele vertrauliche Informationen über das Netzwerk und die Organisation nach draußen gehen und ein nicht vertrauenswürdiger Internetbenutzer kann eine DNS-Zonenübertragung durchführen.