DDexec / EverythingExec
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
Context
๋ฆฌ๋
์ค์์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ค๋ฉด ํ์ผ๋ก ์กด์ฌํด์ผ ํ๋ฉฐ, ํ์ผ ์์คํ
๊ณ์ธต์ ํตํด ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ ๊ทผ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค(์ด๋ execve()๊ฐ ์๋ํ๋ ๋ฐฉ์์
๋๋ค). ์ด ํ์ผ์ ๋์คํฌ์ ์๊ฑฐ๋ ๋จ(tmpfs, memfd)์ ์์ ์ ์์ง๋ง, ํ์ผ ๊ฒฝ๋ก๊ฐ ํ์ํฉ๋๋ค. ์ด๋ก ์ธํด ๋ฆฌ๋
์ค ์์คํ
์์ ์คํ๋๋ ๊ฒ์ ์ฝ๊ฒ ์ ์ดํ ์ ์์ผ๋ฉฐ, ์ํ ๋ฐ ๊ณต๊ฒฉ์์ ๋๊ตฌ๋ฅผ ๊ฐ์งํ๊ฑฐ๋ ๊ทธ๋ค์ด ์๋ฌด๊ฒ๋ ์คํํ์ง ๋ชปํ๋๋ก ๋ฐฉ์งํ๋ ๊ฒ์ด ์ฉ์ดํฉ๋๋ค(_์: ๋นํน๊ถ ์ฌ์ฉ์๊ฐ ์คํ ํ์ผ์ ์๋ฌด ๊ณณ์๋ ๋ฐฐ์นํ๋ ๊ฒ์ ํ์ฉํ์ง ์์).
ํ์ง๋ง ์ด ๊ธฐ์ ์ ๋ชจ๋ ๊ฒ์ ๋ฐ๊พธ๊ธฐ ์ํด ์กด์ฌํฉ๋๋ค. ์ํ๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ ์ ์๋ค๋ฉดโฆ ์ด๋ฏธ ์กด์ฌํ๋ ํ๋ก์ธ์ค๋ฅผ ํ์ทจํฉ๋๋ค.
์ด ๊ธฐ์ ์ ์ฝ๊ธฐ ์ ์ฉ, noexec, ํ์ผ ์ด๋ฆ ํ์ดํธ๋ฆฌ์คํธ, ํด์ ํ์ดํธ๋ฆฌ์คํธ์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ๋ณดํธ ๊ธฐ์ ์ ์ฐํํ ์ ์๊ฒ ํด์ค๋๋ค.
Dependencies
์ต์ข ์คํฌ๋ฆฝํธ๋ ์๋ํ๊ธฐ ์ํด ๋ค์ ๋๊ตฌ์ ์์กดํ๋ฉฐ, ๊ณต๊ฒฉํ๋ ์์คํ ์์ ์ ๊ทผ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค(๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ๊ณณ์์ ์ด๋ค์ ์ฐพ์ ์ ์์ต๋๋ค):
dd
bash | zsh | ash (busybox)
head
tail
cut
grep
od
readlink
wc
tr
base64
๊ธฐ์
ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์๋ก ์์ ํ ์ ์๋ค๋ฉด, ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ฅ์
ํ ์ ์์ต๋๋ค. ์ด๋ ์ด๋ฏธ ์กด์ฌํ๋ ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋ก์ฑ๊ณ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ต์ฒดํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ptrace() ์์คํ
ํธ์ถ์ ์ฌ์ฉํ๊ฑฐ๋ (์ด๋ ์์คํ
์์ ์์คํ
ํธ์ถ์ ์คํํ ์ ์๋ ๋ฅ๋ ฅ์ด๋ gdb๊ฐ ํ์ํฉ๋๋ค) ๋ ํฅ๋ฏธ๋กญ๊ฒ๋ /proc/$pid/mem์ ์ฐ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ด๋ฅผ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
ํ์ผ /proc/$pid/mem์ ํ๋ก์ธ์ค์ ์ ์ฒด ์ฃผ์ ๊ณต๊ฐ์ 1:1 ๋งคํ์
๋๋ค (_์: x86-64์์ 0x0000000000000000์์ 0x7ffffffffffff000๊น์ง). ์ด๋ ์คํ์
x์์ ์ด ํ์ผ์ ์ฝ๊ฑฐ๋ ์ฐ๋ ๊ฒ์ด ๊ฐ์ ์ฃผ์ x์์ ๋ด์ฉ์ ์ฝ๊ฑฐ๋ ์์ ํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด์ ์ฐ๋ฆฌ๋ ๋ค ๊ฐ์ง ๊ธฐ๋ณธ ๋ฌธ์ ์ ์ง๋ฉดํ๊ฒ ๋ฉ๋๋ค:
- ์ผ๋ฐ์ ์ผ๋ก ๋ฃจํธ์ ํ์ผ์ ํ๋ก๊ทธ๋จ ์์ ์๋ง ์์ ํ ์ ์์ต๋๋ค.
- ASLR.
- ํ๋ก๊ทธ๋จ์ ์ฃผ์ ๊ณต๊ฐ์ ๋งคํ๋์ง ์์ ์ฃผ์๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ ค๊ณ ํ๋ฉด I/O ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ค์ ์๋ฒฝํ์ง๋ ์์ง๋ง ์ข์ ํด๊ฒฐ์ฑ ์ด ์์ต๋๋ค:
- ๋๋ถ๋ถ์ ์
ธ ์ธํฐํ๋ฆฌํฐ๋ ์์ ํ๋ก์ธ์ค๊ฐ ์์๋ฐ์ ํ์ผ ์ค๋ช
์๋ฅผ ์์ฑํ ์ ์๋๋ก ํ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ์
ธ์
memํ์ผ์ ๊ฐ๋ฆฌํค๋ fd๋ฅผ ์์ฑํ ์ ์์ต๋๋คโฆ ๋ฐ๋ผ์ ํด๋น fd๋ฅผ ์ฌ์ฉํ๋ ์์ ํ๋ก์ธ์ค๋ ์ ธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. - ASLR์ ๋ฌธ์ ๋ ์๋๋๋ค. ์ฐ๋ฆฌ๋ ์
ธ์
mapsํ์ผ์ด๋ procfs์ ๋ค๋ฅธ ํ์ผ์ ํ์ธํ์ฌ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. - ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ํ์ผ์์
lseek()๋ฅผ ์ํํด์ผ ํฉ๋๋ค. ์ ธ์์๋ ์ ๋ช ๋์dd๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค.
๋ ์์ธํ
๋จ๊ณ๋ ์๋์ ์ผ๋ก ์ฝ๊ณ ์ดํดํ๋ ๋ฐ ์ด๋ค ์ ๋ฌธ ์ง์๋ ํ์ํ์ง ์์ต๋๋ค:
- ์คํํ ๋ฐ์ด๋๋ฆฌ์ ๋ก๋๋ฅผ ํ์ฑํ์ฌ ํ์ํ ๋งคํ์ ์ฐพ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์, ๋๋ต์ ์ผ๋ก ์ปค๋์ด
execve()๋ฅผ ํธ์ถํ ๋ ์ํํ๋ ๊ฒ๊ณผ ๋์ผํ ๋จ๊ณ๋ฅผ ์ํํ๋ โ์ ธโ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค: - ํด๋น ๋งคํ์ ์์ฑํฉ๋๋ค.
- ๋ฐ์ด๋๋ฆฌ๋ฅผ ๊ทธ ์์ผ๋ก ์ฝ์ด๋ค์ ๋๋ค.
- ๊ถํ์ ์ค์ ํฉ๋๋ค.
- ๋ง์ง๋ง์ผ๋ก ํ๋ก๊ทธ๋จ์ ์ธ์๋ก ์คํ์ ์ด๊ธฐํํ๊ณ ๋ก๋์ ํ์ํ ๋ณด์กฐ ๋ฒกํฐ๋ฅผ ๋ฐฐ์นํฉ๋๋ค.
- ๋ก๋๋ก ์ ํํ์ฌ ๋๋จธ์ง๋ฅผ ์ํํ๊ฒ ํฉ๋๋ค (ํ๋ก๊ทธ๋จ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํฉ๋๋ค).
- ์คํ ์ค์ธ ์์คํ
ํธ์ถ ํ ํ๋ก์ธ์ค๊ฐ ๋ฐํํ ์ฃผ์๋ฅผ
syscallํ์ผ์์ ๊ฐ์ ธ์ต๋๋ค. - ํด๋น ์์น๋ฅผ ๋ฎ์ด์์ฐ๊ณ , ์ด๋ ์คํ ๊ฐ๋ฅํ๋ฉฐ, ์ฐ๋ฆฌ์ ์
ธ์ฝ๋๋ก ๋์ฒดํฉ๋๋ค (์ฐ๋ฆฌ๋
mem์ ํตํด ์ฐ๊ธฐ ๋ถ๊ฐ๋ฅํ ํ์ด์ง๋ฅผ ์์ ํ ์ ์์ต๋๋ค). - ์คํํ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค์ stdin์ผ๋ก ์ ๋ฌํฉ๋๋ค (ํด๋น โ์
ธโ ์ฝ๋์ ์ํด
read()๋ฉ๋๋ค). - ์ด ์์ ์์ ๋ก๋๋ ํ๋ก๊ทธ๋จ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ก๋ํ๊ณ ๊ทธ ์์ผ๋ก ์ ํํ๋ ์ญํ ์ ํฉ๋๋ค.
๋๊ตฌ๋ฅผ ํ์ธํ์ธ์ https://github.com/arget13/DDexec
EverythingExec
dd์ ๋ํ ์ฌ๋ฌ ๋์์ด ์์ผ๋ฉฐ, ๊ทธ ์ค ํ๋์ธ tail์ ํ์ฌ mem ํ์ผ์ ํตํด lseek()ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ํ๋ก๊ทธ๋จ์
๋๋ค (์ด๋ dd๋ฅผ ์ฌ์ฉํ๋ ์ ์ผํ ๋ชฉ์ ์ด์์ต๋๋ค). ์ด๋ฌํ ๋์์:
tail
hexdump
cmp
xxd
๋ณ์ SEEKER๋ฅผ ์ค์ ํ๋ฉด ์ฌ์ฉ๋๋ seeker๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค, ์::
SEEKER=cmp bash ddexec.sh ls -l <<< $(base64 -w0 /bin/ls)
์คํฌ๋ฆฝํธ์ ๊ตฌํ๋์ง ์์ ๋ค๋ฅธ ์ ํจํ seeker๋ฅผ ์ฐพ์ผ๋ฉด SEEKER_ARGS ๋ณ์๋ฅผ ์ค์ ํ์ฌ ์ฌ์ ํ ์ฌ์ฉํ ์ ์์ต๋๋ค:
SEEKER=xxd SEEKER_ARGS='-s $offset' zsh ddexec.sh ls -l <<< $(base64 -w0 /bin/ls)
์ด๊ฒ์ ์ฐจ๋จํ์ธ์, EDRs.
์ฐธ๊ณ ๋ฌธํ
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


