IIS - Internet Information Services
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Test executable file extensions:
asp
aspx
config
php
Katika seva yoyote ya IIS ambapo unapata 302 unaweza kujaribu kuondoa kichwa cha Host na kutumia HTTP/1.0 na ndani ya jibu kichwa cha Location kinaweza kukuongoza kwenye anwani ya IP ya ndani:
Majibu yanayofichua IP ya ndani:
Unaweza kupakia faili za .config na kuzitumia kutekeleza msimbo. Njia moja ya kufanya hivyo ni kuongeza msimbo mwishoni mwa faili ndani ya maoni ya HTML: Download example here
Taarifa zaidi na mbinu za kutumia udhaifu huu here
Pakua orodha niliyounda:
Ilianzishwa kwa kuunganisha maudhui ya orodha zifuatazo:
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
Tumia bila kuongeza kiambatisho chochote, faili zinazohitaji zina tayari.
Angalia andiko kamili katika: https://blog.mindedsecurity.com/2018/10/from-path-traversal-to-source-code-in.html
Kwa muhtasari, kuna faili kadhaa za web.config ndani ya folda za programu zikiwa na viungo kwa faili za "assemblyIdentity" na "namespaces". Kwa taarifa hii inawezekana kujua mahali ambapo executable ziko na kuzipakua. Kutoka kwa Dlls zilizopakuliwa pia inawezekana kupata namespaces mpya ambapo unapaswa kujaribu kufikia na kupata faili ya web.config ili kupata namespaces mpya na assemblyIdentity. Pia, faili connectionstrings.config na global.asax zinaweza kuwa na taarifa za kuvutia.\
Katika .Net MVC applications, faili ya web.config ina jukumu muhimu kwa kuainisha kila faili la binary ambalo programu inategemea kupitia lebo za XML za "assemblyIdentity".
Mfano wa kufikia faili ya web.config umeonyeshwa hapa chini:
Hii ombi linafunua mipangilio na utegemezi mbalimbali, kama vile:
EntityFramework toleo
AppSettings kwa ajili ya kurasa za wavuti, uthibitishaji wa mteja, na JavaScript
System.web mipangilio ya uthibitishaji na wakati wa utekelezaji
System.webServer mipangilio ya moduli
Runtime uhusiano wa mkusanyiko kwa maktaba nyingi kama Microsoft.Owin, Newtonsoft.Json, na System.Web.Mvc
Mipangilio hii inaonyesha kwamba faili fulani, kama /bin/WebGrease.dll, ziko ndani ya folda ya /bin ya programu.
Faili zinazopatikana katika saraka kuu, kama /global.asax na /connectionstrings.config (ambayo ina nywila nyeti), ni muhimu kwa usanidi na uendeshaji wa programu.
Programu za MVC pia zinafafanua web.config files za ziada kwa ajili ya namespaces maalum ili kuepuka matamko ya kurudiwa katika kila faili, kama inavyoonyeshwa na ombi la kupakua web.config nyingine:
Kurejelea jina la kawaida maalum kunaashiria DLL inayoitwa "WebApplication1" iliyopo katika saraka ya /bin. Kufuatia hii, ombi la kushusha WebApplication1.dll linaonyeshwa:
Hii inamaanisha uwepo wa DLL nyingine muhimu, kama System.Web.Mvc.dll na System.Web.Optimization.dll, katika saraka ya /bin.
Katika hali ambapo DLL inapata namespace inayoitwa WebApplication1.Areas.Minded, mshambuliaji anaweza kudhani uwepo wa faili nyingine za web.config katika njia zinazoweza kutabiriwa, kama /area-name/Views/, zikiwa na mipangilio maalum na marejeleo kwa DLL nyingine katika folda ya /bin. Kwa mfano, ombi kwa /Minded/Views/web.config linaweza kufichua mipangilio na namespaces zinazodhihirisha uwepo wa DLL nyingine, WebApplication1.AdditionalFeatures.dll.
Kutoka hapa
Ikiwa unaona kosa kama hili:
Inamaanisha kwamba seva haikupata jina sahihi la kikoa ndani ya kichwa cha Host. Ili kufikia ukurasa wa wavuti unaweza kuangalia Cheti cha SSL kilichotolewa na labda unaweza kupata jina la kikoa/subdomain huko. Ikiwa halipo, unaweza kuhitaji brute force VHosts hadi upate sahihi.
Unaweza kujaribu kuorodhesha folda na faili ndani ya kila folda iliyogunduliwa (hata kama inahitaji Uthibitisho wa Msingi) ukitumia mbinu hii. Kikomo kikuu cha mbinu hii ikiwa seva ina udhaifu ni kwamba inaweza tu kupata hadi herufi 6 za kwanza za jina la kila faili/folda na herufi 3 za kwanza za kiendelezi cha faili.
Unaweza kutumia https://github.com/irsdl/IIS-ShortName-Scanner kujaribu udhaifu huu:java -jar iis_shortname_scanner.jar 2 20 http://10.13.38.11/dev/dca66d38fd916317687e1390a420c3fc/db/
Utafiti wa asili: https://soroush.secproject.com/downloadable/microsoft_iis_tilde_character_vulnerability_feature.pdf
Unaweza pia kutumia metasploit: use scanner/http/iis_shortname_scanner
Wazo zuri la kupata jina la mwisho la faili zilizogunduliwa ni kuuliza LLMs kwa chaguzi kama inavyofanywa katika skripti https://github.com/Invicti-Security/brainstorm/blob/main/fuzzer_shortname.py
Bypass uthibitisho wa msingi (IIS 7.5) ukijaribu kufikia: /admin:$i30:$INDEX_ALLOCATION/admin.php
au /admin::$INDEX_ALLOCATION/admin.php
Unaweza kujaribu kuchanganya udhaifu huu na wa mwisho ili kupata folda mpya na kuepuka uthibitisho.
ASP.NET inajumuisha hali ya ufuatiliaji na faili yake inaitwa trace.axd
.
Inahifadhi kumbukumbu ya kina ya maombi yote yaliyofanywa kwa programu kwa kipindi cha muda.
Taarifa hii inajumuisha IP za wateja wa mbali, vitambulisho vya kikao, vidakuzi vyote vya maombi na majibu, njia za kimwili, taarifa za msimbo wa chanzo, na labda hata majina ya watumiaji na nywila.
https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/
ASPXAUTH inatumia taarifa zifuatazo:
validationKey
(string): ufunguo wa hex-encoded wa kutumia kwa uthibitishaji wa saini.
decryptionMethod
(string): (default “AES”).
decryptionIV
(string): hex-encoded initialization vector (inategemea vector ya sifuri).
decryptionKey
(string): ufunguo wa hex-encoded wa kutumia kwa ufichuzi.
Hata hivyo, watu wengine watachukua thamani za msingi za vigezo hivi na watatumia kama cookie barua pepe ya mtumiaji. Hivyo basi, ikiwa unaweza kupata wavuti inayotumia jukwaa sawa linalotumia cookie ya ASPXAUTH na wewe uunde mtumiaji kwa barua pepe ya mtumiaji unayependa kuiga kwenye seva inayoshambuliwa, unaweza kuwa na uwezo wa kutumia cookie kutoka seva ya pili kwenye ya kwanza na kuiga mtumiaji. Shambulio hili lilifanya kazi katika writeup.
Ripoti kamili hapa: Kosa katika msimbo halikupitia ipasavyo nywila iliyotolewa na mtumiaji, hivyo mshambuliaji ambaye hash ya nywila yake inagonga ufunguo ambao tayari uko kwenye cache ataweza kuingia kama mtumiaji huyo.
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)