Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Firmy antywirusowe, eksperci ds. bezpieczeństwa IT oraz entuzjaści publikują w internecie systemy pułapki — honeypoty, aby „złapać na żywca” nową odmianę wirusa lub ujawnić niezwykłe taktyki hakerów. Honeypoty pojawiają się tak często, że cyberprzestępcy wykształcili swoisty immunitet: szybko rozpoznają, że mają do czynienia z pułapką i po prostu ją ignorują. Aby zbadać taktyki nowoczesnych hakerów, stworzyliśmy realistyczny honeypot, który przez siedem miesięcy funkcjonował w internecie, przyciągając różnorodne ataki. O tym, jak to było, opowiadamy w naszym badaniu „Caught in the Act: Running a Realistic Factory Honeypot to Capture Real Threats”. Niektóre fakty z badania przedstawiamy w tym wpisie.

Tworzenie honeypota: lista kontrolna

Głównym celem przy tworzeniu naszej superpułapki było uniknięcie wykrycia przez hakerów, którzy wykazali nią zainteresowanie. W tym celu należało przeprowadzić szereg działań:

  1. Stworzenie realistycznej legendy o firmie, obejmującej imiona i nazwiska oraz zdjęcia pracowników, numery telefonów i adresy e-mail.
  2. Zaprojektowanie i wdrożenie modelu infrastruktury przemysłowej, odpowiadającego legendzie o działalności naszej firmy.
  3. Podjęcie decyzji, jakie usługi sieciowe będą dostępne z zewnątrz, jednak bez otwierania podatnych portów, aby nie wyglądało to jak pułapka dla naiwnych.
  4. Zorganizowanie widoczności wycieku informacji o podatnym systemie i rozpowszechnienie tych informacji wśród potencjalnych atakujących.
  5. Wdrożenie dyskretnego monitorowania działań hakerów w infrastrukturze pułapki.

A teraz wszystko po kolei.

Tworzymy legendę

Cyberprzestępcy już przyzwyczaili się do wielu honeypotów, dlatego najpotężniejsza ich część przeprowadza dogłębną analizę każdego podatnego systemu, aby upewnić się, że to nie jest pułapka. Z tego samego powodu dążyliśmy do osiągnięcia nie tylko realizmu honeypota pod względem designu i aspektów technicznych, ale także do stworzenia wrażenia rzeczywistej firmy.

Zakładając się w roli hipotetycznego kulhakera, opracowaliśmy algorytm weryfikacji, który pozwalałby odróżnić rzeczywisty system od pułapki. Obejmuje to poszukiwanie adresów IP firmy w systemach reputacyjnych, badanie historii adresów IP wstecz, wyszukiwanie nazw i słów kluczowych związanych z firmą oraz jej kontrahentami i wieloma innymi rzeczami. W końcu legenda wydawała się całkiem przekonująca i atrakcyjna.

Postanowiliśmy pozycjonować fabrykę pułapki jako mały butik przemysłowego prototypowania, działający dla bardzo dużych anonimowych klientów z sektora wojska i lotnictwa. To zwolniło nas od trudności prawnych związanych z używaniem istniejącej marki.

Następnie musieliśmy wymyślić wizję, misję i nazwę organizacji. Zdecydowaliśmy, że nasza firma będzie startupem z niewielką liczbą pracowników, z których każdy jest założycielem. To dodawało wiarygodności legendzie o specjalizacji naszego biznesu, która pozwala mu pracować z delikatnymi projektami dla dużych i ważnych klientów. Chcieliśmy, aby nasza firma wyglądała słabo pod względem cyberbezpieczeństwa, ale jednocześnie było oczywiste, że pracujemy z ważnymi aktywami w docelowych systemach.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Zrzut ekranu strony pułapki MeTech. Źródło: Trend Micro

Na nazwę firmy wybraliśmy słowo MeTech. Stronę zrobiliśmy na podstawie darmowego szablonu. Obrazy wzięliśmy z banków zdjęć, używając najmniej popularnych i przerabiając je, aby były mniej rozpoznawalne.

Chcieliśmy, aby firma wyglądała na realną, więc trzeba było dodać do niej pracowników z profesjonalnymi umiejętnościami odpowiednimi do profilu działalności. Wymyśliliśmy dla nich imiona i osobowości, a następnie próbowaliśmy wybrać obrazy z banków zdjęć zgodnie z przynależnością etniczną.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Zrzut ekranu strony pułapki MeTech. Źródło: Trend Micro

