Analiza aktywności złośliwego oprogramowania Orcus RAT CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 1 z 50
Remote Access Tool znany pod nazwą Orcus to jedna z popularniejszych w ostatnim czasie odmian złośliwego oprogramowania, dlatego też eksperci CERT Orange Polska poddali ją dokładnej analizie.. Orcus posiada cechy typowego RAT, różni się jednak możliwością tworzenia dodatkowych niestandardowych wtyczek oraz dwumodułową architekturą, zapewniającą lepsze i wydajniejsze zarządzanie przez cyberprzestępcę serwerem Command&Control (C&C). Orcus RAT napisany jest w języku C# i składa się trzech modułów: Serwera C&C kontrolera za pomocą którego cyberprzestępca kontroluje zainfekowane komputery logując się do docelowego C&C złośliwego kodu instalowanego na komputerze użytkownika Poniższa ilustracja obrazuje funkcjonowanie trzech elementów: Tego typu schemat działania umożliwia kontrolę wszystkich zainfekowanych komputerów podłączonych do jednego serwera C&C, dając jednorazowo wiele korzyści dla cyberprzestępców z uwagi na możliwość zarządzania zainfekowanymi komputerami użytkowników przez wielu botmasterów. Rozbudowany i bogaty zestaw narzędzi oferowanych przez Orcus RAT prawdopodobnie zwróci uwagę cyberprzestępców, w efekcie czego w niedalekiej przyszłości wzrośnie jego wykorzystanie w nowych kampaniach phishingowych. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 2 z 50
Złośliwe oprogramowanie po uruchomieniu kopiowało się w lokalizację systemu użytkownika C:\Użytkownicy\Nazwa Użytkownika\AppData\Roaming\Microsoft\Speech\, tworząc plik o nazwie AudioDriver.exe z atrybutami +S +H, dzięki czemu plik ze złośliwym oprogramowaniem był automatycznie ukrywany. Usunięcie parametrów poleceniem attrib s h umożliwiało dalszą analizę wirusa. Podczas analizy pliku AudioDriver.exe wykorzystano inżynierię wsteczną w celu dokładnego przeanalizowania kodu i zaimplementowanych w nim funkcjonalności. Poniżej został przedstawiony zdekompilowany kod źródłowy analizowanego wirusa oraz jego klas, na podstawie których można określić złośliwe funkcje analizowanej próbki. Widoczny kod to zakodowane wartości, odpowiadające między innymi za konfigurację wirusa, ścieżki instalacji w systemie użytkownika oraz adres IP serwera Command&Control, do którego mają być przesyłane wykradzione dane. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 3 z 50
Wirus kontaktował się ze swoim C&C pod adresem 59.10.*.* na porcie 10134 CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 4 z 50
Klasa SendInformation odpowiada za przesyłanie informacji na temat zainfekowanego komputera, nazwy użytkownika, wersji systemu operacyjnego, wersji NET. Framework do serwera Command&Control. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 5 z 50
Dodatkową funkcją jest pobieranie informacji na temat numeru klucza licencyjnego systemu Windows poprzez odczytanie go z rejestru i zdekodowanie. Poniższa klasa GetWindowsProductKey() odpowiada za odczyt wpisu w rejestrze CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 6 z 50
Następnie za pomocą klasy DecodeProductKey i zawartego w niej kodu następuje zdekodowanie klucza. Dodatkiem jest kod, który dekoduje klucz licencyjny z wersji Windows 8 oraz wyższych. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 7 z 50
Malware posiada również funkcjonalność minimalizującą jego wykrywalność przez systemy detekcji kod sprawdzający, czy wirus uruchomiony jest w środowisku wirtualnym ParallelsDesktop, VirtualBox, VirtualPC czy VMWare przeznaczonym do analizy złośliwego oprogramowania. Klasa TcpAnalyzerDetector odpowiada za detekcję uruchomionych na komputerze procesów jak NETMON, TCPVIEW czy WIRESHARK służących do analizy ruchu sieciowego tak, by aktywność wirusa pozostała niezauważona w chwili komunikacji z C&C. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 8 z 50
Klasa GetFrameworkVersion odpowiada za dostarczenie informacji na temat dostępnej wersji dotnet na zainfekowanej maszynie. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 9 z 50
Poniższa klasa LivePerformance odpowiada między innymi za dostarczenie informacji na temat szczegółów dotyczących hardware na zainfekowanym komputerze, takich jak: procesor, ilość interfejsów sieciowych czy pamięć operacyjna: Klasę SetEthernetInformation przedstawiono w bardziej rozbudowany sposób CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 10 z 50
Klasa SetMemoryInformation przekazuje aktualny stan obciążenia pamięci operacyjnej. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 11 z 50
Klasa SetProcesorInformation przekazuje aktualny stan obciążenia procesora. Klasa UninstallProgramCommand odpowiada za zdalne odinstalowanie programów na zainfekowanym komputerze. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 12 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 13 z 50
Klasa RegistryCommand pozwala na zdalne i pełne edytowanie rejestru systemowego zainfekowanej maszyny (dodawanie i usuwanie kluczy) poniższy fragment kodu przedstawia klasę odpowiedzialną za tę funkcję. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 14 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 15 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 16 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 17 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 18 z 50
Wirus posiada również możliwość wysłania z C&C cyberprzestępcy dowolnego pliku i uruchomienia go na zdalnym komputerze, a także pobrania z zewnętrznego serwera/strony WWW pliku, zapisanie go na dysku użytkownika i uruchomienie. Za te funkcje odpowiedzialne są klasy DownloadAndExecuteCommand oraz DownloadAndExecuteFromUrlCommand. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 19 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 20 z 50
Klasa ConsoleCommand umożliwia zdalne wywołanie wiersza poleceń na zainfekowanym komputerze bez wiedzy użytkownika, pozwalając na dowolne operacje z linii poleceń. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 21 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 22 z 50
Wirus posiada też możliwość uruchomienia złośliwego kodu w językach VisualBasic i C#, a także skryptów wsadowych systemu Windows Batch. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 23 z 50
Klasa MessageBoxCommand pozwala na wywołanie na komputerze użytkownika zmodyfikowanego przez botmastera okna dialogowego z pięcioma różnymi ikonami komunikatów graficznych. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 24 z 50
Klasa OpenWebsiteCommand pozwala na otwarcie przeglądarki internetowej z dowolną witryną. Orcus RAT dysponuje zestawem narzędzi, które umożliwiają przeprowadzenie rozproszonych atakówmalware posiada rozbudowany moduł DDosManager, umożliwiający poniższe ataki: HTTP Flood manipulowanie protokołem warstwy aplikacji HTTP i niepożądanymi żądaniami POST w celu ataku na serwer lub witrynę WWW. Ataki te bardzo często korzystają z botnetów, stworzonych przy użyciu trojanów, czy RAT-ów. Dzięki temu do przeprowadzenia skutecznego ataku nie potrzeba komputerów podłączonych do łącza o dużej przepustowości lecz jedynie ich dużej ilości. Podczas ataku HTTP Flood z wielu przejętych komputerów zostają wysłane sfałszowane pakiety HTTP (z żądaniami GET lub POST) podszywające się pod normalną przeglądarkę internetową, współdziałając z aplikacją lub serwerem. Celem ataku jest zmuszenie serwera do przeznaczenia jak największej liczby zasobów, a tym samym pozbawianie legalnych użytkowników dostępu do zasobów serwera. Żądanie GET jest używane do pobierania statycznych treści, takich jak obrazy, co zwykle powoduje względne obciążenie serwera na żądanie. Żądania POST wymagają, by serwer wykonał przetwarzanie (np. wyszukiwanie elementów w bazie danych), co przy dużej ilości żądań przeciąża atakowane urządzenie. ICMP Flood atak polega na wysyłaniu pakietów ICMP (Internet Control Message Protocol), wykorzystywanych do diagnostyki błędów przy połączeniach sieciowych (m.in. pakietu ping, służącego do testowania opóźnień w sieci). Zalew informacji ICMP, tj. wysyłanie nienormalnie dużej liczby pakietów ICMP dowolnego typu (zwłaszcza pakiety ping) może ograniczyć dostępność zasobów serwera docelowego, w sytuacji, gdy próbuje przetworzyć każde otrzymane żądanie ICMP. Ping Flood jest bardzo popularnym sposobem przeciążenia łącza pakietami ICMP, zalewając ofiarę połączeniami o przepustowości większej niż łącze atakowanego serwera. Atakowany serwer otrzymuje bardzo dużą ilość zapytań ping ICMP Echo Request, które mają sfałszowany adres IP źródła. Odpowiedź na każde z osobna za pomocą ICMP Echo Reply doprowadza do przeciążenia łącza serwera, a finalnie do niedostępności oferowanych przezeń usług. SYN Flood atak polega na wysyłaniu dużej ilości pakietów z ustawioną w nagłówku flagą synchronizacji (SYN).Pakiety TCP z ustawioną flagą SYN informują zdalny komputer o chęci nawiązania z nim połączenia. UDP Flood atak polega na wykorzystaniu protokołu UDP, który inicjowany jest poprzez wysłanie dużej liczby pakietów UDP na losowe porty atakowanego serwera. Serwer sprawdza, które aplikacje nasłuchują na danym porcie a następnie odpowiada wysyłając pakiet ICMP CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 25 z 50
Destination Unreachable. W wyniku odebrania zbyt dużej ilości pakietów UDP serwer będzie odpowiadał wieloma pakietami ICMP, stając się ostatecznie nieosiągalny dla innych użytkowników. Podczas tego typu ataku możliwe jest spreparowanie adresu nadawcy i ukrycie go w pakiecie UDP tak aby pakiety zwrotne ICMP nie dotarły z powrotem do atakującego. Poniżej został przedstawiony kod źródłowy sekcji kodu, odpowiedzialnej za atak HTTP Flood CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 26 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 27 z 50
Sekcja kodu odpowiedzialna za atak ICMP Flood CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 28 z 50
Sekcja kodu odpowiedzialna za atak SYN Flood CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 29 z 50
Sekcja kodu odpowiedzialna za atak UDP Flood Malware posiadał także funkcje, umożliwiające kradzież zapisanych loginów i haseł z przeglądarek internetowych, a także oprogramowania klienckiego poczty oraz FTP: CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 30 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł przeglądarki internetowej Chrome CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 31 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł przeglądarki internetowej Mozilla Firefox CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 32 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 33 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł przeglądarki internetowej Internet Explorer CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 34 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł z programu CoreFTP CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 35 z 50
- Kod wirusa odpowiedzialny za kradzież loginów i haseł z programu FileZilla Kod wirusa odpowiedzialny za kradzież loginów i haseł z programu Pidgin CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 36 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł z programu JDownloader Kod wirusa odpowiedzialny za kradzież loginów i haseł z przeglądarki internetowej Yandex CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 37 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł z klienta pocztowego Thunderbird CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 38 z 50
Kod wirusa odpowiedzialny za kradzież loginów i haseł z programu WinSCP. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 39 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 40 z 50
Analizowane złośliwe oprogramowania posiadało również funkcje keylogger a. Poniższy fragment kodu przedstawia klasę LiveLoggerCommand, odpowiedzialną za przesyłanie w czasie rzeczywistym do cyberprzestępcy informacji na temat przycisków wciskanych przez użytkownika oraz otwartym aktywnym oknie oprogramowania na zainfekowanym komputerze. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 41 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 42 z 50
Wirus umożliwia także podglądanie użytkownika w czasie rzeczywistym przez kamerę wbudowaną w jego komputer. Za przejęcie kontroli nad kamerą internetową użytkownika odpowiada poniższy fragment kodu i klasa WebcamCommand. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 43 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 44 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 45 z 50
Zaskakująca jest funkcja wirusa umożliwiająca otwarcie okna chatu, co pozwala na konwersację między cyberprzestępcą i zainfekowanym użytkownikiem, co przedstawia poniższy fragment kodu. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 46 z 50
CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 47 z 50
Malware pozwala także na odtwarzanie na komputerze ofiary komunikatów dźwiękowych na zainfekowanym komputerze przy użyciu syntezatora mowy. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 48 z 50
Poniższy kod przedstawia funkcję przeznaczoną do odebrania oraz odczytywania tekstu przesłanego przez atakującego lokalnie na zainfekowanym komputerze. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 49 z 50
Rekomendacje CERT Orange Polska: CERT Orange Polska stanowczo zaleca używanie oprogramowania antywirusowego i jego stałą aktualizację, które z dużym prawdopodobieństwem pomoże uniknąć kolejnych infekcji złośliwym oprogramowaniem i/lub pomoże zminimalizować skutki infekcji. Zaleca również stosowanie oprogramowania typu firewall, którego zadaniem jest zablokowanie niechcianego ruchu sieciowego. Warto podkreślić po raz kolejny, że nigdy nie należy otwierać załączników z maili, co do których pochodzenia nie mamy 100% pewności. Jeśli nagle otrzymujesz drogą elektroniczną informacje o paczce, której nigdy nie zamawiałeś, wygranej w loterii w której nie brałeś udziału, fakturze od operatora z którego usług nie korzystasz, rachunku za coś czego nie kupowałeś itp. warto przezwyciężyć ciekawość i taki mail przesłać na adres cert.opl@orange.com celem analizy i wdrożenia ochrony w sieci OPL, a następnie usunąć go w sposób trwały z własnego komputera. W przypadku tej kampanii, użytkownicy Orange, którzy dostali złośliwy załącznik i go uruchomili są chronieni przed wyciekiem swoich danych za pomocą CyberTarczy. W przypadku braku oprogramowania antywirusowego zalecana jest również jego instalacja i przeskanowanie swojego systemu operacyjnego pod kątem złośliwego oprogramowania, które może znajdować się na komputerach użytkowników, którzy uruchomili analizowany malware. CERT OPL, Analiza Orcus RAT; Autor: Iwo Graj Strona 50 z 50