V dnešním příspěvku se seznámíš s linuxovou distribuci Kali, která je určená pro penetrační testy.

Co je Kali linux

Kali je linuxová distribuce zkompletovaná na míru penetračním testerům. Co to znamená? Znamená to, že máš jeden operační systém se všemi základními nástroji, které každý etický hacker potřebuje do svého arzenálu. Tato kompilace šetří tvůj čas, protože udržovat závislosti mezi knihovnami a balíčky různých nástrojů stojí spoustu úsilí.

Kali je operační systém určený pouze pro bezpečnostní testy. Neměl bys používat Kali jiným způsobem, například jako operační systém pro svoji pracovní stanici. Další výhodou připravené distribuce je, že díky komunitě a značnému počtu uživatelů se snižuje riziko zavlečení nechtěného kódu při bezpečnostních testech. Z tohoto důvodu bys měl také kontrolovat integritu instalačního média pro svoje Kali.

Geneze

Kali linux vychází z Debian linuxu a když to zjednoduším, tak Kali je ohnutý Debian do podoby, která umožňuje používat testovací bezpečnostní nástroje a rozumě je spravovat.

backtrack5

Předchůdcem Kali linuxu byl BackTrack. První BackTrack byl dostupný v květnu 2006. Postupně vycházel až do verze 5, to bylo někdy na konci roku 2011. O rok později vyšel jeho poslední update 5R3, na které jsem začínal. Typické logo draka poznáváme i dnes v Kali linuxu.

kaliHistorie vydání prozrazuje, že první Kali 1.0 přišlo v roce 2013. Svoje nové jméno lépe vystihovalo jeho změny, proto se nepokračovalo pod názvem BackTrack. Kali 2.0 vyšlo v roce 2015 a tato verze přinesla správce systému systemd. Poslední verze z roku 2016 zavádí nový model aktualizace tzv. rolling upgrade.

Kali linux a i jeho předchůdce jsou dílem stejné komunity. Pokud se podíváme na její složení, tak kmenoví vývojáři jsou převážně ze společnosti Offensive Security, která Kali linux také založila.

Dokumentace

Dokumentace docs.kali.org je správné místo, kde hledat odpovědi na Kali specifické bugy, konfigurace a běžné otázky. Pokud požadované informace nenalezneš zde, zkus google,  sekci FAQ nebo Kali fórum. V rámci komunity funguje i IRC kanál, který jsem však osobně nezkoušel.

Jak jsem na začátku zmínil, Kali linux je ohnutý Debian a svoji odpověď můžeš najít i v dokumentaci této distribuce – www.debian.org/doc. Při změnách konfigurace však mysli na to, že Kali má svá specifika a nelze slepě aplikovat vše, co se dočteš v dokumentaci Debianu. Například nelze přidávat další repositáře balíčků pro instalaci softwaru, rozbiješ si tím pravděpodobně celou instalaci.

Instalace

Nejednodušší cesta je stáhnout si připravený Kali Linux jako obraz pro virtuálního stroj, který je k dispozici pro VMware a VirtualBox (pro stažení obrazu pro VirtualBox je nutno překliknout na druhou záložku).

Začínáš-li obecně s linuxem, tak doporučuji jít cestou manuální instalace do nového “virtuálu”, tj. stáhnout si instalační médium (ISO) v download sekci, vytvořit nový virtuální stroj a podstrčit mu jako instalační DVD stažený plný ISO obraz (asi 2.6 GB). V Hackerlabu používáme virtualizační platformu VirtualBox a můžu ji pro svou jednoduchost doporučit.

Kali linux je možné instalovat i na skutečný hardware, ale virtuální stroje jsou pro účely testování jako stvořené. Když něco rozbiješ, obnovíš si virtuál ze snapshotu. Dále některé testovací nástroje v nekomerční edici, například Burp Suite, neumožňují uložit svůj stav a mechanizmus pozastavení virtuálního stroje se pro tyto účely hodí perfektně.

Administrátorem v linuxovém systému je uživatel root, kterého použiješ i pro přihlášení. Přednastavené heslo pro tohoto uživatele je toor (root pozpátku), pokud si instalátor nevynutil, aby sis nastavil heslo sám.

