V tomto článku si povíme o úplných základech Metasploitu a příkazech Metasploitu používaných v rozhraní příkazového řádku. Na první pohled se může zdát, že příkazový řádek konzoly MSF a množství dostupných příkazů je velké a těžké na pochopení a používání, ale nenechte se jimi zastrašit. Jakmile pochopíte koncept a přehlednou strukturu, bude to velmi snadné. Když to dáme dohromady, framework Metasploit se skládá z jádra a základu, mnoha exploitů, payloadů, modulů (tříd Ruby), pluginů, skriptů a několika uživatelských rozhraní. Framework Metasploit obsahuje také několik skvělých nástrojů pro sběr informací, které se nazývají pomocné moduly. Pomocné moduly lze použít pro skenování portů, identifikaci služeb, sniffing hesel a výčet záplat systému Windows. Metasploit je vysoce přizpůsobitelný pro pokročilé uživatele a lze jej přizpůsobit vlastním potřebám napsáním vlastních exploitů, modulů, zásuvných modulů a skriptů. Pokud Metasploit neposkytuje modul pro sběr informací, který potřebujete, ve výchozím nastavení, můžete si jej jednoduše napsat sami.

Použivatelské rozhraní msfconsole je známé jako nejstabilnější rozhraní, se kterým budeme pracovat po celou dobu výuky Metasploitu na stránkách Hacking Tutorials. Kromě stability je další výhodou msfconsole možnost spouštět externí příkazy, jako je příkaz ping a automatické dokončování karet. Pro Metasploit je k dispozici také grafické uživatelské rozhraní Armitage. Na Armitage a na to, jak jej používat místo msfconsole, se podíváme v některém z dalších tutoriálů. Pokračujme v tomto tutoriálu o příkazech Metasploitu případnou aktualizací Metasploit Frameworku a poté se přepneme do msfconsole, abychom zjistili, jaké příkazy máme k dispozici.

Základní příkazy Msfconsole

Předpokládáme, že používáte Kali Linux 2016 rolling edition, můžeme spustit Metasploit Framework a msfconsole kliknutím na ikonu Metasploit v doku. Tím se automaticky spustí služba PostgreSQL a služba Metasploit.

Aktualizace Metasploitu pomocí msfupdate

Začněme s aktualizací Metasploitu pomocí následujícího příkazu v relaci terminálu (nikoli v msfconsole):

msfupdate

Tento příkaz by měl aktualizovat rámec Metasploit na nejnovější verzi. Podle aktualizací bychom měli očekávat aktualizace jednou týdně (přibližně). Dejte si pozor: Spuštění msfupdate může poškodit vaši instalaci Metasploitu. Po spuštění tohoto příkazu pro tento návod jsme narazili na chyby typu:

Tato chyba měla něco společného s PostgreSQL a pro odstranění tohoto problému nejprve zkuste spustit následující příkazy:

apt-get update

apt-get upgrade

apt-get dist-upgrade

Tím se problém na naší straně vyřešil, pravděpodobně měl něco společného se zastaralou verzí balíčku. Je vaše instalace Metasploitu po spuštění aktualizace nefunkční a potřebujete pomoci s její opravou? Použijte funkci komentáře níže a my se vám pokusíme co nejlépe pomoci. Pokračujme s msfconsole.

Metasploit msfconsole

Po spuštění Metasploitu a zpřístupnění msfconsole můžeme zadat ‚help‘ a získat přehled příkazů jádra a backendu Metasploitu s popisem:

Příkazy Metasploitu

Vysvětlovat v tomto návodu každý jednotlivý příkaz Metasploitu by bylo ztrátou času a přesahovalo by to rámec tohoto návodu. Chceme pouze, abyste co nejdříve začali Metasploit používat, a proto by vám v tuto chvíli měla stačit základní znalost základních příkazů. V průběhu se dozvíte mnohem více o pokročilých možnostech. Také u většiny popisů příkazů by mělo být zcela jasné, co přesně příkaz dělá a jak ho použít. Prozatím se v tomto tutoriálu budeme zabývat nejpoužívanějšími základními příkazy Metasploitu, jako jsou:

  • Základní příkazy: search, use, back, help, info a exit.
  • Příkazy pro exploit: set pro nastavení proměnných a show pro zobrazení možností exploitu, cílů, payloadů, kodérů, nopů a pokročilých možností a možností vyhnutí se.
  • Příkazy pro spuštění exploitu: run a exploit pro spuštění exploitu proti cíli.

