Zapewne znajdą się osoby, które widząc nieznajomy numer telefonu, sprawdzają go w Google. Najczęściej już pierwszy link opowie całą historię, a my dzięki zdobytej wiedzy bez zawahania zablokujemy numer i spokojnie oddamy się reszcie dnia nie biorąc tego kredytu na 25 tys., którego o mały włos nam nie zaproponowano. W ten o to sposób przechodzimy do tematu tego artykułu - OSINT.
OSINT - z czym to się je
To z czego skorzystaliśmy w poprzednim akapicie nazywane jest Open Source Intelligence, czyli tzw. biały wywiad. Jest to forma rozpoznania, polegająca na gromadzeniu informacji przy wykorzystaniu ogólnodostępnych źródeł. Google jest właśnie jednym z nich - chyba, że mieszkacie w Chinach albo w Korei Północnej, wtedy to Baidu lub Naver. Oczywiście źródła nie ograniczają się tylko do tych online, mogą to być również np. prasa, publiczne archiwa lub zgłoszone patenty. Pamiętajmy jednak, że w dzisiejszych czasach to w internecie znajdziemy najbardziej aktualne oraz najłatwiej dostępne informacje. Na temat technik zbierania materiałów do późniejszej analizy i wyciągnięcia z nich wniosków stworzone są całe kursy, natomiast ja w skrócie postaram się przedstawić Wam o co w tym wszystkim chodzi.
Warto wspomnieć o trudnościach na jakie można natrafić realizując ten proces. Pierwszą z nich jest istota anonimizacji w sieci podczas wyszukiwania, tym bardziej jeśli chcemy to zrobić dyskretnie. Nie chcemy np. skorzystać z wyszukiwarki numeru telefonu, gdy jego właściciel ma włączoną usługę powiadamiania o takim fakcie - po próbie uzyskania informacji z danego serwisu spaliliśmy przykrywkę, osoba sprawdzana ma świadomość, że ktoś ją weryfikował, a my nie mamy pewności, że odkryliśmy to, czego szukaliśmy. Kolejną z nich jest nadmiar dostępnych informacji na interesujący nas temat. Poszukiwanie informacji po różnych serwisach jest podobne do weryfikacji prawdziwości danej wiadomości (fake news). Bardzo ważną umiejętnością jest wyłuskiwanie tylko tych istotnych danych, pochodzących z zaufanych źródeł. Tylko wtedy możemy przedstawić obiektywny obraz tego, co próbujemy zbadać.
Ochrona naszych danych przed białym wywiadem - czy to ważne
W czasach, gdzie duża część naszego życia odbywa się w sferze social media łatwo jest zapomnieć, ile tak naprawdę danych o sobie udostępniamy w Internecie. Nie chodzi mi teraz konkretnie o te dane, które portale społecznościowe zostawiają dla siebie, aby przeprowadzać czystki etniczne w krajach trzeciego świata (polecam książkę). Pomijam również te, którymi dzielą się z reklamodawcami, aby później wyświetlić reklamę akurat tego kremu, o którym z kimś rozmawialiśmy parę godzin wcześniej. Mam na myśli bardziej przyziemne rzeczy, które udostępniamy bez chwili zastanowienia.
Jedną z takich rzeczy może być np. widok z naszego okna na charakterystyczny budynek po drugiej stronie ulicy albo lepiej - dobrze widoczne oznaczenie sąsiedniego bloku. Parę minut rozeznania na Google Maps i dla zainteresowanego podmiotu nasz adres jest podany na tacy z dokładnością do klatki schodowej. Od tego można już zacząć dalsze działania, te bardziej inwazyjne np. dumpster diving. Oczywiście to już nie wchodzi w zakres OSINT, w tym momencie jesteśmy już po wstępnym rekonesansie, do którego posłużył biały wywiad.
Innym dobrym przykładem, jest wyszukiwanie informacji, opierając się na numerach tablic rejestracyjnych samochodu. Poza portalami, takimi jak ten, na których możemy wyrazić swoje uczucia w stosunku do kierowcy samochodu tej niemieckiej marki na trzy litery, spotkawszy się z nim na drodze, istnieją też inne. Na tej stronie po wpisaniu numeru rejestracyjnego dostajemy informacje o polisie i firmie ubezpieczeniowej, powiązanymi z danym autem. Odrobina socjotechniki na uczącym się pracowniku BOK i możemy naprawdę komuś uprzykrzyć dzień, to oczywiście w bardzo dużym uproszczeniu i przy dużej dozie szczęścia.
OSINT w praktyce
Dla tych co wytrzymali do tego momentu jest nagroda - trochę praktyki. Zastanawiałem się jak najlepiej zaprezentować OSINT i to jeszcze w połączeniu z użyciem social media, aby pokazać, do czego może doprowadzić nadmierne dzielenie się wszystkim w Internecie. Na szczęście podczas zbierania materiału do tego artykułu natrafiłem na podręcznikowy przykład, ale niestety - wszystko co mogłoby zidentyfikować tę osobę pozostaje zakryte dla dobra jej prywatności oraz żeby przestrzegać prawa. Na podstawie zebranych informacji przedstawię proces oraz kategorie informacji, jakie udało mi się uzyskać w jego trakcie.
W celu zwiększenia realizmu i wspierania swojego lenistwa nie tworzyłem przykładowego konta, na którym mógłbym demonstrować, więc zamiast tego operujemy na żywym organizmie. Po trzech minutach na moim ulubionym portalu zaczynamy od nazwy użytkownika. Szukałem czegoś co jest w swój sposób unikatowe, więc unikałem pseudonimów zawierających popularne nazwiska/postacie, ponieważ wiele różnych ludzi może mieć tego samego idola. Pomijałem też nazwy kończące się ciągiem liczbowym, gdyż nawet jeśli byłby to ten sam użytkownik mógłby używać różnych kombinacji pomiędzy portalami. Pamiętacie jak mówiłem o podręcznikowym przykładzie? Udało mi się znaleźć wzorzec konkatenacji, składający się z pierwszej litery imienia, połączonej z pełnym nazwiskiem - można brać się do pracy.
Jako pewien drogowskaz skorzystam ze strony OSINT Framework. Jest to w pewien sposób encyklopedia każdego narzędzia, które przychodzi na myśl po usłyszeniu OSINT. Jednak pomimo tak dużego wyboru nie znalazłem akurat tego, które miałem na myśli.
Dalszy research poprowadzę, korzystając z narzędzia o nazwie Sherlock. Jest to bardzo prosty w swoim założeniu skrypt, do którego wystarczy podać nazwę użytkownika i poczekać kilkanaście sekund, aż sprawdzi on 303 (na dzień 25.11) strony w poszukiwaniu zgodnego pseudonimu pomiędzy nimi. Wywołajmy go, wpisując nasz cel i zobaczmy wynik:
Dostajemy łącznie 18 wyników, które trzeba zweryfikować samodzielnie. Z opisu profilu na Wykop wiem, że ofiara m.in. jest miłośnikiem turystyki górskiej, co przyda nam się za chwilę. Zacznę od sprawdzenia profilu na stronie Gravatar, która umożliwia korzystanie z tego samego awatara pomiędzy różnymi portalami, implementującymi tę usługę.
Teraz mamy pewność, że jest to ta sama osoba (mówiłem, że tamta informacja się przyda), a dodatkowo zyskujemy dodatkowy trop, który na pewno nam się przyda. Niestety nie mogę Wam tego pokazać. To co? Może teraz Facebook.
Na publicznym profilu widzę m.in. całą historię zatrudnienia naszej ofiary i ścieżkę edukacji, czyli w sumie bez większego zaskoczenia.
Tutaj natomiast dowiadujemy się jakiego jest pochodzenia oraz ile ma lat. Mogliśmy się tego dowiedzieć wcześniej, ale nie udostępnił tej informacji na profilu Facebook.
Tutaj musiałem się trochę postarać, gdyż Strava nie pokazała mi całego profilu gdy byłem niezarejestrowany - no to założyłem konto. Poza kilkoma dodatkowymi zdjęciami, udało mi się dotrzeć do tego treningu (sprzed kilkunastu dni), gdzie z dużym prawdopodobieństwem możemy określić adres zamieszkania. Niestety - nie z dokładnością co do klatki schodowej, ale co do dwóch bloków na osiedlu w pewnym mieście na Śląsku, którego Wam nie zdradzę. Gdyby nasza ofiara mieszkała w okolicy domów jednorodzinnych sprawa byłaby o wiele prostsza.
Podsumowując, kategorie informacji, jakie na start udało mi się zebrać, bazując tylko na nazwie użytkownika, to:
- Imię i nazwisko
- Wiek
- Stan cywilny
- Dane partnera
- Aktualne i przeszłe zajmowane stanowiska
- Wykształcenie
- Hobby i koła pasjonatów
- Przybliżony adres zamieszkania
- Tablice rejestracyjne samochodu
Możemy chyba uznać, że poszło nam całkiem dobrze i to tylko przy wykorzystaniu jednego narzędzia. Gdyby spędzić nad tym więcej czasu, myślę że wyniki mogłyby być jeszcze ciekawsze. W sumie sam Wykop może naprawdę dużo powiedzieć, tam mirki czują się naprawdę anonimowi.
Polowanie na wycieki danych
Każdy zainteresowany bliżej tematem bezpieczeństwa IT jest już przyzwyczajony do wiadomości o jakimś nowym wycieku i o potencjalnych scenariuszach wykorzystania takiego łupu. Jednym z nich to zdobycie danych z wycieku w surowej postaci i późniejsze odszyfrowanie ich. Jeśli chodzi o część pierwszą to najłatwiejszym sposobem było skorzystanie z portalu WeLeakInfo, który został już zdjęty, więcej o tym tutaj. W kroku drugim zamiast czekać na rozszyfrowanie przy wykorzystaniu wynajętego klastra GPU i oprogramowania typu Hashcat, można skorzystać z DeHashed. Portal udostępnia postać zaszyfrowaną w połączeniu z jej jawnym tekstem i robi to dla ponad 12 miliardów haseł.
Znając miejsca, gdzie można sprawdzać interesujące nas rzeczy, możemy zabrać się do roboty. Najpierw wykorzystamy serwis Hunter, który po wpisaniu domeny np. firmowej zwraca listę znanych mu maili z nią połączonych. Dane te zdobywa przeszukując publicznie dostępne źródła, czyli jest po prostu agregatorem. Bez rejestracji jesteśmy w stanie wyświetlić tylko kilka pozycji.
Mając te kilka (albo kilkanaście jeśli się zarejestrowaliście) adresów możemy sprawdzić, czy któryś z pracowników użył konta prywatnie poza firmą i przypadkiem jego dane nie wyciekły. Niestety, z tej małej puli nie udało się nic zdobyć, co nie zmienia faktu, że jeśli mielibyśmy większą bazę adresów i przykładowo zautomatyzowali wyszukiwanie skryptem przy użyciu API DeHashed, moglibyśmy na coś natrafić wartościowego.
Dane, dane, wszędzie dane - jak je poukładać
Mając do czynienia z takimi pokładami informacji, przydałoby się nam coś do uporządkowania tego wszystkiego. Tylko wtedy możemy być pewni, że niczego nie przeoczyliśmy. Jednym z najpopularniejszych rozwiązań jest Maltego. Pozwala ono w czytelny sposób zobrazować sobie siatkę połączeń pomiędzy różnymi informacjami, które znaleźliśmy pomagając nam zbierać kolejne tropy. O tym narzędziu można napisać kolejny, pokaźny artykuł, więc po prostu zostawię Wam link.
Podsumowanie
Mam nadzieję, że udało mi się przybliżyć ten fascynujący temat i wykorzystując te małe fragmenty, które udostępniłem, uda się Wam znaleźć wszystko i o wszystkim. Przy takich ilościach informacji, jakie można zdobyć, możliwości są praktycznie nieograniczone, tym bardziej przy takim zestawie narzędzi widocznym na OSINT Framework.