Práce v terminálu

Po instalaci zjistíš, že Kali má komfortní GUI, ale většina nástrojů vyžaduje práci v terminálu a budeš muset znát něco málo o administraci linuxu.

Interpret shellu

gnome-terminalProjdi si dokumentaci k interpretu shellu. Na našem twitteru občas upozorňujeme na zajímavé projekty, jedním z nich je průvodce BASH Academy nebo můžeš sáhnout po klasickém průvodci Bash Guide for Beginners (LDP).

Administrace

Seznam se se základní administrací linuxu a pročti si vybrané kapitoly z příručky The Debian Administrator’s Handbook. Nemusíš hned rozumět všemu, co se dá v linuxu nakonfigurovat, omez se na základní služby a správu operačního systému.

Můžeš začít například tím, jak se konfiguruje síť, jak se startuje služba SSH (systemctl), jak vypadají její konfigurační parametry (/etc/ssh/sshd_config) a pokusit se připojit SSH klientem k serveru (ssh). Dále tě bude zajímat, jak nainstalovat další software pomocí balíčků (apt-get).

Nástroje

Hacking nástroje, jsou asi tím hlavním magnetem, proč se lidé zajímají o Kali linux. Youtube je plný videí jak hacknout wifi nebo získat vzdálený shell pomocí metasploitu. Tudy však cesta nevede. Tím správným směrem, kterým se chceš vydat, je zkoušet si hacking ve svém testovacím prostředí.

Proč nehackovat cizí systémy

Pokud by to přeci jen někoho napadlo a začal by si testovat na cizí systémech, tak nejspíše brzy skončí s omezením na osobní svobodě. Proč? Protože stačí malá chyba a máš zaděláno na problémy. Musíš si uvědomit, že k porušení práva dochází už jakýmkoli neautorizovaným přístupem bez ohledu na vyspělost ochrany.

I když tvoje úmysly mohou být čisté jak okvětí bílé lilie, špatně zvolený nástroj nebo jeho použití (překlep, nepochopení syntaxe) může vážně poškodit běžící proces, vyčerpat zdroje na síti, disku nebo CPU. V takovém případě může pomoci jen zásah administrátora, restart procesu nebo celého serveru.

Na produkčním systému začnou administrátoři hledat příčinu a auditní stopy, jak v lozích cílového serveru, tak na síťových prvních poskytovatele připojení. Produkce šlape od toho, aby generovala zisk nebo nepřímo podporoval jiné byznys procesy v organizaci. Ztráta způsobená výpadkem takového systému začíná na tisících už v jednotkách minut a stupňuje se podle důležitosti byznys procesu, který daný systém podporuje. Nejčernější scénář je obnova systému ze zálohy nebo dokonce selhání a výměna hardwaru, to už je pak v hodinách.

Testovací prostředí

Kromě Kali linuxu budeš pro testování potřebovat alespoň jeden virtuální stroj v roli oběti. Ideálně celou síť s dalšími virtuály. Každý nástroj je psaný pro nějaký konkrétní úkol, síťovou službu nebo aplikaci. Pokud nebudeš mít na cílovém virtuálu službu, která na síti poslouchá na specifické IP adrese a portu, tvůj testovací nástroj nemůže provádět žádné interakce.

Některé nástroje nevyžadují žádné služby a fungují lokálně přímo v Kali linuxu. Typicky jde o pomocné nástroje pro přípravu slovníků, testovacích dat nebo pro zjednodušení reportování nálezů.

Jak si postavit testovací prostředí

Když nevíš jak si postavit první testovací laboratoř (lab), pomož si hledáním článků nebo video tutoriálů na internetu. Můžeš si také vybrat vhodnou knihu o hackingu, penetračním testováním nebo přímo o Kali linuxu. Knihy sice rychle zastarávají, ale pro první představu je to k nezaplacení. V takových knihách najdeš ukázky použití nástrojů a jejich výpisů včetně postupu na konfiguraci zranitelné aplikace nebo virtuálu.

Hackerlab