S Metasploitem je také dodávána obsáhlá dokumentace Metasploitu, kterou lze použít k objasnění čehokoli. Pojďme se podívat na příkazy Metasploitu.

Příkazy Metasploitu

Projdeme si rychle základní příkazy Metasploitu, abychom mohli začít s tou zábavnější částí a naučit se používat exploity na zranitelném stroji, jako je Metasploit 2. Základní příkazy se skládají z příkazů help, back, exit a info.

Příkazy use, back a exit

Příkaz use v Metasploitu slouží k aktivaci konkrétního modulu a mění kontext msfconsole na daný modul. Název exploitu bude v příkazovém řádku uveden červeně takto:

V tomto příkladu jsme změnili kontext příkazového řádku na exploit s názvem realvnc_client. Odtud můžeme načíst informace o tomto exploitu, nastavit požadované parametry exploitu a spustit jej proti cíli.

Pokud chceme opustit kontext exploitu a přepnout se zpět do konzoly msf, musíme použít příkaz back. Příkaz zpět nás přenese zpět do konzoly msfconsole v obecném kontextu. Odtud můžeme opět vydat příkaz use a přepnout se na jiný modul Metasploitu.

Příkaz exit zavře konzolu msf a přenese vás zpět do terminálu systému Kali Linux.

Příkaz help

Jak jsme viděli dříve v tomto návodu, příkaz help po zadání v konzole msf vrátí seznam možných příkazů spolu s popisem. Pokud je vybrán aktivní exploit, můžeme pomocí příkazu help získat seznam příkazů exploitu:

Příkaz info

Pokud je exploit vybrán příkazem use, můžeme pomocí příkazu info získat informace, jako je název, platforma, autor, dostupné cíle a mnoho dalších. Na následujícím snímku obrazovky jsme použili příkaz info na exploit s názvem ie_execcommand_uaf:

Příkaz vyhledávání

V době psaní tohoto článku obsahuje Metasploit více než 1 500 různých exploitů a pravidelně přibývají nové. Při takovém počtu exploitů se funkce vyhledávání a znalost jejího použití stává velmi důležitou. Nejjednodušší způsob použití vyhledávací funkce je zadání příkazu search následovaného hledaným výrazem, například flash pro vyhledání exploitů souvisejících s přehrávačem Flash. Pomocí příkazu search bude Metasploit hledat zadaný hledaný výraz v názvech a popisech modulů takto:

Podle očekávání existuje mnoho exploitů souvisejících s často zranitelným softwarem Flash player. Seznam obsahuje také zero-day CVE-2015-5122 Adobe Flash opaqueBackground Use After Free, který byl objeven při loňském úniku dat týmu Hacking Team.

Vyhledávání exploitů pomocí klíčových slov

Vyhledávací příkaz s klíčovým slovem můžete použít také pro vyhledání konkrétního autora, ID OSVDB nebo platformy. Příkaz ‚help search‘ zobrazí dostupná klíčová slova v konzole msf následovně:

Použití příkazu hledání s klíčovým slovem je poměrně jednoduché a zobrazuje se ve spodní části textu nápovědy. Následující příkaz slouží k vyhledání modulů s ID CVE z roku 2016:

msf > search cve:2016

Tento příkaz nám vrátí všechny exploity s ID CVE z roku 2016 včetně a pomocného modulu skeneru pro velmi nedávný firewall Fortinet SSH backdoor:

Příkazy Metasploit pro exploity

V předchozí kapitole jsme se naučili příkazy Metasploit pro aktivaci exploitu na msfconsole a změnu kontextu příkazového řádku na exploit pomocí příkazu use. Nyní se budeme zabývat tím, jak zobrazit parametry exploitu a jak je změnit pomocí příkazu set. Podíváme se také na to, jak zobrazit užitečné zatížení, cíle, pokročilé možnosti a možnosti vyhnutí se. Příkaz help show zobrazí dostupné parametry příkazu show:

Příkaz show options

Příkaz show options zobrazí dostupné parametry exploitu, pokud je použit, když je příkazový řádek v kontextu exploitu. Použijme exploit adobe_flash_shader_drawing_fill a podívejme se na možnosti pomocí následujícího příkazu:

msf > Použít exploit/multi/browser/ adobe_flash_shader_drawing_fill

Následuje příkaz show options:

msf > show options

