Niebezpieczny plik hosts i atak phishingowy

Nie każdy wie o pewnym ciekawym pliku ustawień domen internetowych powiązanych z adresami IP systemu Microsoft Windows jak i Linux. Co ciekawe ten plik występuje nawet w Androidzie. Mowa oczywiście o pliku hosts. Dodając w nim odpowiednie pozycje  w sposób ręczny z wykorzystaniem edytora tekstowego lub za pomocą złośliwego skryptu, cyberprzestępca może uniemożliwić odwiedzanie pewnych stron internetowych użytkownikowi komputera wskazując na nieistniejący adres IP pod którym znajduję się witryna www. Cała sztuczka może być o tyle niebezpieczna, że może posłużyć do wykonania dosyć przekonującego ataku phishingowego.

Studium przypadku ataku z konfiguracją hosts

Kolega w nielegalny sposób chce wykraść login użytkownika i hasło do pewnej strony www. Postanowił stworzyć stronę phishingową i umieścić ją w internecie. Strona widnieje w sieci pod adresem 192.168.0.10. Korzystając z chwili nieobecności kolegi przy komputerze zmodyfikował plik hosts wskazując w nim, że interia.pl znajduje się pod adresem 192.168.0.10. Od tego momentu osoba wchodząc pod adres interia.pl nieświadomie ogląda fałszywą witrynę www życzliwego kolegi.

Fizyczny atak socjotechniczny z sposobem na WC i plikiem hosts
Przykładowy „zaawansowany” atak socjotechniczny z wykorzystaniem pliku hosts 😉

Plik hosts przykład praktyczny

Poniżej przedstawiamy w skrócie jak sprawdzić działanie takowego ataku lokalnie. Nic nie stoi na przeszkodzie wskazać inny adres IP serwera znajdującego się w sieci www. Adresy IP stron internetowych można oczywiście uzyskać za pomocą polecenia ping.

  1. Uruchom sterwer HTTP xampp w swoim systemie.
  2. W nowszych systemach Windows przejdź do katalogu C:\Windows\System32\drivers\etc\
  3. Edytuj plik hosts
  4. Dodaj w nim następujący wpis
    127.0.0.1 interia.pl
  5. Zapisz zawartość pliku i sprawdź co się dzieje po uruchomieniu w przeglądarce strony www.
  6. Gotowe. Powinieneś zobaczyć fałszywą stronę www znajdującą się pod prawdziwym adresem domenowym.

Zaprezentowana metoda tego prostego ataku nie ogranicza się tylko do modyfikacji pliku w fizyczny sposób na komputerze. W bardzo prosty sposób można w dowolnym języku programowania napisać aplikację lub skrypt automatycznie modyfikującą plik hosts. Takie wirusy podmieniające konfigurację pliku hosts już istniały w przeszłości i kierowały dla przykładu na fikcyjne strony logowania banków internetowych.

Przykładowy skrypt wsadowy hosts.bat

echo off
echo. >> "C:\Windows\System32\drivers\etc\hosts"
echo 127.0.0.1 interia.com >> "C:\Windows\System32\drivers\etc\hosts"
echo 127.0.0.1 www.interia.com >> "C:\Windows\System32\drivers\etc\hosts"
ipconfig /flushdns

Teraz zapisz ten skrypt w pliku tekstowym pod nazwą hosts.bat i uruchom. Sprawdź teraz zawartość pliku hosts systemu Windows. W identycznie banalny sposób identyczne malware można zaimplementować w C++ wykorzystując funkcje system() z biblioteki stdlib.


W systemie Linux plik hosts znajduje się domyślnie w /etc/hosts. Podobnie ma się sprawa w systemie Android. Prawdopodobnie w tym przypadku będziesz musiał posiadać zrootowane urządzenie aby podejrzeć ten plik.

Hosts file a uprawnienia administratora

Można by zapytać a co z prawami administratora? O ile w niektórych i starszych systemach operacyjnych to nie problem bo ten plik można modyfikować jak tylko się chce, to w nowszych już może być to pewne ograniczenie. Należy jednak pamiętać, że za pomocą socjotechniki lub funkcji WinApi można zmusić osobę do uruchomienia naszej aplikacji na prawach administratora tak jak w przypadku instalacji normalnych programów pobranych z Internetu. Innym sposobem cyberprzestępców jest wykorzystanie exploitów w celu zwiększenia uprawnień aplikacji. Taka operacja powszechnie znana jest jako privilege escalation. Znane są już luki nawet w… dosyć świeżym Windows 10 umożliwiające podniesienie swoich uprawnień.

Trzeba też wiedzieć, że niepoprawnie skonfigurowane usługi sieciowe takie jak serwery HTTP/PHP/FTP/BAZ DANYCH mogą działać na prawach administratora, więc z ich pomocą modyfikacja pliku hosts będzie możliwa. Przykład? Było już co najmniej kilka wpisów na naszym blogu na temat ataków na skrypty php. Spróbuj uruchomić serwer XAMPP z prawami administratora. Wtedy z poziomu skryptu napisanego w języku PHP bez problemu powinno udać Ci się zmodyfikować plik host. Morał na dzisiaj? Każda aplikacja i użytkownik systemu operacyjnego powinien posiadać minimalne uprawnienia wymagane do pracy lub jego działania. Warto również obejrzeć nasz film na YouTube dotyczący błędnej konfiguracji SSH i przejęcia systemu Linux. Każde podwyższone uprawnienia mogą prowadzić w przyszłości do nadużyć. Na dzisiaj to by było tyle. Pozdrawiamy! 🙂

8 thoughts to “Niebezpieczny plik hosts i atak phishingowy”

  1. jest jeden problem gdy dodam jakiś adres do pliku host i wpisze np. xyz a to będzie dres np wp.pl to fakt przejdzie mi na tą strone ale i adres w przegladarce się zemnie. Czy da się to jakoś zrobić tak żeby się nie zmienił

    1. Nie rozumiem. W ten sposób możesz przekierować jedynie pojedyncze domeny na adresy IP. Pamiętaj że http://www.wp.pl to nie to samo co wp.pl. Jeśli chcesz z całym ruchem pokombinować wpisz z prawej strony w wyszukiwarce naszej DNS SPOOFING.

  2. Zaraz zaraz, mówisz tutaj o modyfikacji pliku hosts zwyklym batchem. Przecież smartscreen zablokuje uruchomienie tej aplikacji.

  3. Ponadto, wcale nie jest niezbędna socjotechnika do uzyskania uprawnień administratora. Sam napisałem sobie batcha, który prosi i uzyskuje te uprawnienia bez tworzenia skrótu w windows 10, szuka wpisów w hosts i modyfikuje tak jak ma w zadaniu. Problem jest wyłącznie ze smartscreenem. Dalej już system o nic nie pyta, po prostu modyfikuje. Gdyby nie to, to bym zwariował musząc ręcznie modyfikować hosts 4 razy w tygodniu.

  4. Niestety w przypadku podwójnego przekierowania np: klikniecia w link wyszukiwania gooigle(gdzie właśnie zapytanie przechodiz przez google) ta metoda wogóle nie działą. Jest to skuteczne tylko i wyłącznie w przypadku bezpośredniego wpisania adresu

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *