Jak adresy e-mail wyciekają z serwisów Github i Gitlab
Napisał: Patryk Krawaczyński
10/06/2021 w Bezpieczeństwo Brak komentarzy. (artykuł nr 788, ilość słów: 349)
B
ardzo wiele firm utrzymuje repozytoria publicznych projektów na popularnych serwisach takich jak Github oraz Gitlab. Na przykład listę loginów poszczególnych użytkowników w serwisie Github można uzyskać bardzo łatwo – wystarczy odwiedzić adres: https://github.com/orgs/$firma/people.
Plus iterując po poszczególnych projektach: https://github.com/$firma/$projekt/graphs/contributors można zebrać dość dużą ilość unikatowych użytkowników. Gdzie następuje wyciek? Otóż Github używa adresów e-mail powiązanych z kontem Github (można mieć ich więcej niż jeden – a często na jednym koncie łączy się prywatne i firmowe adresy) przy zatwierdzaniu kodu (ang. commit) oraz innych aktywnościach w profilu użytkownika. Kiedy użytkownik zatwierdza kod w publicznym repozytorium jego adres e-mail jest publikowany i staje się publicznie dostępny.
GitHub dostarcza instrukcję, jak temu zapobiec, ale wydaje się, że większość użytkowników nie jest tego świadoma lub ich to nie obchodzi, że ich adres(y) e-mail mogą zostać ujawnione i wrzucone do jakieś “szarej” bazy. Znalezienie adresu e-mail użytkownika jest często tak proste, jak przeglądanie jego ostatnich akcji za pośrednictwem interfejsu API Github. Możemy też podpiąć się pod wszystkie zdarzenia i filtrować adresy e-mail budując globalną bazę:
curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/events | \ jq '.[].payload.commits[] .author.email'
"m******.*****i@gmail.com" "s******k@gmail.com" "a***.*******z@enti.cat" "v****_*****i@apple.com"
Jeśli chodzi o wyciąganie informacji o poszczególnych użytkownikach to możemy posłużyć się narzędziem gitrecon:
python3 -m venv gitrecon cd gitrecon/ source bin/activate git clone https://github.com/GONZOsint/gitrecon.git cd gitrecon/ pip install -r requirements.txt python gitrecon.py -s github -o nfsec
[+] Username: nfsec [+] Name: Patryk Krawaczyński [+] User id: 15172919 [+] Avatar url: https://avatars.githubusercontent.com/u/15172919?v=4 [+] Location: Poland [+] Bio: A]dvanced G]enetic R]esearch E]arly S]imulated O]n R]eality [+] Company: NFsec [+] Blog: https://nfsec.pl [+] Twitter username: nfsec_pl [+] Followers: 12 [+] Following: 0 [+] Created at: 2015-10-17T16:04:46Z [+] Updated at: 2021-05-26T19:16:38Z [+] Leaked email: nfsec@users.noreply.github.com [+] Id: 51548765 [+] Key: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGnmYBwD545dab2p+0 [+] Output saved: results/nfsec/nfsec_github.json
W przypadku chęci próby utrudnienia takiego wycieku z serwisu Github należy zainteresować się ustawieniami “Keep my email addresses private” oraz “Block command line pushes that expose my email”.
Więcej informacji: Find (Almost) Any GitHub User’s Email Address