Další variantou je zvolit si hacking kurz a vyzkoušet si nástroje v naší cvičné síti Hackerlab. V nabídce máme základní jednodenní kurz Kali Linux a protokoly TCP/IP, který je koncipovaný pro úplné začátečníky, kteří nerozumí linuxu a sítím.

Za jeden den není možné zvládnout pořádně ani jeden nástroj a tak máme kurz věnovaný pouze skeneru NMAP a druhý nástroji Burp Suite v rámci hackingu webových aplikací.

Kategorie nástrojů

Nástroje jsou v Kali logicky rozděleny do kategorií, které reflektují typ bezpečnostního testu a jeho fázi.

Bezpečnostním testem může být penetrační test nebo obecné posouzení bezpečnosti. Samotný penetrační test můžeme rozdělit na fáze sběr informací, analýza zranitelností, exploitace, post explooitace a reportování.

V Kali 2.0 máme k dispozici tyto kategorie nástrojů (pod položkou Applications):

  1. Information Gathering
  2. Vulnerability Analysis
  3. Web Application Analysis
  4. Database Assessment
  5. Password attacks
  6. Wireless Attacks
  7. Reverse Engineering
  8. Exploitation Toos
  9. Sniffing and Spoofing (exploitation)
  10. Post Exploitation
  11. Forensics
  12. Reporting Tools
  13. System Services.

Popis nástrojů v jednotlivých kategoriích je mimo rozsah tohoto příspěvku, ale z online dokumentace Kali linuxu zjistíš, jak je alespoň zavolat a dohledat další dokumentaci na stránkách projektu daného nástroje.

Mezi stěžejní nástroje patří wireshark, NMAP, Burp Suite, SQLmap, Metasploit a THC Hydra, kterými můžeš začít. Tím se dostáváme k závěru.

Závěr

Nyní znáš použití a historický vývoj Kali linuxu. Máš-li chuť, začít studovat jednotlivé nástroje ve vlastním testovacím prostředí. Pokud se ti článek líbil, sleduj nás na facebooku a twitteru.

V dnešním příspěvku se seznámíš s linuxovou distribuci Kali, která je určená pro penetrační testy.

Co je Kali linux

Kali je linuxová distribuce zkompletovaná na míru penetračním testerům. Co to znamená? Znamená to, že máš jeden operační systém se všemi základními nástroji, které každý etický hacker potřebuje do svého arzenálu. Tato kompilace šetří tvůj čas, protože udržovat závislosti mezi knihovnami a balíčky různých nástrojů stojí spoustu úsilí.

Kali je operační systém určený pouze pro bezpečnostní testy. Neměl bys používat Kali jiným způsobem, například jako operační systém pro svoji pracovní stanici. Další výhodou připravené distribuce je, že díky komunitě a značnému počtu uživatelů se snižuje riziko zavlečení nechtěného kódu při bezpečnostních testech. Z tohoto důvodu bys měl také kontrolovat integritu instalačního média pro svoje Kali.

Geneze

Kali linux vychází z Debian linuxu a když to zjednoduším, tak Kali je ohnutý Debian do podoby, která umožňuje používat testovací bezpečnostní nástroje a rozumě je spravovat.

backtrack5

Předchůdcem Kali linuxu byl BackTrack. První BackTrack byl dostupný v květnu 2006. Postupně vycházel až do verze 5, to bylo někdy na konci roku 2011. O rok později vyšel jeho poslední update 5R3, na které jsem začínal. Typické logo draka poznáváme i dnes v Kali linuxu.

kaliHistorie vydání prozrazuje, že první Kali 1.0 přišlo v roce 2013. Svoje nové jméno lépe vystihovalo jeho změny, proto se nepokračovalo pod názvem BackTrack. Kali 2.0 vyšlo v roce 2015 a tato verze přinesla správce systému systemd. Poslední verze z roku 2016 zavádí nový model aktualizace tzv. rolling upgrade.

Kali linux a i jeho předchůdce jsou dílem stejné komunity. Pokud se podíváme na její složení, tak kmenoví vývojáři jsou převážně ze společnosti Offensive Security, která Kali linux také založila.

Dokumentace