Aby nas nie ujawniono, szukaliśmy grupowych zdjęć dobrej jakości, z których można było wybrać odpowiednie nam twarze. Jednak potem zrezygnowaliśmy z tej opcji, ponieważ potencjalny haker mógł skorzystać z wyszukiwania wstecznego obrazów i odkryć, że nasi „pracownicy” żyją tylko w bankach zdjęć. Ostatecznie skorzystaliśmy ze zdjęć fikcyjnych osób, stworzonych za pomocą sieci neuronowych.

Opublikowane na stronie profile pracowników zawierały istotne informacje o ich umiejętnościach technicznych, jednak unikaliśmy wskazywania konkretnych uczelni i miast.
Do tworzenia skrzynek e-mailowych skorzystaliśmy z serwera dostawcy hostingu, a następnie wynajęliśmy kilka numerów telefonów w USA i połączyliśmy je w wirtualną centralę telefoniczną z menu głosowym i automatyczną sekretarką.

Infrastruktura honeypota

Aby uniknąć odkrycia, postanowiliśmy użyć kombinacji prawdziwego sprzętu przemysłowego, fizycznych komputerów i zabezpieczonych maszyn wirtualnych. Wyprzedzając fakty, powiemy, że wynik naszych działań sprawdziliśmy za pomocą wyszukiwarki Shodan, która pokazała, że honeypot wygląda jak prawdziwy system przemysłowy.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Wynik skanowania honeypota za pomocą Shodan. Źródło: Trend Micro

Jako „sprzęt” dla naszej pułapki użyliśmy czterech PLC:

  • Siemens S7-1200,
  • dwóch AllenBradley MicroLogix 1100,
  • Omron CP1L.

Te PLC zostały wybrane ze względu na ich popularność na rynku światowym systemów zarządzania. Każdy z tych kontrolerów używa swojego protokołu, co pozwalało nam sprawdzić, który z PLC będzie atakowany częściej i czy w ogóle wzbudzi czyjeś zainteresowanie.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Sprzęt naszej „fabryki”-pułapki. Źródło: Trend Micro

Nie tylko postawiliśmy sprzęt i podłączyliśmy go do internetu. Każdy kontroler zaprogramowaliśmy do wykonywania zadań, do których należały

  • mieszanie,
  • zarządzanie palnikiem i taśmą transportową,
  • paletyzacja z wykorzystaniem robota-manipulatora.

Aby proces produkcji był realistyczny, zaprogramowaliśmy logikę do losowej zmiany parametrów sprzężenia zwrotnego, symulacji uruchamiania i zatrzymywania silników, włączania i wyłączania palnika.

W naszej fabryce były trzy komputery wirtualne i jeden fizyczny. Wirtualki służyły do zarządzania fabryką, robotem-paletyzatorem i jako robocza stacja inżyniera-programisty PLC. Fizyczny komputer działał jako serwer plików.

Oprócz monitorowania ataków na PLC, chcieliśmy śledzić stan programów załadowanych na nasze urządzenia. W tym celu stwórzliśmy interfejs, który umożliwiał szybkie ustalenie, w jaki sposób zostały zmodyfikowane stany naszych wirtualnych mechanizmów wykonawczych i instalacji. Już na etapie planowania odkryliśmy, że znacznie łatwiej zrealizować to za pomocą programu zarządzającego niż poprzez bezpośrednie programowanie logiki kontrolera. Do interfejsu zarządzania urządzeniami naszego honeypota uzyskaliśmy dostęp przez VNC bez hasła.

Roboty przemysłowe to kluczowy komponent nowoczesnej inteligentnej produkcji. W związku z tym postanowiliśmy dodać robota oraz stanowisko (ARM) do zarządzania nim w skład sprzętu naszej fabryki-pułapki. Aby uczynić „fabrykę” bardziej realistyczną, na stanowisku zarządzania zainstalowaliśmy prawdziwe oprogramowanie, które inżynierowie wykorzystują do graficznego programowania logiki robota. Ponieważ przemysłowe roboty zazwyczaj znajdują się w izolowanej sieci wewnętrznej, postanowiliśmy pozostawić niechroniony dostęp przez VNC tylko do stanowiska zarządzania.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Środowisko RobotStudio z modelem 3D naszego robota. Źródło: Trend Micro

Na wirtualnej maszynie ze stanowiskiem zarządzania robotem zainstalowaliśmy środowisko programistyczne RobotStudio od ABB Robotics. Po skonfigurowaniu RobotStudio, otworzyliśmy w nim plik symulacji z naszym robotem, aby jego obraz 3D był widoczny na ekranie. W rezultacie Shodan i inne wyszukiwarki, odkrywając niechroniony serwer VNC, uzyskają ten obraz z ekranu i pokażą go tym, którzy szukają przemysłowych robotów z otwartym dostępem do zarządzania.

Istotą takiego zwrócenia uwagi na szczegóły była chęć stworzenia atrakcyjnego i maksymalnie realistycznego celu dla cyberprzestępców, którzy po jego odkryciu wracaliby do niego ponownie i ponownie.

Stanowisko inżyniera


Do programowania logiki PLC dodaliśmy do infrastruktury komputer inżynieryjny. Zainstalowaliśmy na nim przemysłowe oprogramowanie do programowania PLC:

  • TIA Portal dla Siemensa,
  • MicroLogix dla kontrolera Allen-Bradley,
  • CX-One dla Omron.

Zdecydowaliśmy, że inżynieryjne stanowisko robocze nie będzie dostępne poza siecią. Zamiast tego ustaliliśmy taki sam hasło dla konta administratora, jak na dostępnych przez internet ARM zarządzania robotami i ARM zarządzania fabryką. Taka konfiguracja jest dość powszechna w wielu firmach.
Niestety, mimo naszych wysiłków, żaden atakujący nie dotarł do ARM inżyniera.

Serwer plików

Był nam potrzebny jako przynęta dla włamywaczy oraz jako środek do tworzenia kopii zapasowych naszych własnych 'prac' w fabryce pułapce. Pozwoliło nam to wymieniać pliki z naszym honeypotem za pomocą urządzeń USB, nie pozostawiając śladów w sieci pułapki. Jako system operacyjny dla serwera plików zainstalowaliśmy Windows 7 Pro, w którym utworzyliśmy wspólny folder dostępny do odczytu i zapisu dla każdego.

Na początku nie tworzyliśmy żadnej hierarchii folderów i dokumentów na serwerze plików. Z czasem jednak okazało się, że atakujący aktywnie badają ten folder, więc postanowiliśmy go wypełnić różnymi plikami. W tym celu napisaliśmy skrypt w Pythonie, który tworzył plik o losowym rozmiarze z jedną z określonych rozszerzeń, formując nazwę na bazie słownika.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Skrypt do generowania atrakcyjnych nazw plików. Źródło: Trend Micro

Po uruchomieniu skryptu uzyskaliśmy oczekiwany wynik w postaci folderu wypełnionego plikami o bardzo interesujących nazwach.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Wynik działania skryptu. Źródło: Trend Micro

Środowisko do monitorowania


Poświęcając tyle wysiłku na stworzenie realistycznej firmy, po prostu nie mogliśmy pozwolić sobie na przeoczenie środowiska do monitorowania naszych 'gości'. Musieliśmy zbierać wszystkie dane w czasie rzeczywistym w taki sposób, aby atakujący nie zauważyli, że są obserwowani.

Zrealizowaliśmy to przy użyciu czterech adapterów USB-Ethernet, czterech rozgałęźników Ethernet SharkTap, Raspberry Pi 3 oraz dużego zewnętrznego dysku. Schemat naszej sieci wyglądał następująco:

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Schemat sieci honeypota z urządzeniami do monitorowania. Źródło: Trend Micro

Trzy rozgałęźniki SharkTap umieściliśmy w taki sposób, aby monitorować cały zewnętrzny ruch do PLC, dostępnego tylko z wewnętrznej sieci. Czwarty SharkTap śledził ruch gości podatnej wirtualnej maszyny.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Ethernet-rozgałęźnik SharkTap oraz router Sierra Wireless AirLink RV50. Źródło: Trend Micro

