Obchazeni NIDS

Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: Nostur
Datum: 25.8.2006
Hodnocení/Hlasovalo: 4.83/6

Clanek zminujici obchazeni NIDS pred a po utoku

NIDS
* Protokol HTTP a Telnet
* Low TTL
* MAx MTU
* TCP un-sync
* Fragmentace

Vysvetleni: Za nazvem nasleduje prakticka ukazka, kde znaky <> oddeluji syntaxi pouzitou k obejiti
V ukazce budu pouzivat utok na phf cgi-bin script, pro vice info o utoku na nem viz http://insecure.org/sploits/phf-cgi.html

Protokol HTTP

-Vkladani lomitek "/" : "/cgi-bin/<>///<>phf"
-Zpetne traversovani : "/cgi-bin/<>roflmao/../<>phf
-Windows/DOS syntaxe obracene lomitko "\" : "/cgi-bin<>\<>phf"
-Kodovani URL: nahrazovani znacek jejich ASCII hodnotami : "<>%1<>/cgi-bin/phf"

-Metoda NULL : "<>GET%00%00%00%00<>/cgi-bin/phf"
-Samo odkazovaci adresare: "/cgi-bin/<>.<>/phf"
-Vkladani TABulatoru misto mezer

Protokol Telnet

-Odstranovani Telnet kodu z packetu
-Vkladani nahodneho znaku, nasledovaneho backsapce znackou, ktera nahodny znak vymaze : "cat <>XYZ{backspace}<> /etc/passwd"

Low TTL

Pokud NIDS nema zadano, jak daleko (kolik hopu) je masina, na kterou utocime, lze pouzit vkladani low TTL:
Utocnik navaze spojeni a posle packet: "GET /cgi-bin/p" NIDS to zaznamena. Potom utocnik posle jakykoliv znak, napriklad "i", ale se spatnym TTL parametrem, a NIDS to opet zaznamena, teprve potom dokonci pozadavek na phf, tedy posle hf, a NIDS to k nasi potese opet zaznamena.

Rekonstrukce:
NIDS zaznamenava "GET /cgi-bin/pihf" a na zaklade vyhodnoceni s databazi nebezpecnych retezcu urci, ze toto nebezpecny retezec neni, ale webserver, na ktery utocime, vezme na vedomi spatne TTL a i vynecha, a zaznamena jen "GET /cgi-bin/phf"

Max MTU

Pro tento utok je potreba vedet nastaveni MTU v siti. Pro klasicky ethernet je to 1500 bitu. Dejme tomu, ze je VPN, ve ktere je MTU nastaveno na 1000 bitu, takze jakykoliv ramec, vetsi nez zminenych 1000 bitu je fragmentovan. Vezmeme v potaz stejny utok jako s low TTL. utocnik posle packet: "GET /cgi-bin/p" potom odesle "i" ve velkem pacektu, ktery je fragmentovan, a teprve pote dokonci poazadavek, jak bylo ukazano v low TTL utoku. Pokud NIDS nevi o nizsim MTU, potom chybne prida "i" do relace, a tak opet nevyhodnoti nas pozadavek jako nebezpecny retezec, ale webserver pozadavek spravne zpracuje

TCP un-sync

-Vlozeni packetu se spatnym TCP kontrolnim souctem
-Vlozeni packetu se spatnym TCP sekvencnim cislem
-Vlozeni FIN packetu

Fragmentace

Utocnik zacne utok, potom posle mnoho falesnych utoku, a teprve potom utok dokonci, takze NIDS ci operator kontrolujici logy ty prave utoky nedokaze spojit ci je NIDS vubec neidentifikuje

~Nostur