Kilka dni temu w sieci pojawił się kod źródłowy jednego z najbardziej złożonych programów używanych przez cyberprzestępców – botnetu Carberp. Analiza kodu przyniosła ciekawe wnioski – w tym zdalny exploit na stronę panelu zarządzania botnetem.
Carberp to znany od trzech lat botnet, autorstwa naszych wschodnich sąsiadów. Stworzony przez zespół kilkunastu programistów, pomógł przestępcom okraść wiele banków i ich klientów na setki milionów dolarów. Nigdy nie był szeroko udostępniany – był wykorzystywany tylko przez jedną grupę przestępczą. 5 czerwca na forum Lampeduza (krótko potem także na exploit.in) pojawiła się zaskakująca oferta sprzedaży kodu źródłowego botnetu, a kilkanaście dni później na forum darkode.com wylądowało ogromne archiwum zawierające między innymi pełen kod źródłowy Carberpa (a przy okazji kod Zeusa, Citadela, RootkitUnhooker, UPX, openVPN, Stoned Bootkit, KonBoot, Rovnix, Mystic Compressor, logi rozmów i dane twórców botnetów). Co pokazała analiza kodu Carberpa?
Carberp oprócz perfekcyjnych modułów wstrzykiwania fragmentów kodu do stron banków internetowych posiada również unikatowy moduł, zwany bootkitem. Jest to sterownik, wczytywany zanim zainicjowane zostaną procesy jądra systemu lub inne sterowniki, dzięki czemu pozwala złośliwemu oprogramowaniu omijać mechanizmy zabezpieczające Windowsa (w tym PatchGuard). Jego kod źródłowy bez wątpienia ucieszy niejednego autora złośliwego oprogramowania.
Najciekawszym odkryciem w kodzie źródłowym botnetu wydaje się jednak poważny błąd w panelu zarządzania botnetu, opublikowany w niezawodnym serwisie XyliBox.
Błąd w sposobie użycia funkcji eval() sprawia, że atakujący, znający adres serwera C&C, może przejąć nad nim kontrolę. XyliBox opublikował oczywiście przykład odpowiedniego kodu, wykorzystującego tę podatność. Exploit pobiera z pliku includes/config.php hasło i login do bazy danych, z bazy danych wyciąga hasz hasła administratora panelu, a z pliku index.php adres panelu logowania wraz z kluczem zabezpieczającym.
Jako że znane jest kilka adresów C&C Carberpa, przykładowe zrzuty ekranu panelu sterowania możecie obejrzeć w serwisie XyliBox. Wygląda zatem na to, że autor wycieku (prawdopodobnie prowadzący konkurencyjny biznes w tej samej branży) może świętować („uspeh” na końcu hasła dostępu do archiwum z kodem źródłowym Carberpa oznacza „sukces” po rosyjsku).
Tak jak miało to miejsce w przypadku wycieku kodu źródłowego Zeusa, możemy wkrótce spodziewać się wielu klonów Carberpa. W tym wypadku jednak, jak ujął to jeden z rosyjskich blogerów, nie wyciekł kod źródłowy czołgu, a fabryki czołgów – więc nie jest to dobra wiadomość dla użytkowników komputerów.
Komentarze
„Shakować”? Chyba zhakować..
Dzięki, poprawione
Xyli jak zawsze zaskakuje :D
„ogromne archiwum (…) pełen kod źródłowy (…) openVPN (…)”
od kiedy to openVPN jest czymś złym? i zawsze myślałem że kod źródłowy opensourcowego oprogramowania jest szeroko dostępny… ;)
A czy gdzieś napisaliśmy, że jest czymś złym? Po prostu było w archiwum :)
dzięki, fajny news ;]
Błąd w użyciu funkcji eval? Raczej „użycie funkcji eval” – to jest samo zło i mrok ;-)
Ciężko znaleźć poprawne (uzasadnione) wykorzystanie tej funkcji…
gdzie tam widzisz źródła konboota?
Źródło Citadel nie zostało upublicznione…
Nie wiem skąd masz informację że zostało.
Zaufaliśmy w tym względzie Xyli, który się z reguły nie myli (http://www.xylibox.com/2013/06/carberp-archive.html). Być może miał na myśli buildery a nie kod źródłowy.