Raspberry Pi przeprowadzał codzienny zrzut ruchu. Połączenie z Internetem zorganizowaliśmy za pomocą routera komórkowego Sierra Wireless AirLink RV50, często wykorzystywanego w przedsiębiorstwach przemysłowych.

Niestety, ten router nie pozwalał na selektywne blokowanie ataków, które nie odpowiadały naszym planom, dlatego do sieci dodaliśmy zaporę Cisco ASA 5505 w trybie przezroczystym, aby realizować blokady z minimalnym wpływem na sieć.

Analiza ruchu


Tshark i tcpdump są odpowiednie do szybkiego rozwiązywania bieżących problemów, ale w naszym przypadku ich możliwości były niewystarczające, ponieważ mieliśmy wiele gigabajtów ruchu, które analizowało kilka osób. Skorzystaliśmy z open-source'owego analizatora Moloch, opracowanego przez AOL. Jeśli chodzi o funkcjonalność, jest on porównywalny z Wiresharkiem, jednak oferuje więcej możliwości współpracy, opisywania i tagowania pakietów, eksportu i innych zadań.

Ponieważ nie chcieliśmy przetwarzać zebranych danych na komputerach honeypota, zrzuty PCAP były codziennie eksportowane do magazynu AWS, skąd już importowaliśmy je na maszynę z Moloch.

Nagrywanie ekranu

Aby udokumentować działania hackerów w naszym honeypocie, napisaliśmy skrypt, który w określonych odstępach czasu robił zrzuty ekranu z wirtualnej maszyny i, porównując je z poprzednim zrzutem, określał, czy coś się tam dzieje czy nie. Przy wykryciu aktywności skrypt uruchamiał nagrywanie ekranu. Takie podejście okazało się najbardziej efektywne. Próbowaliśmy także analizować ruch VNC z zrzutu PCAP, aby zrozumieć, jakie zmiany zaszły w systemie, ale ostatecznie wdrożone przez nas nagrywanie ekranu okazało się prostsze i bardziej przejrzyste.

Monitorowanie sesji VNC


Do tego wykorzystaliśmy Chaosreader i VNCLogger. Oba narzędzia wyciągają z zrzutu PCAP naciśnięcia klawiszy, ale VNCLogger lepiej radzi sobie z klawiszami typu Backspace, Enter, Ctrl.

VNCLogger ma dwie wady. Po pierwsze: może wyciągać klawisze tylko 'podsłuchując' ruch na interfejsie, więc musieliśmy emulować dla niego sesję VNC za pomocą tcpreplay. Drugą wadą VNCLogger, wspólną z Chaosreader, jest to, że oba narzędzia nie pokazują zawartości schowka. W tym celu musieliśmy skorzystać z Wiresharka.

Wabiemy hakerów


Stworzyliśmy honeypot, aby był atakowany. W tym celu zainscenizowaliśmy wyciek informacji, mający na celu przyciągnięcie uwagi potencjalnych hakerów. Na honeypocie otwarte zostały następujące porty:

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony

Port RDP musiał zostać zamknięty wkrótce po rozpoczęciu pracy, ponieważ z powodu ogromnej ilości skanującego ruchu w naszej sieci wystąpiły problemy z wydajnością.
Terminale VNC początkowo działały w trybie 'tylko do oglądania' bez hasła, a następnie 'przez pomyłkę' przestawiliśmy je w tryb pełnego dostępu.

Aby przyciągnąć atakujących, zamieściliśmy dwa posty z 'wyciekłymi' informacjami o dostępnej przemysłowej systemie na PasteBin.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
Jeden z postów zamieszczonych na PasteBin w celu przyciągnięcia ataków. Źródło: Trend Micro

Ataki


Honeypot był online przez około siedem miesięcy. Pierwszy atak miał miejsce miesiąc po uruchomieniu honeypota.

Skanery

Było dużo ruchu od skanerów znanych firm — ip-ip, Rapid, Shadow Server, Shodan, ZoomEye i innych. Było ich tak dużo, że musieliśmy je wykluczyć adresy IP z analizy: 610 z 9452 lub 6,45% wszystkich unikalnych adresów IP należało do całkiem legalnych skanerów.

Oszuści