Exploit Flash obsahuje celkem 6 možností, z nichž pouze 2 jsou vyžadovány:

  • Retries
  • SRVHOST (povinné)
  • SRVPORT (povinné)
  • SSL
  • SSLCert
  • URLPath

Všimněte si, že příkaz show options vrací pod volbami modulu aktuální vybraný cíl. Výchozí cíl je 0, což je Windows pro vybraný exploit.

Pro změnu výchozích hodnot použijte příkaz set, za kterým následuje název volby a nová hodnota:

Set SRVHOST 192.168.0.100 pro změnu hodnoty SRVHOST na hodnotu 192.168.0.100

Set SRVPORT 80 pro změnu portu z 8080 na 80

Znovu použitím příkazu show options můžete ověřit, že hodnoty SRVHOST a SRVPORT byly změněny. Booleovské hodnoty můžete změnit pomocí příkazu set s názvem možnosti a true nebo false.

Příkaz show payloads

Pokud použijeme příkaz show payloads, vrátí nám msfconsole seznam kompatibilních payloadů pro tento exploit. V našem příkladu exploitu flash playeru vrátí poměrně dost kompatibilních payloadů:

Přehled kompatibilních exploitů

Chcete-li použít určitý payload, musíte použít příkaz set následovaný názvem payloadu:

Nastavit payload linux/x86/exec

Zobrazit cíle

Příkaz zobrazit cíle vrátí seznam operačních systémů, které jsou zranitelné vůči vybranému exploitu. Po spuštění příkazu získáme následující výstup pro exploit adobe_flash_shader_drawing_fill:

Přehled dostupných cílů pro vybraný exploit.

Tento exploit je zaměřen na operační systémy Windows i Linux. Všimněte si, že pro získání dalších informací o tomto exploitu a cílech můžeme použít příkaz info.

Pro nastavení cíle můžeme použít příkaz set následovaný ID cíle:

set target 1

Nastavením cíle se seznam užitečných zatížení značně zmenší, protože se zobrazí pouze užitečná zatížení, která jsou kompatibilní s cílem:

Show advanced

Pomocí příkazu show advanced se můžeme podívat na pokročilé možnosti exploitu.

Příkazem set, za kterým následuje parametr advanced a nová hodnota, změníme pokročilá nastavení:

Set displayablepayloadhandler true

Show encoders

Příkaz show encoders vrátí kompatibilní kodéry. Kódovače se používají k obcházení jednoduchých signatur IDS/IPS, které hledají určité bajty vašeho užitečného zatížení. Podrobně se kodéry budeme zabývat v některé z dalších kapitol výukových kurzů Metasploitu.

Pro použití kodéru použijte příkaz set následovaný názvem kodéru.

Show nops

Příkaz show nops vrátí seznam generátorů NOP. NOP je zkratka pro No Operation (žádná operace) a používá se ke změně vzoru saní NOP s cílem obejít jednoduché signatury IDS/IPS běžných saní NOP. Generátory NOP začínají v názvu architekturou procesoru. NOPS se budeme věnovat v některé z dalších kapitol tohoto kurzu.

Pro použití generátoru NOP použijte příkaz set následovaný názvem generátoru NOP. Při spuštění exploitu budou sáňky NOP převzaty z generátoru NOP.

Zobrazit vyhýbání

Příkaz zobrazit vyhýbání vrátí seznam dostupných technik vyhýbání.

Pro změnu nastavení vyhýbání použijte příkaz set následovaný parametrem vyhýbání a novou hodnotou.

Příkazy Metasploitu pro spuštění exploitu

Po nastavení všech požadovaných parametrů exploitu, včetně užitečného zatížení a pokročilých nastavení, jako je generátor NOP, možnosti vyhýbání a kódování, je exploit připraven ke spuštění. Exploit lze spustit pomocí dvou příkazů: run a exploit. Stačí do konzoly msfconsole zadat příkaz run nebo exploit a exploit se spustí.

Tím pro tuto chvíli výukový kurz příkazů Metasploitu končí. Pokud máte dotazy týkající se některého z uvedených nebo neuvedených příkazů, položte je pomocí funkce komentáře pod tímto příspěvkem. V příštím tutoriálu Metasploitu si vyjmenujeme stroj Metasploit 2. Poté budeme se získanými informacemi provádět posouzení zranitelnosti. Pokud jste si Metasploit 2 ještě nenainstalovali, můžete nejprve postupovat podle návodu na instalaci Metasploitu 2.

Sdílet dál: