๊ถํ์ด ์๋ ๋ก์ปฌ ์ฌ์ฉ์๊ฐ ๋ฃจํธ ๊ถํ์ผ๋ก ์ฝ๋๋ฅผ ์คํํ ์ ์๋๋ก ํ์ฉํ๋ ์ทจ์ฝ์ (CVE-2022-37706)์ด Enlightenment ์ฌ์ฉ์ ํ๊ฒฝ์์ ํ์ธ๋์์ต๋๋ค. ํด๋น ์ทจ์ฝ์ ์ ์์ง ์์ ๋์ง ์์์ง๋ง(0์ผ) Ubuntu 22.04์์ ํ ์คํธ๋ ๊ณต๊ฐ ๋๋ฉ์ธ์์ ์ด๋ฏธ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์คํ๋ก์์ด ์์ต๋๋ค.
๋ฌธ์ ๋ suid ๋ฃจํธ ํ๋๊ทธ์ ํจ๊ป ์ ๊ณต๋๊ณ system()์ ๋ํ ํธ์ถ์ ํตํด ๋ง์ดํธ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ผ์ด๋ธ๋ฅผ ๋ง์ดํธํ๋ ๋ฑ ํน์ ํ์ฉ๋ ๋ช ๋ น์ ์ํํ๋ Enlightment_sys ์คํ ํ์ผ์ ์์ต๋๋ค. system() ํธ์ถ์ ์ ๋ฌ๋ ๋ฌธ์์ด์ ์์ฑํ๋ ํจ์์ ์๋ชป๋ ์๋์ผ๋ก ์ธํด ์คํ ์ค์ธ ๋ช ๋ น์ ์ธ์์์ ๋ฐ์ดํ๊ฐ ์๋ ค ์ฌ์ฉ์ ๊ณ ์ ์ ์ฝ๋๋ฅผ ์คํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด mkdir -p /tmp/net mkdir -p "/tmp/;/tmp/exploit" echo "/bin/sh" > /tmp/exploit chmod a+x /tmp/exploit achievement_sys /bin/mount๋ฅผ ์คํํ๋ ๊ฒฝ์ฐ - o noexec,nosuid,utf8,nodev,iocharset=utf8,utf8=0,utf8=1,uid=$(id -u), โ/dev/../tmp/;/tmp/exploitโ /tmp// / ๊ทธ๋ฌผ
ํฐ๋ฐ์ดํ ์ ๊ฑฐ๋ก ์ธํด ์ง์ ๋ ๋ช
๋ น '/bin/mount ... "/dev/../tmp/;/tmp/exploit" /tmp///net' ๋์ ํฐ๋ฐ์ดํ๊ฐ ์๋ ๋ฌธ์์ด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. system() ํจ์ ' /bin/mount โฆ /dev/../tmp/;/tmp/exploit /tmp///net'์ ์ ๋ฌ๋์ด '/tmp/exploit /tmp///net ๋ช
๋ น์ด ์คํ๋ฉ๋๋ค. '๋ ์ฅ์น ๊ฒฝ๋ก์ ์ผ๋ถ๋ก ์ฒ๋ฆฌ๋์ง ์๊ณ ๋ณ๋๋ก ์คํ๋ฉ๋๋ค. "/dev/../tmp/" ๋ฐ "/tmp///net" ํ์ Enlightmentment_sys์ mount ๋ช
๋ น์ ๋ํ ์ธ์ ํ์ธ์ ์ฐํํ๊ธฐ ์ํด ์ ํ๋ฉ๋๋ค(๋ง์ดํธ ์ฅ์น๋ /dev/๋ก ์์ํ๊ณ ๊ธฐ์กด ํ์ผ์ ๊ฐ๋ฆฌ์ผ์ผ ํฉ๋๋ค. ํ์ํ ๊ฒฝ๋ก ํฌ๊ธฐ๋ฅผ ์ป์ผ๋ ค๋ฉด ๋ง์ดํธ ์ง์ ์ ์๋ ์ธ ๊ฐ์ "/" ๋ฌธ์๊ฐ ์ง์ ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru