# Metasploit
## Was ist Metasploit?
- Open Source Exploit Framework
- Sammlung von Tools
- Informationen über Sicherheitslücken
- Security- und Penetrationstests
- Entwicklung von IDS-Signaturen
- Erhältlich für Linux, MacOS und Windows
## Verwendungszwecke
### Angriff / Verteidigung
- Bewertung/Erkennung von Schwachstellen
- Überprüfung der Wirksamkeit von Workarounds und Patches
## Rechtliche Grundlagen
- Verwendung auf eigenen System oder mit expliziter Genehmigung
- Missachtung strafbar
## Geschichte
- Erschienen 2003 von HD Moore
- 2004 Metasploit 2.0
- 2007 Metasploit 3.0
- 2009 Übernahme von Rapid 7
- Entwicklung von Metasploit Pro und Express
## Konkurrenz
### OpenVAS
- Open Source
- Server-basiert
- Prüfung von Sicherheitslücken
- Berichtsmanagement
- \> 25.000 Prüfroutinen
- täglicher "Feed" mit Schwachstellen-Tests
- verwendet vom BSI (Bundesamt für Sicherheit in der Informationstechnik)
### Core Impact
- Kommerziel
- Penetrationstest
- Arbeit von mehreren Anwendern gleichzeitig möglich
## Community
- Hauptentwickler Rapid 7
- Unterstützt durch Community
## Grundlagen
### Dateisystem

### Console
back -> Verlässt den aktuellen Kontext
banner -> Zeigt neues Banner an
exit -> Schließt die Konsole
check -> Prüft ob Ziel anfällig ist für Exploit
(häufig nicht von den Exploits unterstützt)
connect -> Verbinden mit remote host (Netcat oder Telnet)
help -> Zeigt verfügbare Kommandos/Optionen
info -> Zeigt detaillierte Informationen
search -> Suchfunktion
set -> Setzen von Optionen/Parameter
show -> Zeigt alle Module an
use -> Wählt Modul aus
### Rex
Herzstück des Frameworks
- Socket System
- Client/Server diverser Protokolle
- Logging System
- Klassen zur Entwicklung und Verwendung eigener Exploits
### Exploits
Code der gezielt eine Schwachstelle angreift
### Payloads
Code der nach einem erfolgreichen Exploit ausgeführt wird
#### Single
Einzelne Nutzlast mit Exploit + Shell Code für Aufgabe, stabil, nicht von allen Exploits unterstützt
`windows/shell_reverse_tcp`
#### Staged
Baut Verbindungen zwischen Angreifer und Opfer auf und lädt stufenweise den Payload
Kleiner Loader holt sich großes Datenpaket erst bei Ausführung
#### Meterpreter
Vollständig im Speicher des Opfers, DLL-Injection, Skripte und Plugins können dynamisch geladen werden
Vergleichbar mit einer eigenen Shell auf dem Opfersystem
#### Nomenklatur
```
windows/shell_reverse_tcp --> Single Payload
windows/shell/reverse_tcp --> Staged Payload
windows/meterpreter/reverse_tcp --> Meterpreter
```
### Auxiliary
Hilfsprogramme
- Scanner für diverse Protokolle und Ports
- Denial of service
- IPV6
- Wireless
### NOP
Erzeugt eine Reihe von Zufallsbytes um IDS-Signaturen zu umgehen oder Puffer aufzufüllen
#### IDS (Intrusion Detection System)
System zur Erkennung von Angriffen gegen ein Computersystem oder Rechnernetz
## Erweiterungen / Ergänzungen
### Metasploitable
Testumgebung mit bewusst eingebauten Schwachstellen
Effizientes wiederholen verschiedener Variationen von Angriffsverfahren
### Armitage

Grafisches Cyber-Attack-Management-Tool für Metasploit
- Visualisierung von Zielen
- Empfehlung von Exploits
## Aufbau typischer Angriff
### Informationsbeschaffung
Über welche IP-Adressen ist das Ziel erreichbar?
### Scan des Zielsystems
Welche Dienste/Programme lassen sich von der Seite des Angreifers aus ansprechen?
### System- und Anwendungserkennung
Analyse der angebotenen Dienste des Systems
**Ziel:** Erkennung genauer Programmversionen
### Recherche nach Schwachstellen
Sicherheitslücken lokalisieren
### Ausnutzung der Schwachstellen
Zugriff auf das Zielsystem
## Hacking Demo
## Weitere Möglichkeiten
Inhalt
## Quellen
[Metasploit Unleashed – Free Ethical Hacking Course](https://www.offensive-security.com/metasploit-unleashed/)
[Community Resources](http://resources.metasploit.com)
[GitHub Wiki](https://github.com/rapid7/metasploit-framework/wiki)
[Metasploit Auxiliary Modules](http://www.carnal0wnage.com/papers/msf_aux_modules.pdf)
[OpenVAS](http://openvas.org/index-de.html)
## Vielen Dank für Ihre Aufmerksamkeit
Patrick Poppe
Dario Leunig