PrestaShop
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Perl backticks/qx// sinks in Apache mod_perl handlers (reachability and exploitation)
์ค์ ์ฌ๋ก ํจํด: Perl ์ฝ๋๊ฐ ์ ธ ๋ช ๋ น ๋ฌธ์์ด์ ์์ฑํ๊ณ backticks (๋๋ qx//)๋ฅผ ํตํด ์คํํฉ๋๋ค. mod_perl AccessHandler์์๋ $r->uri() ๊ฐ์ ๊ณต๊ฒฉ์ ์ ์ด ์์ฒญ ๊ตฌ์ฑ ์์๊ฐ ๊ทธ ๋ฌธ์์ด๋ก ํ๋ฌ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ์ด๋ค ๋ถ๊ธฐ์์ ์์ ์ ๋ ฅ์ ๋จ์ํ ์ด์ด๋ถ์ด๊ณ ์ด๋ฅผ ์ ธ๋ก ํ๊ฐํ๋ฉด pre-auth RCE๊ฐ ๋ฐ์ํฉ๋๋ค.
Risky Perl execution primitives (spawn a shell when given a single string):
- Backticks / qx//: my $out =
cmd ...; - system with a single string: system(โ/bin/sh -c โโฆโโ) implicitly
- open with a pipe: open my $fh, โcmd |โ or โ| cmdโ
- IPC::Open3 with a single string
Minimal vulnerable shape observed in the wild:
sub getCASURL {
...
my $exec_cmd = "...";
if ($type eq 'login') {
$exec_cmd .= $uri; # $uri from $r->uri() โ attacker-controlled
my $out = `$exec_cmd`; # backticks = shell
}
}
mod_perl์์์ ์ฃผ์ ๋๋ฌ์ฑ ๊ณ ๋ ค์ฌํญ:
- Handler ๋ฑ๋ก: httpd.conf๊ฐ ์์ฒญ์ Perl ๋ชจ๋๋ก ๋ผ์ฐํ ํด์ผ ํฉ๋๋ค. ์: PerlModule MOD_SEC_EMC::AccessHandler ๋ฐ ํน์ ๊ฒฝ๋ก ๋ฒ์์ ๋ํด AccessHandler::handler๋ฅผ ํธ์ถํ๋๋ก ๊ตฌ์ฑ๋์ด ์์ด์ผ ํฉ๋๋ค.
- ์ทจ์ฝํ ๋ถ๊ธฐ ํธ๋ฆฌ๊ฑฐ: ์ธ์ฆ๋์ง ์์ ๋ก๊ทธ์ธ ํ๋ฆ์ ๊ฐ์ ํ์ฌ type == โloginโ์ด ๋๊ฒ ํฉ๋๋ค(์: ์์๋๋ auth cookie๋ฅผ ์๋ต).
- ํด์ ๊ฐ๋ฅํ ๊ฒฝ๋ก: ์์ฒญ์ด ๊ตฌ์ฑ๋ ๋ฒ์ ๋ด์์ ํด์๋๋ URI๋ฅผ ๋์์ผ๋ก ํ๋์ง ํ์ธํ์ธ์. Apache๊ฐ ์์ฒญ์ ํธ๋ค๋ฌ๋ก ์ ๋ ๋ผ์ฐํ ํ์ง ์์ผ๋ฉด sink์ ๋๋ฌํ์ง ์์ต๋๋ค.
Exploitation workflow
- httpd.conf๋ฅผ ๊ฒ์ฌํ์ฌ PerlModule/MOD_PERL ํธ๋ค๋ฌ ๋ฒ์๋ฅผ ์ฐพ์ ํธ๋ค๋ฌ๊ฐ ์ฒ๋ฆฌํ๋ ํด์ ๊ฐ๋ฅํ ๊ฒฝ๋ก๋ฅผ ์ฐพ์ต๋๋ค.
- ์ธ์ฆ๋์ง ์์ ์์ฒญ์ ๋ณด๋ด ๋ก๊ทธ์ธ ๋ฆฌ๋๋ ํธ ๊ฒฝ๋ก๊ฐ ์ ํ๋๊ฒ ํฉ๋๋ค (type == โloginโ).
- ์์ฒญ URI ๊ฒฝ๋ก์ ์ ๋ฉํ๋ฌธ์(shell metacharacters)๋ฅผ ์ฝ์ ํ์ฌ $r->uri()๊ฐ ํ์ด๋ก๋๋ฅผ ๋ช ๋ น ๋ฌธ์์ด๋ก ์ ๋ฌํ๊ฒ ํฉ๋๋ค.
์์ HTTP PoC (path injection via โ;โ)
GET /ui/health;id HTTP/1.1
Host: target
Connection: close
Tips
- ๊ตฌ๋ถ์๋ค์ ์๋ํด๋ณด์ธ์: ;, &&, |,
backticks, $(โฆ), ๊ทธ๋ฆฌ๊ณ ์ธ์ฉ ๋ฐฉ์์ ๋ฐ๋ผ ์ธ์ฝ๋ฉ๋ ์ค๋ฐ๊ฟ(%0A). - ์ด์ ํจ์น๊ฐ ๋ค๋ฅธ ์ธ์๋ฅผ ์ธ์ฉํ์ง๋ง ์ด๋ค ๋ถ๊ธฐ์์๋ URI๋ฅผ ์ธ์ฉํ์ง ์๋ ๊ฒฝ์ฐ, ๋ฌธ์์ด ๋์ ํ์ด๋ก๋๋ฅผ ๋ง๋ถ์ด๋ฉด ์ข ์ข ๋์ํฉ๋๋ค: ;id# or &&/usr/bin/id#
Hardening (Perl)
- ์ ๋ฌธ์์ด์ ๋ง๋ค์ง ๋ง์ธ์. ์ธ์ ๋ฒกํฐ ํํ์ ์คํ์ ์ ํธํ์ธ์: system(โ/usr/bin/curlโ, โโsilentโ, โโโ, $safe_url) โ ์์ ์ฌ์ฉํ์ง ๋ง์ธ์.
- ์ ์ฌ์ฉ์ด ๋ถ๊ฐํผํ ๊ฒฝ์ฐ, ๋ชจ๋ ๋ถ๊ธฐ์์ ์๊ฒฉํ๊ณ ์ผ๊ด๋๊ฒ ์ด์ค์ผ์ดํํ์ธ์; $r->uri()๋ฅผ ์ ๋์ ์ ๋ ฅ์ผ๋ก ์ทจ๊ธํ์ธ์. ๊ฒฝ๋ก/์ฟผ๋ฆฌ์ ๋ํด์๋ URI::Escape์ ๊ฐ๋ ฅํ ํ์ฉ๋ฆฌ์คํธ ์ฌ์ฉ์ ๊ณ ๋ คํ์ธ์.
- ๋ช ๋ น ์คํ์ backticks/qx// ์ฌ์ฉ์ ํผํ์ธ์; ์ ๋ง ํ์ํ๋ค๋ฉด ์์ ํธ์ถํ์ง ์๋ open3/list ํํ๋ก ์ถ๋ ฅ์ ์บก์ฒํ์ธ์.
- mod_perl ํธ๋ค๋ฌ์์๋ auth/redirect ์ฝ๋ ๊ฒฝ๋ก์์ ๋ช ๋ น ์คํ์ ํผํ๊ฑฐ๋, ๋ชจ๋ ๋ถ๊ธฐ์์ ๋์ผํ ์ ์ (๋๋ ๊ฒ์ฆ)๋ฅผ ๋ณด์ฅํด โ๋ชจ๋ ๊ณ ์ณค์ง๋ง ํ ๋ถ๊ธฐ๋ง ๋น ์งโ ํ๊ท๋ฅผ ๋ฐฉ์งํ์ธ์.
Vulnerability hunting
- ์ ๋ช ๋ น์ ์กฐ๋ฆฝํ๋ ๋ชจ๋์ ํจ์น-๋ํ๋ฅผ ๊ฒ์ฌํ์ธ์; ๋ถ๊ธฐ ๊ฐ ๋ถ์ผ์นํ๋ ์ธ์ฉ์ ์ฐพ์ผ์ธ์(์: if ($type eq โloginโ)๊ฐ ์ด์ค์ผ์ดํ๋์ง ์์ ๊ฒฝ์ฐ).
- ๋ฌธ์์ด ๊ธฐ๋ฐ ์์ ์ฐพ๊ธฐ ์ํด backticks, qx//, open\s*(|||, and system\s*(\s*โ๋ฅผ grepํ์ธ์. sink๋ถํฐ ์์ฒญ ์ง์ ($r)๊น์ง ํธ์ถ ๊ทธ๋ํ๋ฅผ ๋ง๋ค์ด pre-auth๋ก ๋๋ฌ ๊ฐ๋ฅํ์ง ํ์ธํ์ธ์.
Real-world case: Dell UnityVSA pre-auth RCE (CVE-2025-36604)
- Pre-auth command injection via backticks in AccessTool.pm:getCASURL when type == โloginโ concatenated raw $uri ($r->uri()).
- Reachable through MOD_SEC_EMC::AccessHandler โ make_return_address($r) โ getCASLoginURL(โฆ, type=โloginโ) โ getCASURL(โฆ, $uri, โloginโ).
- Practical nuance: use a resolvable path covered by the handler; otherwise the module wonโt execute and the sink wonโt be hit.
References
- Itโs Never Simple Until It Is: Dell UnityVSA PreโAuth Command Injection (CVEโ2025โ36604)
- Dell PSIRT DSAโ2025โ281 โ Security update for Dell Unity/UnityVSA/Unity XT
- watchTowr Detection Artefact Generator โ Dell UnityVSA PreโAuth CVEโ2025โ36604
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


