W zeszłym tygodniu Patrick Wardle opublikował ciekawą analizę nowego backdoora i droppera wykorzystywanych przez HackingTeam, który najwidoczniej wciąż istnieje i ma się dobrze. Ponieważ implanty HackingTeam są tworzone na żądanie dla konkretnego celu i wygląda na to, że wspomniane w blogu próbki zostały znalezione na wolności, chcieliśmy się im bliżej przyjrzeć: aby zobaczyć, jak działa ten najnowszy backdoor i co ujawnia jego funkcjonalność na temat potencjalnych zainteresowań stojących za nim osób atakujących.
Klucz szyfrowania
Główny komponent backdoora otrzymuje instrukcje dotyczące swojej szkodliwej funkcji z zaszyfrowanego pliku konfiguracyjnego Json. Próbę odszyfrowania tego pliku rozpoczęliśmy od wykorzystania znanych kluczy, jednak żaden z nich nie był w stanie poradzić sobie z plikiem. Po sprawdzeniu pliku binarnego zdołaliśmy stwierdzić, że funkcją wykorzystywaną do kodowania pliku nadal jest AES 128, dlatego zaczęliśmy szukać nowego klucza szyfrowania. Zlokalizowaliśmy inicjowanie procedury szyfrowania, w której klucz jest przekazywany jako argument.
Śledząc ten kod zdołaliśmy znaleźć nowy klucz wykorzystywany do szyfrowania pliku konfiguracyjnego.
Jak widać, długość klucza wynosi 32 bajty, dlatego jedynie pierwsze 16 bajtów jest wykorzystywanych jako klucz. Wykorzystując ten klucz w naszym skrypcie, udało nam się wykryć plik konfiguracyjny, który okazał się być plikiem w formacie Json, zawierającym instrukcje odnośnie tego, w jaki sposób ten konkretny backdoor powinien działać na atakowanej maszynie z systemem OS X:
Co robi implant?
Oprócz innych funkcji szpieguje również geolokalizację ofiary.
Warto zauważyć, że plik Json zawiera informację o tym, że datą rozpoczęcia operacji jest 16 października (piątek) 2015 roku. To sugeruje, że mamy do czynienia z nowym implantem backdoora HackingTeam. Z jakiegoś powodu osoba atakująca nie była zainteresowana e-mailami wysyłanymi do lub z atakowanego urządzenia przed tą datą, a jedynie od tego dnia.
Kaspersky Lab wykrywa wspomniane wcześniej implanty backdoora jako Backdoor.OSX.Morcut.u, natomiast jego droppera jako Trojan-Dropper.OSX.Morcut.d
Analizy
Blog