darmowe narzędzia OSINT

[Droga Bezpiecznika] Darmowe narzędzia OSINT – #6

Bycie bezpiecznikiem przypomina bycie rodzicem pięciolatka. Niby wszystko kontrolujesz, ale wiesz, że za rogiem czyha coś ciekawego. Możesz mieć najlepsze procedury i najlepsze systemy, a i tak jedna zapomniana subdomena, jeden phishing albo jeden błąd człowieka wystarczą, żeby skończyło się incydentem.

Cyberprzestępcy mają przy tym mnóstwo czasu i naprawdę skanują wszystko, co jest wystawione do internetu. Jeżeli myślisz, że serwer z WordPressem, router albo firewall postawiony „tylko na chwilę" na domyślnych ustawieniach nikogo nie zainteresuje, to grubo się mylisz. Robiłem kiedyś taki test: wystawiłem MikroTika do internetu na domyślnym haśle, a domyślne hasło w MikroTiku to brak hasła. Router został przejęty dosłownie po kilku godzinach.

Dlatego w tym odcinku pokazuję trzy darmowe narzędzia, którymi sprawdzisz, jak Twoja infrastruktura wygląda z zewnątrz. I od razu druga część: co zrobić, żeby wyglądała skromniej.

OSINT, czyli biały wywiad bez włamywania się

Nie mówimy tu o hackingu ani o włamywaniu się do czegokolwiek. To czysty OSINT (Open Source Intelligence), po polsku biały wywiad: zbieranie informacji z otwartych, ogólnodostępnych źródeł. Wchodzisz na stronę, wpisujesz swoją domenę i patrzysz, co świat już o Tobie wie.

Narzędzie Co pokazuje Czy wymaga konta
urlscan.io subdomeny, technologie serwera, przekierowania, historia skanów Twojej domeny nie
shodan.io wystawione usługi i porty, wersje oprogramowania, podatności CVE, domyślne hasła do podstawowego użycia nie
moje.cert.pl (Artemis) podatne wtyczki, błędy konfiguracji, wycieki danych, komunikaty CERT Polska tak, plus potwierdzenie domeny

urlscan.io, czyli kto już oglądał Twoją stronę

darmowe narzędzia OSINT

Wystarczy podać domenę i po chwili dostajesz mini raport. Widać w nim, jakie serwisy są wystawione, jakie istnieją subdomeny, z jakiej technologii korzysta serwer i czy są jakieś przekierowania.

Najciekawsza jest jednak historia skanów. Możesz podejrzeć, kiedy i w jaki sposób Twoja domena była sprawdzana. Jeżeli skan odbył się manualnie, ktoś ręcznie wszedł na stronę i wpisał Twoją domenę. To może świadczyć o wstępnym rekonesansie, czyli o etapie, na którym atakujący zbiera informacje o celu. Jeżeli natomiast widzisz skany wykonane przez API, oznacza to, że Twoją domenę automatycznie sprawdza jakiś system. Jeśli to nie Ty go uruchomiłeś, warto się zastanowić i sprawdzić, kto to robi.

Shodan, wyszukiwarka całego internetu

darmowe narzędzia OSINT

Shodan to jedno z najpotężniejszych narzędzi w tej kategorii. Skanuje dosłownie cały internet w adresacji IPv4, na większości standardowych portów. Z perspektywy bezpieczeństwa to bardzo ważne, bo pozwala zobaczyć nas tak, jak widzi nas atakujący. A gwarantuję, że przy rekonesansie Shodan jest używany bardzo często.

Co konkretnie z niego wyciągniesz:

  • Wystawione usługi. SSH, FTP, SFTP, serwer WWW, API, dowolna aplikacja webowa.
  • Podatności, czyli CVE. CVE to publiczny numer katalogowy konkretnej luki w oprogramowaniu. Shodan podaje je od razu przy usłudze.
  • Baner usługi. Baner to krótka informacja, którą serwer wysyła jeszcze przed zalogowaniem. Przy SSH bywa tam wpis, że serwer należy do danej organizacji i jest monitorowany, ale często pojawia się też wersja oprogramowania, na przykład konkretne wydanie OpenSSH. Banery pokazują też nginx czy Apache. Dla osoby robiącej rekonesans to bardzo przydatna informacja, a dla Ciebie niebezpieczna.
  • Domyślne ustawienia producenta. Kamera, router, rejestrator czy inne urządzenie sieciowe z fabrycznym hasłem zostanie wykryte i oznaczone.

