-: Bisher haben wir gesehen, wie wir
einen Dienst mit einem
Standardkennwort oder einem Dienst verwenden können, der nicht richtig konfiguriert
wurde, oder einen Dienst, der mit einer Hintertür
geliefert wurde, um vollen Zugriff auf den Zielcomputer zu erhalten.
Wir haben auch gesehen, wie die grundlegende Verwendung von
Metasploit das Herstellen einer Verbindung mit einer auf
dem FTP-Dienst installierten Backdoor ermöglicht.
Heute werden wir Metasploit
genauer betrachten und sehen, wie wir es verwenden, um
Sicherheitslücken in einem bestimmten Dienst zu schließen.
Es handelt sich um eine Sicherheitsanfälligkeit in Bezug auf die Codeausführung, die
uns auch vollen Zugriff auf den Zielcomputer ermöglicht.
Zurück zu unseren Ergebnissen hier mit Nmap, und wir werden das Gleiche
tun, was wir schon seit einiger Zeit
tun. Wir kopieren den Dienstnamen und
prüfen, ob er Schwachstellen aufweist.
Für heute schauen wir uns also diesen speziellen Port 139 an,
der einen Samba-Server der Version 3 hat. X.
Also 3. wirklich alles.
Wir werden also
wie in den vorherigen
Videos über Google nach Samba 3
suchen. X ausnutzen.
Wie Sie sehen, gibt es eine Reihe von Ergebnissen.
Derjenige, der uns interessiert, derjenige, der
von Rapid 7 kommt, weil, wie ich sagte,
dies die Leute sind, die Metasploit machen, so dass
die Exploits, die Sie dort sehen, über Metasploit verwendet werden können.
Wir haben hier also zwei
Beispiele, jetzt habe ich tatsächlich beide ausprobiert.
Der erste funktioniert nicht, daher gibt
es ein bisschen Versuch und Irrtum und der
zweite ist das Benutzer-Maps-Skript.
Wie Sie hier sehen können, handelt es sich um eine Sicherheitsanfälligkeit bezüglich der Befehlsausführung.
Der Name der Sicherheitsanfälligkeit lautet also:
Es ist also dasselbe, was
wir zuvor mit der bösen Hintertür im FTP-Dienst verwendet haben.
Dies ist nur der andere Name, den wir verwenden werden.
Ich gehe also zu Metasploit und
habe bereits MSF-Konsole ausgeführt, sodass Sie
sehen können, dass die Konsole hier für mich ausgeführt wird.
Also werde ich eine Verwendung durchführen, wie wir es gestern
getan haben, und dann werde ich den Namen des Exploits angeben, den
ich verwenden möchte.
Als nächstes zeigen wir normalerweise Optionen
wie gestern.
Also werde ich Optionen zeigen.
Die Verwendung dieser Exploits ist also immer ziemlich gleich. Der
einzige Unterschied besteht in den Optionen, die Sie für jeden
Exploit festlegen können.
Sie verwenden also immer den Exploit-Namen, geben ihn ein und zeigen
dann Optionen an, um zu sehen, was Sie ändern können, um mit
diesem Exploit zu arbeiten.
In Zukunft werden Sie wahrscheinlich andere Exploits erhalten
als ich.
Jedes Mal, wenn Sie einen Exploit ausführen
möchten, verwenden Sie den Exploit-Namen und zeigen dann Optionen an, um
die zu konfigurierenden Optionen anzuzeigen. Die Verwendung
der Exploits und das Festlegen der Optionen und deren
Ausführung ist jedoch immer identisch.
Ich zeige Ihnen einige Beispiele, die so
ziemlich alles abdecken, was Sie in Zukunft tun möchten.
Also noch einmal, wir müssen den R-Host einrichten, der die IP des Zielcomputers
ist und wir werden es genauso machen, wie wir es vorher
gemacht haben.
Wie gesagt, das Einstellen der Optionen ist immer gleich.
Also werden wir R-HOST setzen und
dann die IP des Zielcomputers setzen, die
10 ist. 20. 14. 204.
Genau wie zuvor verwenden wir das Set, um
eine Option festzulegen, nämlich den R-HOST.
Also machen wir unsere Showoptionen.
Und wie Sie jetzt sehen können, wurde der R-Host richtig eingestellt.
Was wir jetzt tun müssen, ist, dass sich hier die Dinge
von der vorherigen Vorlesung unterscheiden.
In der vorherigen Vorlesung haben wir eine Backdoor verwendet, die bereits
auf dem Zielcomputer installiert war. Wir mussten uns
also nur mit der Backdoor
verbinden und dann alle Befehle ausführen, alle Linux-Befehle auf dem Zielcomputer.
Im heutigen Video hat der Zielcomputer keine
Hintertür, sondern ein normales Programm mit einem Pufferüberlauf oder
einer Sicherheitsanfälligkeit bezüglich der Codeausführung.
Das Programm hat also keinen Code, mit dem wir Linux-Befehle ausführen
können, sondern einen gewissen Fehler, durch den wir einen kleinen Teil
des Codes ausführen können.
Diese kleinen Codeteile werden als Nutzdaten bezeichnet.
Was wir also tun müssen, müssen wir eine Nutzlast
erstellen und sie dann auf dem Zielcomputer unter
Verwendung der gefundenen Sicherheitsanfälligkeit ausführen.
Mit diesem Code können wir verschiedene Dinge tun.
Die Nutzlast ermöglicht es uns also, Dinge zu tun, die
für uns nützlich sind.
Jetzt können wir mit der Payload Linux-Befehle ausführen, und es gibt
andere Arten von Payloads, die wir uns in Zukunft
ansehen werden.
Um zu sehen, welche Payloads Sie mit
diesem bestimmten Exploit verwenden können, müssen Sie
lediglich show payloads ausführen.
Und dies sind die verschiedenen Nutzlasttypen, die Sie verwenden können.
Jetzt werde ich noch einmal darauf eingehen. Payloads
sind kleine Codeteile, die auf dem Zielcomputer ausgeführt werden,
sobald die Sicherheitsanfälligkeit ausgenutzt wurde.
Wenn wir also die Sicherheitsanfälligkeit ausnutzen, wird der Code
ausgeführt, den wir hier auswählen. Abhängig von der Art der
von uns ausgewählten Nutzlast wird diese Nutzlast etwas tun, das
für uns nützlich ist.
Im Moment können Sie also sehen, dass alle Nutzdaten cmd
lauten. Dies ist also die Abkürzung für command. Mit
ihnen können Sie also Befehle auf dem Zielcomputer ausführen, genau wie mit Linux-Befehlen.
Und alle laufen nur unter Unix und das ist in
Ordnung, weil unser Ziel Linux ist.
Es gibt zwei Haupttypen: Bind-Payloads
und Reverse-Payloads.
Die Bind-Payloads öffnen lediglich einen Port auf dem Zielcomputer und
stellen dann eine Verbindung zu diesem Port her.
Umgekehrt machen sie das Gegenteil.
Sie öffnen also einen Port in meinem Computer und stellen dann
eine Verbindung vom Zielcomputer zu meinem Computer her.
Dies ist nützlich, da wir umgekehrt Firewalls umgehen können,
sodass die Firewall alle Verbindungen zum Zielcomputer filtert. Wenn die
Verbindung zum Zielcomputer jedoch hergestellt wird und
ich keine Firewall habe, kann die
Firewall umgangen werden Firewall.
Also werde ich das cmd Unix Reverse benutzen
oder ich werde das cmd Unix Reverse Netcat benutzen.
Der letzte Teil dieser Nutzdaten ist das Programm und das
Sprachreihenfolge-Tool, das zur Vereinfachung der
Verbindung verwendet werden soll.
So können wir zum Beispiel sehen, dass Payloads
in Perl in Ruby oder in Python, PHP oder mit einem
Netcat geschrieben sind, einem Tool, das Verbindungen zwischen Computern ermöglicht.
Dies ist also die, die ich verwenden werde, und ich
werde sie genauso verwenden, wie Sie einen Exploit verwenden.
Also werde ich nur sagen, es tut mir wirklich leid, ich werde es
mit dem Befehl set verwenden.
Auf die gleiche Weise, wie Sie set
und option verwenden, setzen wir die Payload wie eine Option
auf den soeben ausgewählten Payload-Namen.
Jetzt mache ich eine Show, um zu sehen, ob es noch andere
Optionen gibt, die ich einstellen muss.
Und ja, weil wir jetzt eine Nutzlast ausgewählt haben,
gibt es mehr Optionen.
Es gibt also eine Option namens
L-HOST und es ist die Abhöradresse, die meine eigene Adresse ist.
Also werde ich meine eigene IP-Adresse mit if config bekommen.
Und meine eigene Adresse ist 10. 20. 14. 203.
Also schließe ich
das und setze den L-HOST.
Es ist also so, wie wir den R-Host vorher eingestellt haben,
wir haben den L-Host eingestellt.
Mach 10.
20.
Also, bevor wir R-HOST eingestellt haben, um diese Option einzustellen, stellen
wir jetzt L-HOST ein, um diese spezielle Option einzustellen.
Also set ist wirklich einfach, set, du setzt den Optionsnamen und
dann den Wert, auf den du ihn setzen willst.
Dann werde ich Optionen zeigen und jetzt scheint
alles in Ordnung zu sein.
Wir verwenden diesen Exploit, der R-HOST ist auf diesen Wert eingestellt, was
in Ordnung ist.
Und dann wird der L-Host auf das eingestellt, was perfekt ist.
Und dann können Sie auf Ihrem aktuellen
Computer auch den Port einstellen, den Sie abhören möchten.
Sie können den Wert auf 80 setzen, wenn
Sie möchten. Dies ist der Port, der von Webbrowsern verwendet wird.
Wenn Sie also den L-PORT auf 80 setzen, versucht der
Zielcomputer, über Port 80 eine Verbindung zu Ihnen herzustellen, der in Firewalls
niemals gefiltert wird, da dies der Port ist, den
Webbrowser oder Webserver verwenden.
Wenn Sie also auf eine Website zugreifen, greifen Sie auf dieser Website
auf Port 80 zu.
Wenn Sie also Port 80 auf Ihrem Computer öffnen und das Ziel
eine Verbindung zu Ihnen auf 80 herstellt, geht die Firewall
davon aus, dass das Ziel nur im Internet surft.
Ich werde das jetzt nicht tun, da auf Port 80 ein
Webserver ausgeführt wird und dies zu Konflikten führt.
Also werde ich den L-PORT
nur für ein Beispiel von Ihnen auf 555 setzen, nur um zu sehen,
dass Sie jede Option auf die gleiche Weise ändern können, wie
sie eingestellt ist, den Optionsnamen und dann den Wert.
Also werde ich wieder Optionen zeigen.
Und wie Sie sehen, wurde dies in 5555 geändert und ich
werde es ausnutzen, um den Exploit auszuführen.
Wie Sie
sehen, wurde die erste Sitzung eröffnet.
Und die Verbindung besteht zwischen diesem Gerät und diesem Gerät.
Welches ist das Ziel und mein Gerät.
Also mache ich eine PwD und,
oder ich mache eine ID.
Du wirst sehen, dass ich root bin, also mache ich einen uname -a.
Sie werden sehen, dass ich auf dem metasploierbaren Computer
bin, und wenn ich ein ls mache, kann ich die Dateien auflisten und so weiter.
Ich kann jeden Linux-Befehl verwenden, so wie wir es zuvor in den anderen
Videos getan haben.