Pytanie:
Jak zbadać zachowanie złośliwego oprogramowania, które nie jest wykonywane?
Jeremy
2018-08-12 07:23:36 UTC
view on stackexchange narkive permalink

Mam próbkę złośliwego oprogramowania, o której wiem, że działa jako bot i łączy się z botnetem. Problem polega na tym, że nie używa żadnego znanego mi protokołu (jest podobny do IRC) i tak naprawdę nic nie robi, dopóki nie otrzyma komend.

Jak mogę zbadać zachowanie, które może zostać wydane za pośrednictwem serwera C&C? Myślałem o ewentualnym zastosowaniu symbolicznego wykonania przez część programu, która otrzymuje polecenia? Analiza statyczna byłaby żmudna, ponieważ kod jest zaciemniony.

Jeden odpowiedź:
hariom
2018-08-13 13:34:51 UTC
view on stackexchange narkive permalink

Zalecałbym użycie Debuggera, takiego jak x32dbg i zmianę parametrów w locie, aby wywołać oczekiwane zachowanie.

Dodatkowo możesz użyć usługi takiej jak INetSim, aby odpowiadała na zapytania próbki złośliwego oprogramowania.

Skończyło się na tym, że zlokalizowałem podprogram, który zaakceptował polecenie, a także zlokalizowałem procedurę niepowodzenia (tj. Nierozpoznane polecenie) i używając symbolicznego silnika wykonawczego ANGR, byłem w stanie zbadać wszystkie trasy, które nie osiągnęły niepowodzenia. Dzięki odrobinie hakerskiego kodu udało mi się wydobyć kilka poleceń z pliku binarnego. Wcześniej próbowałem już symulować sieć za pomocą INetSim, ale przechodzenie przez kod było zbyt uciążliwe dla każdego polecenia.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...