06.06
In /dev/random ,Arty ,Linux | Tags: Linux
Filtrowanie, ciąg dalszy.
Problem: Chcę żeby router ADSL restartował mi się o 4 w nocy (Neostrada rozłącza co 24h i jak akurat router wstał o 18.00 to następny disconnect będzie o tej samej porze) automatycznie.
Rozwiązanie: Router nie ma shella ani innej metody zdalnego rebootu więc muszę zesniffować jaki request powoduje reboot.
sniffing załatwia proste tcpdump -w dump -s 0 -i eth0 -n port 80 and host 10.254.254.1 i w rezultacie dostajemy dumpa z samymi requestami
Teraz chcemy z requestów wyciągnąć listę zapytań, z klikania przeglądarki wiemy że ma w sobie ciąg html:
http.request.uri contains "html"
Jeżeli nie jesteśmy pewni czego szukać to http.request da listę requestów, którą można potem wycinać przez eliminację np.
http.request and ! (http.request.uri contains ".gif" or http.request.uri contains ".css" or http.request.uri contains ".js" )
Rezultat powinien wyglądać mniej-więcej tak:
Możemy oznaczać interesujące nas pakiety klikając w niego prawym -> Colorize Conversation lub po prostu C-(0-9). Kolejne opcje to (menu Edit)
- Mark packet – (C-m) oznacza pakiet (domyślnie czarny kolor tła) – potem można skakać między tak oznaczonymi pakietami używając (C-N) i (C-B). Uzywając C-M można oznaczyć “wszystkie widoczne” (pokazywane przez aktualny filtr)
- Ignore packet – (C-d) (niestety) pakiet nie zniknie z głównego widoku (nie ma też opcji “Hide ignored”) ale będzie uznawany przez filtry wiresharka jako”niewidoczny” – średnio użyteczna opcja. C-D ignoruje wszystkie widoczne pakiety
- Set Time Reference (C-t) – Czas odebrania każdego następnego pakietu będzie liczony od ostatniego pakietu oznaczonego takim tagiem, tzn jeżeli pakiety 3, 6 i 10 oznaczymy tym tagiem to czas przy pakiecie 44 będzie różnicą między czasem otrzymania pakietu 44 i 10 a dla pakietu 8 będzie to różnica czasu pomiędzy 8 i 6. Chyba że akurat zmienimy wyświetlanie czasu na czas “rzeczywisty” a nie relatywny
W rezultacie naszego grzebania powstało nam coś takiego:
W tym przypadku nie jest to aż tak przydatne ale kolorowanie się przydaje ;]
Ale wracając do “zadania”, z tego co widzimy wynika że request nie leci po SSLu (widać hasło wysyłane przez Auth Basic), cookie nie są używane a reset polega prawdopodobnie na zrobieniu zwykłego GETa na odpowiedni URL z odpowiednimi credentials. Patrząc w strumień (Follow Conversation) widzimy że ostatni request zwraca nam ten sam tekst jaki pojawia się na stronie routera po kliknięciu reboot i voila, mamy nasz cel ;]
Teraz tylko curl -u admin:admin http://10.254.254.1/rebootinfo.cgi i router zrebootowany
W następnej części (kiedyś): Analiza i podsłuchiwanie SIP, rozkodowywanie i podsłuchiwanie SSL




2 ResponsesLeave a comment ?
Do analizy i testów http są inne narzędzia :) Burp Suite, Web Scarab, Paros Proxy, Fiddler, etc.
Tak wiem, do rzeczy http-only wireshark nie jest najwygodniejszym narzędziem (chyba że szukamy problemów w sieci a nie w tym co lata po HTTP), po prostu był dobry przykład do kolorowania ;].
Dokładniejszy opis tych tooli zostawię tym którzy je używają, ja głównie grzebie wiresharkiem + okazjonalny LiveHeaders czy Firebug. Za to fajnie można rozłożyć http + np. mysql bo od razu widać “przyczyna-skutek” naszych akcji.
Nieźle działają też narzedzia do analizy SIPu tyle że nie mogę używać dumpów z pracy do pokazywania tego więc chyba będę musiał postawić sobie asteriska