Dokumentace docs.kali.org je správné místo, kde hledat odpovědi na Kali specifické bugy, konfigurace a běžné otázky. Pokud požadované informace nenalezneš zde, zkus google,  sekci FAQ nebo Kali fórum. V rámci komunity funguje i IRC kanál, který jsem však osobně nezkoušel.

Jak jsem na začátku zmínil, Kali linux je ohnutý Debian a svoji odpověď můžeš najít i v dokumentaci této distribuce – www.debian.org/doc. Při změnách konfigurace však mysli na to, že Kali má svá specifika a nelze slepě aplikovat vše, co se dočteš v dokumentaci Debianu. Například nelze přidávat další repositáře balíčků pro instalaci softwaru, rozbiješ si tím pravděpodobně celou instalaci.

Instalace

Nejednodušší cesta je stáhnout si připravený Kali Linux jako obraz pro virtuálního stroj, který je k dispozici pro VMware a VirtualBox (pro stažení obrazu pro VirtualBox je nutno překliknout na druhou záložku).

Začínáš-li obecně s linuxem, tak doporučuji jít cestou manuální instalace do nového “virtuálu”, tj. stáhnout si instalační médium (ISO) v download sekci, vytvořit nový virtuální stroj a podstrčit mu jako instalační DVD stažený plný ISO obraz (asi 2.6 GB). V Hackerlabu používáme virtualizační platformu VirtualBox a můžu ji pro svou jednoduchost doporučit.

Kali linux je možné instalovat i na skutečný hardware, ale virtuální stroje jsou pro účely testování jako stvořené. Když něco rozbiješ, obnovíš si virtuál ze snapshotu. Dále některé testovací nástroje v nekomerční edici, například Burp Suite, neumožňují uložit svůj stav a mechanizmus pozastavení virtuálního stroje se pro tyto účely hodí perfektně.

Administrátorem v linuxovém systému je uživatel root, kterého použiješ i pro přihlášení. Přednastavené heslo pro tohoto uživatele je toor (root pozpátku), pokud si instalátor nevynutil, aby sis nastavil heslo sám.

Práce v terminálu

Po instalaci zjistíš, že Kali má komfortní GUI, ale většina nástrojů vyžaduje práci v terminálu a budeš muset znát něco málo o administraci linuxu.

Interpret shellu

gnome-terminalProjdi si dokumentaci k interpretu shellu. Na našem twitteru občas upozorňujeme na zajímavé projekty, jedním z nich je průvodce BASH Academy nebo můžeš sáhnout po klasickém průvodci Bash Guide for Beginners (LDP).

Administrace

Seznam se se základní administrací linuxu a pročti si vybrané kapitoly z příručky The Debian Administrator’s Handbook. Nemusíš hned rozumět všemu, co se dá v linuxu nakonfigurovat, omez se na základní služby a správu operačního systému.

Můžeš začít například tím, jak se konfiguruje síť, jak se startuje služba SSH (systemctl), jak vypadají její konfigurační parametry (/etc/ssh/sshd_config) a pokusit se připojit SSH klientem k serveru (ssh). Dále tě bude zajímat, jak nainstalovat další software pomocí balíčků (apt-get).

Nástroje

Hacking nástroje, jsou asi tím hlavním magnetem, proč se lidé zajímají o Kali linux. Youtube je plný videí jak hacknout wifi nebo získat vzdálený shell pomocí metasploitu. Tudy však cesta nevede. Tím správným směrem, kterým se chceš vydat, je zkoušet si hacking ve svém testovacím prostředí.

Proč nehackovat cizí systémy

Pokud by to přeci jen někoho napadlo a začal by si testovat na cizí systémech, tak nejspíše brzy skončí s omezením na osobní svobodě. Proč? Protože stačí malá chyba a máš zaděláno na problémy. Musíš si uvědomit, že k porušení práva dochází už jakýmkoli neautorizovaným přístupem bez ohledu na vyspělost ochrany.

I když tvoje úmysly mohou být čisté jak okvětí bílé lilie, špatně zvolený nástroj nebo jeho použití (překlep, nepochopení syntaxe) může vážně poškodit běžící proces, vyčerpat zdroje na síti, disku nebo CPU. V takovém případě může pomoci jen zásah administrátora, restart procesu nebo celého serveru.

Na produkčním systému začnou administrátoři hledat příčinu a auditní stopy, jak v lozích cílového serveru, tak na síťových prvních poskytovatele připojení. Produkce šlape od toho, aby generovala zisk nebo nepřímo podporoval jiné byznys procesy v organizaci. Ztráta způsobená výpadkem takového systému začíná na tisících už v jednotkách minut a stupňuje se podle důležitosti byznys procesu, který daný systém podporuje. Nejčernější scénář je obnova systému ze zálohy nebo dokonce selhání a výměna hardwaru, to už je pak v hodinách.

Testovací prostředí

Kromě Kali linuxu budeš pro testování potřebovat alespoň jeden virtuální stroj v roli oběti. Ideálně celou síť s dalšími virtuály. Každý nástroj je psaný pro nějaký konkrétní úkol, síťovou službu nebo aplikaci. Pokud nebudeš mít na cílovém virtuálu službu, která na síti poslouchá na specifické IP adrese a portu, tvůj testovací nástroj nemůže provádět žádné interakce.

Některé nástroje nevyžadují žádné služby a fungují lokálně přímo v Kali linuxu. Typicky jde o pomocné nástroje pro přípravu slovníků, testovacích dat nebo pro zjednodušení reportování nálezů.

Jak si postavit testovací prostředí

Když nevíš jak si postavit první testovací laboratoř (lab), pomož si hledáním článků nebo video tutoriálů na internetu. Můžeš si také vybrat vhodnou knihu o hackingu, penetračním testováním nebo přímo o Kali linuxu. Knihy sice rychle zastarávají, ale pro první představu je to k nezaplacení. V takových knihách najdeš ukázky použití nástrojů a jejich výpisů včetně postupu na konfiguraci zranitelné aplikace nebo virtuálu.

Hackerlab

Další variantou je zvolit si hacking kurz a vyzkoušet si nástroje v naší cvičné síti Hackerlab. V nabídce máme základní jednodenní kurz Kali Linux a protokoly TCP/IP, který je koncipovaný pro úplné začátečníky, kteří nerozumí linuxu a sítím.

Za jeden den není možné zvládnout pořádně ani jeden nástroj a tak máme kurz věnovaný pouze skeneru NMAP a druhý nástroji Burp Suite v rámci hackingu webových aplikací.

Kategorie nástrojů

Nástroje jsou v Kali logicky rozděleny do kategorií, které reflektují typ bezpečnostního testu a jeho fázi.

Bezpečnostním testem může být penetrační test nebo obecné posouzení bezpečnosti. Samotný penetrační test můžeme rozdělit na fáze sběr informací, analýza zranitelností, exploitace, post explooitace a reportování.

V Kali 2.0 máme k dispozici tyto kategorie nástrojů (pod položkou Applications):

  1. Information Gathering
  2. Vulnerability Analysis
  3. Web Application Analysis
  4. Database Assessment
  5. Password attacks
  6. Wireless Attacks
  7. Reverse Engineering
  8. Exploitation Toos
  9. Sniffing and Spoofing (exploitation)
  10. Post Exploitation
  11. Forensics
  12. Reporting Tools
  13. System Services.

Popis nástrojů v jednotlivých kategoriích je mimo rozsah tohoto příspěvku, ale z online dokumentace Kali linuxu zjistíš, jak je alespoň zavolat a dohledat další dokumentaci na stránkách projektu daného nástroje.

Mezi stěžejní nástroje patří wireshark, NMAP, Burp Suite, SQLmap, Metasploit a THC Hydra, kterými můžeš začít. Tím se dostáváme k závěru.

Závěr

Nyní znáš použití a historický vývoj Kali linuxu. Máš-li chuť, začít studovat jednotlivé nástroje ve vlastním testovacím prostředí. Pokud se ti článek líbil, sleduj nás na facebooku a twitteru.

To je pro dnešek vše. Zvažujete-li cestu etického hackera od začátku nebo se chcete podrobně seznámit s Kali linuxem, sítěmi a dalšími nástroji, rád uvidím na hacking kurzech.