Sherlock czyli oprogramowanie przydatne przy rekrutacjach

Jak szybko i automatycznie sprawdzić profile osób za pomocą Sherlocka? Pomagamy sourcerom.

Opis problemu

Zakładając, że pracuje w dziale HR, chce mieć wgląd w profile społecznościowe osób, które rekrutuje. Normalnie wyszukuje profile społecznościowe za pomocą Google. Czy da się usprawnić ten proces?

Rozwiązanie problemu

Bardzo często jest tak, że podczas pomocy w poszukiwaniu osób, trzeba przejrzeć tysiące stron internetowych, posiadając tylko i wyłącznie login danego użytkownika. O dziwo ostatnio także wpada bardzo dużo zleceń od researchów z dziedziny human resources, aby wykonywać podobny proces. Jeśli bym miał to robić ręcznie, to cena usługi mogłaby być nieopłacalna dla potencjalnego klienta. Całe szczęście jest do tego odpowiednie oprogramowanie o nazwie sherlock.

Sherlock jest programem napisanym w języku Python, który sprawdza w jak wielu mediach społecznościowych oraz na popularnych stronach internetowych zarejestrowała się osoba o określonej nazwie użytkownika. Aktualnie program obsługuje kilkaset witryn internetowych. Dodatkowo mam bardzo dobrą wiadomość dla użytkowników systemu Windows – oprogramowanie sherlock można uruchomić na dowolnym systemie operacyjnym. Kolejną dobrą wiadomością jest to, że program posiada obszerną stronę internetową.

Instalacja oprogramowania

Jako że jestem użytkownikiem Ubuntu, nie będę się rozwodził, jak zainstalować to oprogramowanie na Windows, Kali Linux, czy iOS. Skupię się tylko i wyłącznie nad systemem Ubuntu. Aby to zrobić, musisz uruchomić następujące komendy:



adrian@adrian-K55VM:~$ sudo apt install python3-pip git python3-setuptools
adrian@adrian-K55VM:~$ git clone https://github.com/sherlock-project/sherlock
adrian@adrian-K55VM:~$ cd sherlock/
adrian@adrian-K55VM:~/sherlock$ sudo pip3 install -r requirements.txt
adrian@adrian-K55VM:~/sherlock$ python3 ./sherlock.py -h

Jak za pomocą sherlocka odnaleźć konta użytkowników w sieciach społecznościowych

Załóżmy, że chcę odnaleźć wszystkie profile w kontach społecznościowych, które posiadają następujący ciąg: adrian.stolarski. W tym celu uruchamiamy oprogramowanie sherlock w następujący sposób:


adrian@adrian-K55VM:~/sherlock/sherlock$ python3 ./sherlock.py adrian.stolarski

Linki do profili społecznościowych

Ok, powyższe uruchomienie oprogramowania pokazało nam tylko i wyłącznie, czy dany użytkownik został odnaleziony w danym medium społecznościowym, ale co zrobić, jeśli chcemy uzyskać linki do profili społecznościowych? W tym celu uruchamiamy oprogramowanie sherlock w następujący sposób:


adrian@adrian-K55VM:~/sherlock/sherlock$ python3 ./sherlock.py --print-found adrian.stolarski

Dodatkowe opcje oprogramowania sherlock

Jeśli chcemy wyszukać większą ilość użytkowników uruchamiamy polecenie:


adrian@adrian-K55VM:~/sherlock/sherlock$ python3 ./sherlock.py --print-found adrian.stolarski adrian.stolarski.1

Bardzo możliwe jest, że będziesz chciał tak jak sprawdzać użytkowników tylko i wyłącznie na określonych witrynach internetowych. Aby to zrobić, musisz zastosować opcję –site i nie dość tego, że możesz użyć raz, to możesz ją stosować wielokrotnie. Wszystkie strony, jakie możesz sprawdzić, możesz odnaleźć w pliku data.json. Zobaczmy, jak to wygląda w rzeczywistości:


adrian@adrian-K55VM:~/sherlock/sherlock$python3 ./sherlock.py --print-found --site Facebook --site VK --site Badoo --site datingRU --site YouTube --site Telegram --site Twitch --site Twitter adrian.stolarski

Może dodatkowo chcesz zapisać wyniki wyszukiwania w pliku? Też nie ma problemu. Domyślnie plik dla każdej wyszukiwanej nazwy użytkownika jest zapisywany w formacie username.txt i tworzony w folderze głównym aplikacji. Ale bardzo często o wiele lepiej jest zapisywać plik do pliku CSV, ponieważ plikami CSV o wiele lepiej się operuje w codziennej pracy. W tym celu używasz opcji --csv. Dodatkowo jeśli chcesz zapisać wybrany plik w innym folderze, to używasz opcji -fo. Zobaczmy przykładową komendę:



adrian@adrian-K55VM:~/sherlock/sherlock$python3 ./sherlock.py --print-found--csv -fo results adrian.stolarski

Dodatkowo możesz także posegregować strony według popularności w Alexa Rank. Służy do tego opcja -r.

Trochę o zachowaniu podstaw anonimowości

Sherlock obsługuje wysyłanie zapytań za pomocą serwerów proxy. Aby to zrobić należy użyć opcji --proxy PROXY_URL. Poniżej znajduje się przykład:


adrian@adrian-K55VM:~/sherlock/sherlock$python3 ./sherlock.py --print-found--csv -fo --proxy socks5://127.0.0.1:1080 results adrian.stolarski

Możesz także użyć listy serwerów proxy za pomocą następującego polecenia:



adrian@adrian-K55VM:~/sherlock/sherlock$python3 ./sherlock.py --print-found--csv -fo --proxy_list lista+proxy.csv results adrian.stolarski

Plik zawierający adresy serwerów proxy musi być w formacie csv. Plik powinien zawierać pola ip, port i protokół. Dodatkowo można użyć opcji --check_proxies. Umożliwia ona sprawdzenie danego proxy pod względem anonimowości oraz dostępności. Taki tam trick.

Dodatkowo, ponieważ Sherlock może współpracować z SOCKS5, po zainstalowaniu i uruchomieniu usługi Tor w dowolnym systemie operacyjnym, użyj opcji --proxy z wartością socks5: // localhost: 9050:


adrian@adrian-K55VM:~/sherlock/sherlock$python3 ./sherlock.py --proxy socks5://localhost:9050 USERNAME