IIS - Internet Information Services
Testirajte ekstenzije izvršnih datoteka:
asp
aspx
config
php
Otkriće interne IP adrese
Na bilo kojem IIS serveru gde dobijete 302, možete pokušati da uklonite Host header i koristite HTTP/1.0, a unutar odgovora Location header može ukazivati na internu IP adresu:
Odgovor koji otkriva unutrašnju IP adresu:
Izvršavanje .config datoteka
Možete učitati .config datoteke i koristiti ih za izvršavanje koda. Jedan od načina da to uradite je dodavanje koda na kraj datoteke unutar HTML komentara: Preuzmite primer ovde
Više informacija i tehnika za iskorišćavanje ove ranjivosti ovde
IIS Otkriće Bruteforce
Preuzmite listu koju sam kreirao:
Kreirana je spajanjem sadržaja sledećih lista:
https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/IIS.fuzz.txt http://itdrafts.blogspot.com/2013/02/aspnetclient-folder-enumeration-and.html https://github.com/digination/dirbuster-ng/blob/master/wordlists/vulns/iis.txt https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/aspx.txt https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/SVNDigger/cat/Language/asp.txt https://raw.githubusercontent.com/xmendez/wfuzz/master/wordlist/vulns/iis.txt
Koristite je bez dodavanja ekstenzije, datoteke koje je zahtevaju već je imaju.
Putanja Traversal
Curjenje izvornog koda
Proverite potpuni izveštaj na: https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html
Kao sažetak, postoji nekoliko web.config datoteka unutar foldera aplikacije sa referencama na "assemblyIdentity" datoteke i "namespaces". Sa ovom informacijom je moguće znati gde se nalaze izvršne datoteke i preuzeti ih. Iz preuzetih Dlls je takođe moguće pronaći nove namespaces gde treba pokušati pristupiti i dobiti web.config datoteku kako bi se pronašle nove namespaces i assemblyIdentity. Takođe, datoteke connectionstrings.config i global.asax mogu sadržati zanimljive informacije.\
U .Net MVC aplikacijama, web.config datoteka igra ključnu ulogu tako što specificira svaku binarnu datoteku na kojoj aplikacija zavisi putem "assemblyIdentity" XML oznaka.
Istraživanje Binarnih Datoteka
Primer pristupa web.config datoteci je prikazan u nastavku:
Ovaj zahtev otkriva razne postavke i zavisnosti, kao što su:
EntityFramework verzija
AppSettings za veb stranice, validaciju klijenata i JavaScript
System.web konfiguracije za autentifikaciju i vreme izvršavanja
System.webServer podešavanja modula
Runtime vezivanja skupova za brojne biblioteke kao što su Microsoft.Owin, Newtonsoft.Json i System.Web.Mvc
Ove postavke ukazuju na to da se određene datoteke, kao što je /bin/WebGrease.dll, nalaze unutar /bin fascikle aplikacije.
Datoteke u korenskom direktorijumu
Datoteke pronađene u korenskom direktorijumu, kao što su /global.asax i /connectionstrings.config (koja sadrži osetljive lozinke), su ključne za konfiguraciju i rad aplikacije.
Namespaces i Web.Config
MVC aplikacije takođe definišu dodatne web.config datoteke za specifične namespaces kako bi se izbegle ponavljajuće deklaracije u svakoj datoteci, kao što je prikazano zahtevom za preuzimanje druge web.config:
Preuzimanje DLL-ova
Pominjanje prilagođenog imenskog prostora ukazuje na DLL pod nazivom "WebApplication1" prisutan u /bin direktorijumu. Nakon toga, prikazan je zahtev za preuzimanje WebApplication1.dll:
Ovo sugeriše prisustvo drugih bitnih DLL-ova, kao što su System.Web.Mvc.dll i System.Web.Optimization.dll, u /bin direktorijumu.
U scenariju gde DLL uvozi prostor imena pod nazivom WebApplication1.Areas.Minded, napadač može da zaključi o postojanju drugih web.config fajlova na predvidivim putanjama, kao što su /area-name/Views/, koji sadrže specifične konfiguracije i reference na druge DLL-ove u /bin folderu. Na primer, zahtev za /Minded/Views/web.config može otkriti konfiguracije i prostore imena koji ukazuju na prisustvo drugog DLL-a, WebApplication1.AdditionalFeatures.dll.
Uobičajeni fajlovi
Sa ovde
HTTPAPI 2.0 404 Greška
Ako vidite grešku poput sledeće:
To znači da server nije primio ispravno ime domena unutar Host zaglavlja. Da biste pristupili web stranici, možete pogledati SSL sertifikat i možda ćete tamo pronaći ime domena/subdomena. Ako ga nema, možda ćete morati da brute force VHosts dok ne pronađete ispravno.
Stare IIS ranjivosti koje vredi potražiti
Microsoft IIS tilde karakter “~” Ranjivost/Osobina – Otkriće kratkog imena datoteke/foldera
Možete pokušati da enumerišete foldere i datoteke unutar svakog otkrivenog foldera (čak i ako zahteva osnovnu autentifikaciju) koristeći ovu tehniku. Glavno ograničenje ove tehnike, ako je server ranjiv, je to da može pronaći samo prvih 6 slova imena svake datoteke/foldera i prva 3 slova ekstenzije datoteka.
Možete koristiti https://github.com/irsdl/IIS-ShortName-Scanner da testirate ovu ranjivost:java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/
Originalno istraživanje: https://soroush.secproject.com/downloadable/microsoft_iis_tilde_character_vulnerability_feature.pdf
Takođe možete koristiti metasploit: use scanner/http/iis_shortname_scanner
Zaobilaženje osnovne autentifikacije
Zaobiđite osnovnu autentifikaciju (IIS 7.5) pokušavajući da pristupite: /admin:$i30:$INDEX_ALLOCATION/admin.php
ili /admin::$INDEX_ALLOCATION/admin.php
Možete pokušati da kombinujete ovu ranjivost i prethodnu da pronađete nove foldere i zaobiđete autentifikaciju.
ASP.NET Trace.AXD omogućeno debagovanje
ASP.NET uključuje režim debagovanja i njegova datoteka se zove trace.axd
.
Ona čuva veoma detaljan zapis svih zahteva upućenih aplikaciji tokom određenog vremenskog perioda.
Ove informacije uključuju IP adrese udaljenih klijenata, ID sesija, sve kolačiće zahteva i odgovora, fizičke putanje, informacije o izvoru koda, i potencijalno čak i korisnička imena i lozinke.
https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/
ASPXAUTH Kolačić
ASPXAUTH koristi sledeće informacije:
validationKey
(string): heksadecimalno kodirani ključ za korišćenje u validaciji potpisa.decryptionMethod
(string): (podrazumevano “AES”).decryptionIV
(string): heksadecimalno kodirani inicijalizacijski vektor (podrazumevano vektor nula).decryptionKey
(string): heksadecimalno kodirani ključ za korišćenje u dekripciji.
Međutim, neki ljudi će koristiti podrazumevane vrednosti ovih parametara i koristiće kao kolačić email korisnika. Stoga, ako možete pronaći web sa istom platformom koja koristi ASPXAUTH kolačić i napravite korisnika sa emailom korisnika kojeg želite da imitirate na serveru pod napadom, možda ćete moći da koristite kolačić sa drugog servera na prvom i imitirate korisnika. Ovaj napad je uspeo u ovom izveštaju.
IIS Zaobilaženje autentifikacije sa keširanim lozinkama (CVE-2022-30209)
Potpuni izveštaj ovde: Greška u kodu nije pravilno proverila lozinku koju je dao korisnik, tako da će napadač čija hash lozinka odgovara ključu koji je već u kešu moći da se prijavi kao taj korisnik.
Last updated