9.3 Metasploit Framework

Metasploit Framework (MSF) je velmi populární, bezplatný nástroj přeinstalovaný v Kali Linuxu, který poskytuje masivní databázi exploitů a usnadňuje proces penetračního testování. Neslouží ovšem jen k samotnému exploatování, ale obsahuje moduly i pro průzkum (reconnaissance) a skenování.

Základní vlastnosti Metasploitu
Do Metasploitu lze importovat i neověřené veřejné exploity nebo vytvářet vlastní. Spouští se v terminálu příkazem msfconsole. Skvělým návodem pro práci s MSF je kurz Metasploit Unleashed.

Typický způsob použití

Workflow v msfconsole
1. Select module: Vybrání příslušného exploitu (příkaz use).
2. Set options: Nastavení parametrů (IP adresa cíle RHOSTS, IP adresa útočníka LHOST apod.).
3. Choose payload: Výběr typu payloadu, který se má po úspěšném zneužití spustit (zda jde o stageless nebo staged payload).
4. Check/Execute: Příkazem check můžeme ověřit, zda je cíl zranitelný, a run (nebo exploit) útok vykoná.

Meterpreter a typy Payloadů

Meterpreter je zkrácený název pro Meta-Interpreter, což je silný nástroj umožňující plnohodnotnou interakci s kompromitovaným strojem beze stop na disku (běží v paměti).

Multi-stage payload (Staged vs. Stageless)
Staged payload: Útok pošle na cíl nejprve velmi malý kód (stager), který má za úkol pouze se spojit zpět s útočníkem a stáhnout zbytek většího payloadu (tzv. stage) do paměti (pomocí reflective DLL injection).

Výhody: Minimalizuje velikost počátečního exploitu, je složitější ho zachytit pro antiviry jako jeden škodlivý soubor.
Nevýhody: Vyžaduje stabilní síťové spojení pro dotažení zátěže, může být odhalen systémy pro detekci průniků (IDS/IPS) analyzujícími samotné stahování přes síť.
Typy shellů: Reverse vs. Bind
  • Reverse shell: Kompromitovaný server iniciuje připojení směrem k počítači útočníka. Často snáze projde firewallem, jelikož odchozí spojení bývají povolena.
  • Bind shell: Cílový server otevře na sobě konkrétní port a čeká, až se na něj útočník připojí. Často je blokován příchozím firewallem.