DNS Rebinding polega na podmianie adresu IP domeny pomiędzy kolejnymi żądaniami skierowanymi do niej. W ten sposób można uzyskać dostęp na przykład do zasobów sieci lokalnej, w której znajduje się ofiara. W połączeniu z javascriptowym skanowaniem portów i fingerprintingiem aplikacji pozwala stworzyć ciekawe scenariusze ataku. Przykład:
Oczywiście skrypt może posiadać sygnatury dla większej ilości aplikacji niż tylko phpMyAdmin, i w ten sposób zwiększać szanse powodzenia ataku. Poza CSRF, skaner mógłby też po prostu wczytywać zawartość niechronionych stron w sieci lokalnej i wysyłać na zewnętrzny serwer (we wcześniejszym wyszukaniu odpowiednich adresów może pomóc Fierce). Inne zastosowanie to ominięcie firewalli i lokalny dostęp na przykład do portu 139.
Powyższy scenariusz bazuje na ataku DNS rebinding z wykorzystaniem LiveConnect – ta metoda została już zablokowana, dlatego mogę opublikować praktyczny przykład:
http://lukasz.pilorz.net/testy/dnsrebinding/scanner.phps – skaner w JS
http://lukasz.pilorz.net/testy/dnsrebinding/phpmyadmin_exec.phps – atak DNS rebinding na phpMyAdmina
Więcej informacji można znaleźć w tekstach na których bazowałem tworząc powyższy skrypt:
Kolejna notka (czwarta część cyklu o testach, dotycząca ataków na mechanizmy logowania i zmiany hasła) pojawi się dopiero w Nowym Roku.
Hmm, bardzo pouczający przykład. Jak już mówiłem, Web 2.0 nie przyniósł nowych ataków – tylko uczynił te istniejące jeszcze bardziej groźnymi.
Z niecierpliwością czekam na 4 część. Jeśli będę mógł jakoś pomóc, to z chęcią się przyłącze – bo teraz jestem niczym wędrowiec bez domu.