Shodan daje też filtry, którymi zawężasz wyszukiwanie. Jeżeli chcesz poszperać po cudzych usługach, klikaj z rozwagą. W wynikach jest bardzo dużo systemów hostowanych przez specjalistów od bezpieczeństwa, tak zwanych honeypotów. Honeypot to celowo wystawiona przynęta, system, który ma wyglądać na łatwy cel i nagrywać wszystko, co robi odwiedzający. Na pierwszy rzut oka może to wyglądać jak Windows z RDP wystawiony bez zabezpieczeń, a w rzeczywistości jest to pułapka, czasem postawiona także przez samych przestępców. Zasada prosta: jeśli coś wygląda zbyt łatwo i zbyt atrakcyjnie, to prawdopodobnie podpucha.

Gdybyście chcieli dłuższy, dedykowany materiał o samym Shodanie, dajcie znać w komentarzach, przygotuję taki odcinek.

moje.cert.pl, czyli polski Artemis

darmowe narzędzia OSINT

Ostatnie narzędzie to skaner Artemis dostarczany przez CERT Polska, dostępny pod adresem moje.cert.pl. Tutaj potrzeba trochę więcej pracy niż w dwóch poprzednich, gdzie wystarczyło wpisać dowolną domenę.

Najpierw zakładasz konto. Potem potwierdzasz, że domena należy do Ciebie: dodajesz odpowiedni rekord TXT w swojej strefie DNS. Jeżeli nie wiesz, czym jest rekord TXT, odsyłam do poprzedniego materiału z serii.

Co dostajesz po rejestracji domeny:

  • Skan tego, co na niej stoi. Przy WordPressie Artemis wykryje wersje wtyczek i sprawdzi, czy są aktualne. Jeżeli któraś jest podatna, dostaniesz informację, że wypadałoby ją zaktualizować.
  • Informacje o wyciekach. Jeżeli Twoja domena pojawiła się w wycieku zarejestrowanym w CERT, zobaczysz login i częściowo zamaskowane hasło. Pełnego hasła nie dostaniesz, będą to dwa, trzy, cztery znaki, reszta wygwiazdkowana. Zobaczysz za to, z jakiego wycieku to pochodzi.
  • Zakładkę z komunikatami. Informacje o najważniejszych zagrożeniach wymierzonych w Polaków: kampanie podszywające się pod strony rządowe, wyłudzenia na WhatsAppie czy OLX. Wszystko w jednym miejscu i, co istotne, targetowane na nasz rynek, więc trafność jest znacznie wyższa niż przy zagranicznych źródłach.

Jeżeli jesteś operatorem albo dostawcą internetu i masz własną pulę adresów IP, możesz zarejestrować także ją. CERT przeskanuje wtedy adresy Twoich klientów pod kątem podatności i błędów konfiguracji, a Ty możesz zadziałać proaktywnie i ich o tym poinformować.

Jak ograniczyć widoczność swojego adresu IP

Wiemy już, jak wygląda rekonesans. Teraz druga strona: jak utrudnić życie skanującym. Podzielimy to na dwie części, najpierw adres IP, potem domena.

Schowaj serwer za CDN

Zacznij od powiązania adresu IP z domeną. Jak pamiętacie z poprzednich materiałów, każda domena wskazuje na jakiś adres IP. Atakujący, znając ten adres, wrzuca go do Shodana i sprawdza, co jeszcze na nim działa.

Tu pomaga CDN (Content Delivery Network), czyli sieć serwerów pośredniczących między użytkownikiem a Twoim serwerem. Sam korzystam z Cloudflare, więc jego mogę polecić. Jest darmowy plan, w którym przenosisz obsługę DNS swojej domeny i dostajesz wstępną ochronę, w tym namiastkę WAF-a. Najważniejsze jednak, że Twój prawdziwy adres IP przestaje być widoczny. Atakujący skanujący domenę zobaczy adres Cloudflare, tak samo jak Shodan czy Censys, który zbiera dane z certyfikatów. Przy okazji dostajesz certyfikat SSL wystawiony przez Cloudflare, więc oszczędzasz na własnym.

Ustawienia na firewallu

Jeżeli masz w organizacji sprzęt klasy enterprise, nie ma z tym najmniejszego problemu. Na MikroTiku czy podobnym urządzeniu wymaga to trochę więcej konfiguracji po stronie administratora.

Ustawienie Po co
Connection rate limit Ogranicza liczbę połączeń na sekundę z jednego adresu. Zwykły użytkownik nie wygeneruje kilkuset tysięcy zapytań na minutę, więc limit rzędu kilkuset na minutę powinien wystarczyć. Przy pierwszej konfiguracji monitoruj, jak system się zachowuje.
Blokada port scanningu Wykrywa i blokuje sekwencyjne sprawdzanie kolejnych portów. Nie każdy firewall to ma, ale te z lepszej półki mają gotową opcję.
Blokada SYN scan SYN scan to skanowanie, w którym atakujący wysyła sam pakiet inicjujący połączenie i nigdy go nie kończy, żeby sprawdzić, czy port jest otwarty. Warto zablokować na routerze.
Odrzucanie pakietów bez odpowiedzi Wiele botów tylko sprawdza, czy port odpowiada, a same już nie odpowiadają na pakiet zwrotny. Taki ruch możesz ścinać na firewallu.
Ograniczenie po geolokalizacji Jeżeli firma działa tylko w Polsce albo w kilku krajach Europy, wyklucz resztę świata.
Allowlista dla własnych skanerów Adresację z moje.cert.pl dodaj na listę dozwolonych, żeby Artemis mógł skanować Twoje zasoby. Jeśli jakiś skaner pracuje dla Ciebie, pozwól mu robić swoje.

Przy geolokalizacji marketing i SEO mogą się obudzić, że strona musi być dostępna wszędzie, i to jest w porządku. Ale jeżeli wystawiasz portal VPN albo jakiś panel, który z jakiegoś powodu musi być w internecie, ogranicz go do konkretnego kraju, z którego łączą się Twoi ludzie.

Zasada podstawowa: nie musi być publiczne, nie wystawiaj

  • SSH bez wyraźnej potrzeby chowamy za VPN.
  • RDP tym bardziej, bo do niego w zasadzie nie powinno być takiej potrzeby. Jeżeli już musi działać, to za VPN, z allowlistą, ograniczeniem geolokalizacyjnym i konkretnymi adresami IP. Nigdy goły RDP wystawiony do internetu.
  • Panele administracyjne systemów ERP, urządzeń typu F5 czy WAF nie powinny być publiczne. Jeżeli naprawdę muszą, potrzebne jest dobre uzasadnienie i dodatkowe zabezpieczenia.
  • Kamery monitoringu to częsty przypadek, ale i tu są obejścia: VPN albo chmura producenta. Przy mniej istotnych kamerach aplikacja typu Hik-Connect jest myślę w porządku, oczywiście w zależności od tego, gdzie te kamery stoją. Przy kamerach wewnątrz organizacji bardzo mocno bym się zastanowił, czy ktokolwiek z internetu powinien mieć do nich dostęp. Jeżeli już, to tylko przez VPN.
  • API, do którego łączą się wyłącznie partnerzy i serwisy z umową, zawęź do ich adresów. Jeżeli musi być publiczne, zabezpiecz je tokenami i autoryzacją.
  • Bazy danych i systemy ważne dla organizacji zawsze za VPN. W korporacji najlepiej sprawdza się always-on VPN, gdzie pracownik po połączeniu z internetem od razu wchodzi do tunelu i dopiero wtedy ma dostęp do zasobów.

Jak uporządkować domenę

Przejrzyj subdomeny

Z czasem subdomen robi się dużo. Ludzie w dziale IT się rotują i nikt już nie pamięta, do czego dana subdomena służyła. Sprawdź, jakie masz subdomeny, na jakie adresy kierują i czy w ogóle są potrzebne. W większości przypadków znajdzie się kilka starych wpisów kierujących na systemy testowe albo preprodukcyjne, dziś zupełnie zbędne. Niepotrzebne wywal od razu.

