Honeypot: pokus o zvýšení privilegií

Nedávno jsem na našem honeypotu narazil na útočníka, který se nalogoval na neprivilegovaného uživatele a snažil se dostat na účet roota, aby měl kontrolu nad celým systémem. Neboli klasické privilege escalation. Jak konkrétně to vypadá? Pokud máte aktualizovaný systém, musí útočník přijít s exploitovanou zranitelností, která zatím není opravená, ideálně ani veřejně známá. V tomto případě si myslím, že by útočník využil tuto znalost pro cílený útok na server, kde lze očekávat nějaká zajímavá data nebo aspoň zářez na pažbě v podobě známého serveru. V našem případě spíš zkoušel náhodnou IP, kde běželo SSH a existoval uživatel se slabým heslem. Podle toho taky vypadala sada jeho nástrojů – samé veřejně dostupné exploity.

Útočník nejprve nasbíral základní informace o systému – zda je na systému sám (w), verzi jádra (uname -a), uživatelské účty (cat /etc/passwd) a jak dlouho je systém spuštěný (uptime). Následně změnil heslo uživatele, na kterého byl přihlášený a v jeho domovském adresáři vytvořil podadresář nazvaný „…“, kam stáhl potřebné nástroje. Postupně útočník zkoušel tyto:

  1. CVE-2009-2692: sock_sendpage() NULL Pointer Dereference Vulnerability (informace a exploitpopis)
  2. CVE-2010-4604: IBM Tivoli Storage Manager (TSM) Local Root (exploit)
  3. CVE-2010-0832: Ubuntu PAM MOTD local root (exploit)
  4. Geany 0.18 Local File Overwrite Exploit (exploit)
  5. CVE-2010-2961 : Ubuntu Linux mountall Privilege Escalation (popis a exploit)
  6. CVE-2010-3081: 64-bit Compatibility Mode Stack Pointer Underflow (exploitanalýza exploitu)
  7. CVE-2009-3001: AF_LLC getsockname 5-Byte Stack Disclosure (exploit)
  8. Linux Kernel CAP_SYS_ADMIN to Root Exploit 2 (exploitanalýza exploitu)

Kromě exploitů chtěl útočník spustit i dva IRC klienty:

  1. perlb0t ver 0.5:  IRC bot, který umožňuje vzdáleně provádět TCP/UDP/HTTP flooding, scanovat porty, hledat a útočit na nezáplatované verze CMS Mambo/Joomla (popis varianty zaměřené na phpBB).
  2. IRC klient BitchX: Standardní IRC klient. Předpokládám, že když už se útočník nedostal na roota, chtěl alespoň použít napadený systém k řízení jiných botů, které napadl dříve.

Vhledem k tomu, že se jednalo o honeypot, tak útočník nakonec neuspěl. Po těchto pokusech tedy za sebou smazal stopy a odhlásil se. Tento příklad však ukazuje, jak jednoduché je takový útok provést i pro útočníka bez hlubších znalostí systému a jak důležité je udržovat systémy aktualizované.

Jiří Machálek