TicketTrick II – atak na przestrzeń nazw za pomocą grup dyskusyjnych i list mailingowych
Napisał: Patryk Krawaczyński
05/02/2020 w Ataki Internetowe Brak komentarzy. (artykuł nr 717, ilość słów: 725)
P
ierwszy wariant tego ataku opierał się na systemie zgłaszania i śledzenia błędów (np. Zendesk). W drugim wariancie przewiduje on użycie Google Groups. Wstępny scenariusz ataku został odkryty już w 2018 roku przez Kenna Security we współpracy z KerbsOnSecurity. Otóż błędna konfiguracja grup dyskusyjnych Google powoduje ujawnienie poufnych wiadomości e-mail od tysięcy organizacji, w tym niektórych firm z listy Fortune 500. Wpłynęło to na wiele branż: od agencji rządowych USA, szpitali i instytucji akademickich po media znanych stacji telewizyjnych i gazet.
Zespół Kenna przeanalizował tylko ~9.600 organizacji z 2.5 miliona zbadanych domen (które korzystały z grup Google) i stwierdził, że około 3.000 lub 31% z nich było zaangażowanych w wyciek poufnych danych. Oznacza to, że mogło to mieć wpływ na dziesiątki tysięcy organizacji na całym świecie i wyciek poufnych danych firmowych.
Jak dochodzi do wycieku?
Forum internetowe Google Groups jest w rzeczywistości częścią G Suite, który jest zbiorem narzędzi umożliwiającym firmom i organizacją kompleksową pracę w sieci (od poczty e-mail po dokumenty, arkusze, prezentacje i przestrzeń dyskową). W całym tym zestawie administratorzy mogą też tworzyć listy mailingowe do wysyłania właściwych treści do określonych odbiorców za pomocą wiadomości e-mail, czy publikować treści (w tym załączniki) za pomocą interfejsu grup dyskusyjnych. Organizacje, które zdecydowały się na obsługę swoich domen przez G Suite mogą uzyskiwać dostęp do Grup Google. Domyślnie ustawione są one jako prywatne, a administratorzy narzędzi mogą dostosowywać ustawienia prywatności zarówno na poziomie grupy, jak i globalnie dla domeny. Jeśli wybrane ustawienie naszych grup / list mailingowych jest przełączone na “Public on the Internet” / “Wszyscy w internecie” możemy posiadać źle skonfigurowaną grupę i jest ona narażona na wyciek informacji i nie tylko. Dlatego jeśli nasza domena jest obsługiwana przez G Suite powinniśmy przeprowadzić audyt uprawnień do poszczególnych grup i list.
Przejmowanie serwisów zewnętrznych:
Załóżmy, że firma, której domena to DOMENA.BUGHUNT
posiada źle skonfigurowaną grupę Google o nazwie: it-support. Uprawnienia do tej grupy ustawione są na “Anyone can view” / “Zawartość mogą wyświetlać wszyscy” oraz “Anyone cat post” / “Publikować mogą wszyscy”. Adres e-mail grupy to: it-support@domena.bughunt. Skoro wszyscy mogą wyświetlać i pisać na tą grupę to można ją potraktować jako publiczny adres e-mail, który można wykorzystać do rejestracji w innych systemach, z których korzysta firma i jej domena:
Atakujący ]: Wpuść mnie do firmy! Chcę założyć nowe konto! Zewnętrzny serwis ]: Potrzebuje adres e-mail w domenie @domena.bughunt! Google Groups ]: Proszę wykorzystaj it-support@domena.bughunt. Atakujący ]: No właśnie. Załóż nowe konto na it-support@domena.bughunt. Zewnętrzny serwis ]: Wysyłam link z potwierdzeniem założenia konta na it-support@... Google Groups ]: Dodano nową wiadomość z zewnętrzny@ z linkiem aktywacyjnym. Atakujący ]: Klikam link opublikowany na liście mailingowej. Zewnętrzny serwis ]: Gratulacje założono nowe konto w domenie firmowej.
Jak sprawdzić czy dana domena jest podatna?
- Wchodzimy na Grupy Google danej domeny: https://groups.google.com/a/$DOMENA/forum/#!forumsearch/
- Wyszukujemy publiczną grupę / listę i sprawdzamy jej ustawienia:
https://groups.google.com/a/$DOMENA/forum/#!aboutgroup/$GRUPA - Przy okazji możemy sprawdzić czy dostępna jest lista uczestników:
https://groups.google.com/a/$DOMENA/forum/#!members/$GRUPA - Jeśli dana grupa w danej domenie jest źle skonfigurowana wykorzystujemy jej adres e-mail do rejestracji w innych systemach wykorzystywanych w firmie.
Jeśli mamy większy zbiór domen do przetestowania i jesteśmy ciekawi, czy wykorzystują one Google Groups możemy wykorzystać skrypt:
#!/bin/bash while read domain; do if curl -Is "https://groups.google.com/a/$domain/forum/#\!overview" | \ grep -i "set-cookie:" > /dev/null; then echo "https://groups.google.com/a/$domain/forum/#!forumsearch/" fi done < $1
Podatność na inne ataki:
Po pierwsze, jeśli grupa błędnie pozwala na publiczne przeglądanie treści to mogą zostać one przeszukane pod kątem wrażliwych treści np. słów kluczowych typu: password, reset, login itd. ujawniając zastrzeżone treści. Po drugie, jeśli grupa udostępnia pełną lub szczątkową listę uczestników – ich adresy oraz dane mogą zostać wykorzystane do głębszego wywiadu lub wysyłki phishingu, czy szkodliwego oprogramowania (ang. malware).
Więcej informacji: GGvulnz — How I hacked hundreds of companies through Google Groups