Skoro już wybrałem sobie moją maskotkę, warto przyjrzeć się jej bliżej, zanim pozwolę jej się odezwać, czyli się uruchomić.
Tamagotchi III: pokaż ząbki
Pewnie jacyś bardzo mądrzy ludzie po spojrzeniu w kod maszynowy programu wiedzą (przynajmniej mniej więcej), co dany program robi. Inni wolą patrzeć w assembler, który jest zdecydowanie bardziej przyjazny dla człowieka, a przejście między assemblerem a kodem maszynowym (w obie strony) jest dość proste. Ja aż tak mądry nie jestem, dlatego raczej wolę monitorować zachowanie wybranej maskotki, co mądrze można nazwać analizą behawioralną. Mimo wszystko kilka rzeczy z pliku programu wyczytać można spróbować.
Podstawowe cechy złapanej próbki widać na pierwszy rzut oka.
- suma kontrolna (md5): c1ab3a6d0df4667de52dac0c7b4a1595,
- rozmiar: 76 800 bajtów,
Czego można się więcej dowiedzieć?
Złośliwe oprogramowanie musi się ukrywać przed antywirusami. Jednym ze sposobów uniknięcia wykrycia, jest ciągła zmiana swojego wyglądu, tak, by antywirus miał problem z dopasowaniem odpowiedniej sygnatury. Dość częstą technika jest szyfrowanie i kompresowanie pliku wykonywalnego. Część narzędzi pozostawia swoją wyraźną sygnaturę. Można spróbować wykorzystać narzędzie typu PEiD do rozpoznania, czy została zastosowana kompresja lub szyfrowanie, a jeśli tak, to jakie narzędzie zostało wykorzystane. W tym przypadku jednak PEiD nie rozpoznał narzędzia. Być może by rozpoznał, gdybym zaopatrzył go w dodatkowe pluginy, jednak nie było takiej potrzeby. Inne przesłanki wyraźnie mówiły o tym, że plik jest skompresowany:
- duża entropia,
- mała liczba czytelnych dla człowieka stringów w pliku wykonywalnym,
- mała liczba importów (w porównaniu ze "zwykłym" programem),
- nazwy sekcji typu .packed oraz .RLPack,
Zwłaszcza nazwa sekcji .RLPack była przydatna, google błyskawicznie wskazało użyte narzędzie: RLPack,
Entropię pliku można sprawdzić bezpośrednio w PEiD, można wykorzystać do tego celu również Cryptool (lub wersję polską). W CrypTool można wykorzystać dodatkowo floating frequency. Co do listy stringów, to oczywiście tradycyjne strings, a jeśli chodzi o analizę pliku wykonywalnego (taką dla bardziej opornych - czyli dla mnie), to wykorzystać można na przykład MiteC Exe Viewer, choć można również skorzystać z innych narzędzi.
Wracając do tematu RLPack, to znalazłem instrukcje rozpakowania, ale aż tak bardzo na tym mi nie zależy. Zresztą nawet nie chce mi się sprawdzać, czy wykorzystany jest "zwykły" RLPack, czy może "RLPack Premium/Full Edition". Gdybym jednak ja wypuszczał tego robaka w świat, to zainwestowałbym te kilkadziesiąt euro...
Jeśli po mojej prezentacji na dzisiejszym spotkaniu OWASP kogoś zainteresował temat ogólnie pojętego forensic, być może zainteresują go również starsze wpisy dotyczące tego tematu. Nazbierało się tego trochę, więc małe przypomnienie części z poruszanych t
Przesłany: Jun 10, 20:54