9.2 Získání přístupu (Getting a shell)
Poté, co jsme objevili potenciální zranitelnosti nebo otevřené služby, je cílem získat interaktivní příkazovou řádku (shell) na cílovém stroji.
Přístupy k získání shellu prostřednictvím přihlašovacích údajů
Způsoby nalezení a využití hesel
- Výchozí přihlašovací údaje: Kontrola dokumentace a instalačních manuálů běžícího softwaru.
- Brute-forcing (hádání hrubou silou): Enumerace uživatelských jmen a zkoušení hesel pomocí nástrojů jako
nxc(netexec),wfuzz,hydra. Nutno dát pozor na uzamčení účtů (account lockout) nebo banování IP. - Nalezení hesel ve službách: Extrakce hesel z FTP, SMB, NFS nebo zdrojových kódů.
- Recyklace hesel (Password reuse): Pokud zjistíte heslo do jedné služby, je pravděpodobné, že uživatel používá stejné heslo i jinde.
- Odhadování hesel podle kontextu: Zaměření hesel na základě informací o cílové společnosti nebo jménech uživatelů.
Webové aplikace
Pokud cílový stroj obsahuje webovou aplikaci, často se nabízí několik běžných zranitelností vedoucích k RCE (Remote Code Execution) a tím k shellu.
Zranitelnosti vedoucí ke spuštění kódu
- File upload + LFI/RFI: Zranitelný upload umožní nahrání škodlivého skriptu a přes Local/Remote File Inclusion jeho následné spuštění.
- Server-Side Template Injection (SSTI): Neopatrné zpracování šablon, kdy dojde k vyhodnocení útočníkova vstupu na straně serveru.
- Command injection: Přímé vstříknutí příkazů operačního systému, které webový server spustí s vlastními právy.
- Deserialization: Využití nesprávného obnovení objektů (deserializace), což může vést ke spuštění kódu při destrukci objektu.
- SQL injection: Kromě extrakce dat z databáze lze často (např. pomocí
xp_cmdshellna MSSQL neboINTO OUTFILEu MySQL) zapisovat na disk a spustit kód. - WebDAV misconfiguration: Špatně nastavený WebDAV může útočníkovi povolit nahrání a spuštění souborů.
Co dělat, když nic z výše uvedeného nefunguje?
Pokud výchozí techniky na webu nevedou k úspěchu:
1. Ověřte přesnou verzi daného webového softwaru a hledejte pro ni specifické zranitelnosti a exploity.
2. Pokud ani to nepomůže, vraťte se k fázi enumerace a pokuste se najít a zneužít jinou službu běžící na stroji.
1. Ověřte přesnou verzi daného webového softwaru a hledejte pro ni specifické zranitelnosti a exploity.
2. Pokud ani to nepomůže, vraťte se k fázi enumerace a pokuste se najít a zneužít jinou službu běžící na stroji.