Jednym z największych ryzyk, z którymi musieliśmy się zmierzyć, było wykorzystanie naszego systemu do celów przestępczych: do zakupu smartfonów przez konto abonenta, wypłacania mil linii lotniczych za pomocą kart podarunkowych i innych rodzajów oszustw.

Kopacze

Jednym z pierwszych odwiedzających nasz system okazał się kopacz. Zainstalował na nim oprogramowanie do kopania Monero. Dużo na naszym konkretnej systemie by nie zarobił z powodu niskiej wydajności. Jednak jeśli połączy się wysiłki kilku, a nawet setek takich systemów, mogłoby to być całkiem opłacalne.

Ransomware

Podczas pracy honipota dwa razy mieliśmy do czynienia z prawdziwymi wirusami-hakerami. W pierwszym przypadku był to Crysis. Jego operatorzy weszli do systemu przez VNC, a następnie zainstalowali TeamViewer, którego użyli do dalszych działań. Czekając na wiadomość z żądaniem okupu w wysokości 10 tys. dolarów w BTC, skontaktowaliśmy się z przestępcami, prosząc ich o deszyfrowanie jednego z plików. Spełnili prośbę i powtórzyli żądanie okupu. Udało nam się zredukować kwotę do 6 tys. dolarów, po czym po prostu przywróciliśmy system na wirtualnej maszynie, ponieważ uzyskaliśmy wszystkie niezbędne informacje.

Drugim hakerem okazał się Phobos. Haker, który go zainstalował, przez godzinę przeszukiwał system plików honipota i skanował sieć, a następnie ostatecznie zainstalował ransomware.
Trzecia atak ransomware okazał się fałszywy. Nieznany 'haker' pobrał na nasz system plik haha.bat, po czym przez jakiś czas obserwowaliśmy, jak próbuje go uruchomić. Jedną z prób było zmienienie nazwy haha.bat na haha.rnsmwr.

Niewyobrażalnie atrakcyjny: jak stworzyliśmy honeypot, który nie może zostać ujawniony
'Haker' zwiększał złośliwość pliku bat, zmieniając jego rozszerzenie na .rnsmwr. Źródło: Trend Micro

Kiedy batnik w końcu zaczął się uruchamiać, 'haker' edytował go, zwiększając okup z 200 do 750 dolarów. Po tym 'zaszyfrował' wszystkie pliki, zostawił na pulpicie wiadomość z żądaniem okupu i ulotnił się, zmieniając hasła do naszego VNC.

Po kilku dniach haker wrócił, aby przypomnieć o sobie, uruchomił batnik, który otwierał wiele okien z pornograficzną stroną. Najwyraźniej w ten sposób próbował przyciągnąć uwagę do swojego żądania.

Podsumowanie


W trakcie badania okazało się, że jak tylko informacje o podatności zostały opublikowane, honipot przyciągnął uwagę, a aktywność rosła z dnia na dzień. Aby pułapka przyciągnęła uwagę, musieliśmy dopuścić do wielu naruszeń bezpieczeństwa naszej fikcyjnej firmy. Niestety, taka sytuacja nie jest rzadkością wśród wielu realnych firm, które nie mają etatowych pracowników IT i ochrony informacji.

W ogólnym przypadku organizacje powinny stosować zasadę najmniejszych przywilejów, podczas gdy my wprowadziliśmy jej całkowite przeciwieństwo, aby przyciągnąć cyberprzestępców. Im dłużej obserwowaliśmy ataki, tym bardziej wyrafinowane stawały się w porównaniu do standardowych metod testowania penetracyjnego.

I co najważniejsze: wszystkie te ataki zakończyłyby się niepowodzeniem, gdyby podczas konfiguracji sieci wprowadzono odpowiednie środki bezpieczeństwa. Organizacje powinny dbać o to, aby ich sprzęt i komponenty infrastruktury przemysłowej nie były dostępne z internetu, tak jak specjalnie zrobiliśmy w naszej pułapce.

Chociaż nie zarejestrowaliśmy żadnego ataku na stanowisko inżyniera, mimo że używano tego samego hasła lokalnego administratora na wszystkich komputerach, warto unikać takiej praktyki, aby zminimalizować możliwość intruzji. Słabe zabezpieczenia stanowią dodatkowe zaproszenie do ataku na systemy przemysłowe, które od dawna budzą zainteresowanie cyberprzestępców.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster