One Gadget

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 ์ง€์›ํ•˜๊ธฐ

๊ธฐ๋ณธ ์ •๋ณด

One Gadget๋Š” system๊ณผ โ€œ/bin/shโ€ ๋Œ€์‹ ์— ์…ธ์„ ์–ป์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. One Gadget์€ libc ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‚ด์—์„œ ๋‹จ ํ•˜๋‚˜์˜ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์…ธ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•(execve("/bin/sh"))์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ช‡ ๊ฐ€์ง€ ์ œ์•ฝ์ด ์žˆ์œผ๋ฉฐ, ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ด๊ณ  ํ”ผํ•˜๊ธฐ ์‰ฌ์šด ์ œ์•ฝ์€ [rsp+0x30] == NULL์ž…๋‹ˆ๋‹ค. RSP ๋‚ด๋ถ€์˜ ๊ฐ’์„ ์ œ์–ดํ•˜๋ฏ€๋กœ ์ œ์•ฝ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ NULL ๊ฐ’์„ ๋ณด๋‚ด๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ONE_GADGET = libc.address + 0x4526a
rop2 = base + p64(ONE_GADGET) + "\x00"*100

One Gadget๊ฐ€ ์ง€์‹œํ•˜๋Š” ์ฃผ์†Œ์— libc๊ฐ€ ๋กœ๋“œ๋œ ๊ธฐ๋ณธ ์ฃผ์†Œ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Tip

One Gadget๋Š” ์ž„์˜ ์“ฐ๊ธฐ 2 ์‹คํ–‰ ๊ธฐ์ˆ ์— ํฐ ๋„์›€์ด ๋˜๋ฉฐ, ROP ์ฒด์ธ์„ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ง€ ํ•˜๋‚˜์˜ ์ฃผ์†Œ๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  (์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ด์•ผ ํ•จ) ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ARM64

github ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋Š” ARM64๊ฐ€ ๋„๊ตฌ์— ์˜ํ•ด ์ง€์›๋œ๋‹ค๊ณ  ์–ธ๊ธ‰ํ•˜์ง€๋งŒ, Kali 2023.3์˜ libc์—์„œ ์‹คํ–‰ํ•  ๋•Œ ๊ฐ€์ ฏ์„ ์ฐพ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

Angry Gadget

github ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ: OneGadget์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„ ์ด ๋„๊ตฌ๋Š” ํŒŒ์ด์ฌ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ angr๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ execve('/bin/sh', NULL, NULL)๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฐ€์ ฏ์— ๋Œ€ํ•œ ์ œ์•ฝ ์กฐ๊ฑด์„ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
OneGadget์—์„œ ์‹œ๋„ํ•  ๊ฐ€์ ฏ์ด ๋‹ค ๋–จ์–ด์กŒ๋‹ค๋ฉด, Angry Gadget์€ ์‹œ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณต์žกํ•œ ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ฐ€์ง„ ๋” ๋งŽ์€ ๊ฐ€์ ฏ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค!

pip install angry_gadget

angry_gadget.py examples/libc6_2.23-0ubuntu10_amd64.so

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 ์ง€์›ํ•˜๊ธฐ