Uporządkuj rekordy DNS

Przejrzyj stare wpisy TXT, CNAME, MX. Mogą tam siedzieć informacje o adresach IP i usługach, których już nie używasz, a które być może nadal gdzieś chodzą i nie są w żaden sposób zabezpieczone. Usuwanie martwych rekordów to ważny element porządków.

Ukryj panele logowania i nie zdradzaj technologii

Nie wystawiaj paneli administracyjnych aplikacji wprost do internetu. wp-admin w WordPressie czy /login, /admin we własnej aplikacji to endpointy, które namierza się w kilka sekund, więc każdy bot będzie się na nie logował niezliczoną ilość razy. Zrób allowlistę, zwracaj 403, dołóż dodatkową autoryzację.

Używaj też własnych stron błędów 403 i 404, żeby nie zwracać nazwy frameworka, na którym stoi aplikacja. To bardzo przydatna informacja przy rekonesansie, więc nie ułatwiajmy zadania. Sprawdź przy okazji, co się dzieje przy błędzie aplikacji i na co ten błąd wskazuje, żeby nie zdradzał za dużo.

Możesz też dodać nagłówki HTTP zwiększające bezpieczeństwo, ale tu ostrożnie, bo bywają zdradliwe. Przetestuj je najpierw na środowisku preprodukcyjnym. Kilka można włączyć bezpiecznie, natomiast Content Security Policy (nagłówek określający, z jakimi zewnętrznymi zasobami może łączyć się Twoja strona) wymaga więcej pracy. Zapoznaj się z dokumentacją i ustal, gdzie strona się łączy i kto łączy się do niej. Ustawienie CSP w ciemno potrafi popsuć działanie witryny.

Monitoruj i rozważ WAF

Praca bezpiecznika to ciągłe monitorowanie. Sprawdzaj między innymi rejestry wystawionych certyfikatów: kto i kiedy wystawiał certyfikat, czy ktoś nie wystawił certyfikatu na domenę łudząco podobną do Twojej.

Jeżeli masz na to środki, włącz WAF (Web Application Firewall), czyli firewall działający na poziomie aplikacji webowej. Chroni przed większością ataków na strony: botami, atakami DDoS, dziwnymi skanerami, które próbują się logować albo listować katalogi. Wersje enterprise są drogie i niełatwe w konfiguracji. Home.pl oferuje o ile pamiętam WAF wbudowany, Cloudflare również ma swój, choć od strony administracyjnej wymaga trochę pracy.

Jeżeli Twój system stoi na WordPressie, zobacz, jakie masz dostępne wtyczki bezpieczeństwa. Jedna dobra to o ile dobrze kojarzę Wordfence. Pozwala między innymi ukryć wp-admin pod losową nazwą i włączyć MFA (uwierzytelnianie wieloskładnikowe, czyli drugi składnik logowania obok hasła) dla administratora albo dowolnego użytkownika. Przy innych frameworkach sprawdź, czy nie ma podobnej wtyczki. W większości przypadków ktoś już taką napisał, a kosztuje albo nic, albo niewielkie pieniądze.

Podsumowanie

  1. Boty skanują cały internet i robią to szybko. MikroTik na domyślnym haśle padł u mnie po kilku godzinach. „Tylko na chwilę" nie istnieje.
  2. urlscan.io, Shodan i moje.cert.pl pokazują Cię tak, jak widzą Cię atakujący. Wszystkie trzy są darmowe i żadne z nich nie jest hackingiem.
  3. Ukryj adres IP serwera za CDN i dołóż na firewallu rate limit, blokadę skanowania portów oraz ograniczenie geolokalizacyjne.
  4. Nie musi być publiczne, nie wystawiaj. SSH, RDP, bazy danych i panele administracyjne chowaj za VPN.
  5. Rób porządki w subdomenach i rekordach DNS. Zapomniana subdomena z systemu testowego to gotowe wejście.

Materiał Video

Comments

No comments yet. Why don’t you start the discussion?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *