iOS ๊ธฐ๋ณธ ํ ์คํธ ์์
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
iOS ๊ธฐ๊ธฐ ์๋ณ ๋ฐ ์ ๊ทผ ์์ฝ
iOS ๊ธฐ๊ธฐ์ UDID ์๋ณ
iOS ๋๋ฐ์ด์ค๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ค๋ฉด UDID๋ผ๊ณ ์๋ ค์ง 40์๋ฆฌ ์ํ์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. macOS Catalina ์ด์์์๋ Finder app์์ ํ์ธํ ์ ์์ผ๋ฉฐ, iTunes๋ ๋ ์ด์ ์ ๊ณต๋์ง ์์ต๋๋ค. ๊ธฐ๊ธฐ๋ฅผ USB๋ก ์ฐ๊ฒฐํ๊ณ Finder์์ ์ ํํ ํ ์ด๋ฆ ์๋์ ์ธ๋ถ ์ ๋ณด๋ฅผ ํด๋ฆญํ๋ฉด UDID๋ฅผ ๋น๋กฏํ ๊ธฐํ ์ ๋ณด๊ฐ ํ์๋ฉ๋๋ค.
Catalina ์ด์ ๋ฒ์ ์ macOS์์๋ iTunes์์ UDID๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์์ธํ ์ง์นจ์ here์์ ํ์ธํ์ธ์.
Command-line ๋๊ตฌ๋ UDID๋ฅผ ๊ฐ์ ธ์ค๋ ๋์ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค:
- I/O Registry Explorer ๋๊ตฌ
ioreg์ฌ์ฉ:
$ ioreg -p IOUSB -l | grep "USB Serial"
- macOS (๋ฐ Linux)์์
ideviceinstaller์ฌ์ฉํ๊ธฐ:
$ brew install ideviceinstaller
$ idevice_id -l
system_profilerํ์ฉ:
$ system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p;/iPhone/,/Serial/p;/iPod/,/Serial/p' | grep "Serial Number:"
instruments๋ฅผ ์ฌ์ฉํ์ฌ ์ฅ์น ๋์ด:
$ instruments -s devices
๋๋ฐ์ด์ค ์ ธ ์ ๊ทผ
SSH access๋ ํ์ฅ ํ OpenSSH package๋ฅผ ์ค์นํ๋ฉด ๊ฐ๋ฅํ๋ฉฐ, ssh root@<device_ip_address>๋ก ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ฅ์น๋ฅผ ์์ ํ๊ฒ ์ ์งํ๋ ค๋ฉด ์ฌ์ฉ์ root์ mobile์ ๊ธฐ๋ณธ ๋น๋ฐ๋ฒํธ(alpine)๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
SSH over USB๋ Wi-Fi๊ฐ ์๋ ๊ฒฝ์ฐ ํ์ํด์ง๋ฉฐ, SSH ์ฐ๊ฒฐ์ ์ํด ๋๋ฐ์ด์ค ํฌํธ๋ฅผ ๋งคํํ๊ธฐ ์ํด iproxy๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ์ค์ ์ผ๋ก ๋ค์์ ์คํํ์ฌ USB๋ฅผ ํตํด SSH์ ์ ๊ทผํ ์ ์์ต๋๋ค:
$ iproxy 2222 22
$ ssh -p 2222 root@localhost
On-device shell applications, like NewTerm 2, ๊ธฐ๊ธฐ์์ ์ง์ ์ํธ์์ฉ์ ์ฉ์ดํ๊ฒ ํ๋ฉฐ, ํนํ ๋ฌธ์ ํด๊ฒฐ์ ์ ์ฉํฉ๋๋ค. Reverse SSH shells๋ ๋ํ ํธ์คํธ ์ปดํจํฐ์์์ ์๊ฒฉ ์ก์ธ์ค๋ฅผ ์ํด ์ค์ ํ ์ ์์ต๋๋ค.
Resetting Forgotten Passwords
๊ธฐ๋ณธ๊ฐ(alpine)์ผ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ค์ ํ๋ ค๋ฉด /private/etc/master.passwd ํ์ผ์ ํธ์งํด์ผ ํฉ๋๋ค. ์ด๋ root ๋ฐ mobile ์ฌ์ฉ์ ํญ๋ชฉ ์์ ๊ธฐ์กด ํด์๋ฅผ alpine์ ํด์๋ก ๊ต์ฒดํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
Data Transfer Techniques
Transferring App Data Files
Archiving and Retrieval via SSH and SCP: ์ ํ๋ฆฌ์ผ์ด์
์ Data ๋๋ ํฐ๋ฆฌ๋ฅผ tar๋ก ์์นด์ด๋ธํ ๋ค์ scp๋ก ์ ์กํ๋ ๊ฒ์ด ๊ฐ๋จํฉ๋๋ค. ์๋ ๋ช
๋ น์ Data ๋๋ ํฐ๋ฆฌ๋ฅผ .tgz ํ์ผ๋ก ์์นด์ด๋ธํ ๋ค ๋๋ฐ์ด์ค์์ ๋์ด์ต๋๋ค:
tar czvf /tmp/data.tgz /private/var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693
exit
scp -P 2222 root@localhost:/tmp/data.tgz .
๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋๊ตฌ
iFunbox์ iExplorer ์ฌ์ฉ: ์ด๋ฌํ GUI ๋๊ตฌ๋ค์ iOS ๋๋ฐ์ด์ค์ ํ์ผ ๊ด๋ฆฌ๋ฅผ ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ iOS 8.4๋ถํฐ๋ ๊ธฐ๊ธฐ๊ฐ jailbroken ์ํ๊ฐ ์๋๋ฉด Apple์ด ์ด๋ฌํ ๋๊ตฌ๋ค์ application sandbox ์ ๊ทผ์ ์ ํํ์ต๋๋ค.
ํ์ผ ๊ด๋ฆฌ๋ฅผ ์ํ Objection ์ฌ์ฉ
Objection์ ์ด์ฉํ ๋ํํ ์ ธ: objection์ ์คํํ๋ฉด ์ฑ์ Bundle directory์ ์ ๊ทผํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ์ฑ์ Documents directory๋ก ์ด๋ํด ํ์ผ์ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, iOS device๋ก๋ถํฐ ํ์ผ์ ๋ค์ด๋ก๋ํ๊ฑฐ๋ iOS device๋ก ํ์ผ์ ์ ๋ก๋ํ ์ ์์ต๋๋ค.
objection --gadget com.apple.mobilesafari explorer
cd /var/mobile/Containers/Data/Application/72C7AAFB-1D75-4FBA-9D83-D8B4A2D44133/Documents
file download <filename>
์ฑ ํ๋ ๋ฐ ์ถ์ถ
IPA ํ์ผ ํ๋
Over-The-Air (OTA) ๋ฐฐํฌ ๋งํฌ: OTA๋ฅผ ํตํด ํ ์คํธ์ฉ์ผ๋ก ๋ฐฐํฌ๋ ์ฑ์ npm์ผ๋ก ์ค์นํ๋ ITMS services asset downloader ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ด๋ก๋ํ๊ณ IPA ํ์ผ์ ๋ก์ปฌ์ ์ ์ฅํ ์ ์์ต๋๋ค.
npm install -g itms-services
itms-services -u "itms-services://?action=download-manifest&url=https://s3-ap-southeast-1.amazonaws.com/test-uat/manifest.plist" -o - > out.ipa
์ฑ ๋ฐ์ด๋๋ฆฌ ์ถ์ถ
- From an IPA: IPA์ ์์ถ์ ํ์ด decrypted app binary์ ์ ๊ทผํฉ๋๋ค.
- From a Jailbroken Device: ์ฑ์ ์ค์นํ๊ณ memory์์ decrypted binary๋ฅผ ์ถ์ถํฉ๋๋ค.
๋ณตํธํ(Decryption) ํ๋ก์ธ์ค
์๋ ๋ณตํธํ ๊ฐ์: iOS ์ฑ ๋ฐ์ด๋๋ฆฌ๋ Apple์ด FairPlay๋ฅผ ์ฌ์ฉํด ์ํธํํฉ๋๋ค. To reverse-engineer, memory์์ decrypted binary๋ฅผ dumpํด์ผ ํฉ๋๋ค. ๋ณตํธํ ๊ณผ์ ์ PIE flag ํ์ธ, memory flags ์กฐ์ , encrypted section ์๋ณ, ๊ทธ๋ฆฌ๊ณ ํด๋น ์น์ ์ dumpํ์ฌ decrypted form์ผ๋ก ๊ต์ฒดํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
PIE Flag ํ์ธ ๋ฐ ์์ :
otool -Vh Original_App
python change_macho_flags.py --no-pie Original_App
otool -Vh Hello_World
์ํธํ๋ ์น์ ์๋ณ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋คํ:
otool์ ์ฌ์ฉํด ์ํธํ๋ ์น์
์ ์์ ๋ฐ ๋ ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๊ณ , jailbroken device์์ gdb๋ฅผ ์ฌ์ฉํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋คํํฉ๋๋ค.
otool -l Original_App | grep -A 4 LC_ENCRYPTION_INFO
dump memory dump.bin 0x8000 0x10a4000
Encrypted Section ๋ฎ์ด์ฐ๊ธฐ:
์๋ณธ app binary์ ์๋ encrypted section์ decrypted dump๋ก ๋ฎ์ด์๋๋ค.
dd bs=1 seek=<starting_address> conv=notrunc if=dump.bin of=Original_App
Finalizing Decryption: ๋ฐ์ด๋๋ฆฌ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์ ํ์ฌ ์ํธํ๊ฐ ์์์ ํ์ํฉ๋๋ค. MachOView ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด cryptid๋ฅผ 0์ผ๋ก ์ค์ ํ์ธ์.
Decryption (์๋์ผ๋ก)
frida-ios-dump
The frida-ios-dump ๋๊ตฌ๋ iOS ๊ธฐ๊ธฐ์์ ์ฑ์ ์๋์ผ๋ก ์ํธ ํด์ ํ๊ณ ์ถ์ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋จผ์ dump.py๋ฅผ ๊ตฌ์ฑํ์ฌ iOS ๊ธฐ๊ธฐ์ ์ฐ๊ฒฐํด์ผ ํ๋ฉฐ, ์ด๋ iproxy๋ฅผ ํตํด localhost์ ํฌํธ 2222๋ก ์ฐ๊ฒฐํ๊ฑฐ๋ ๊ธฐ๊ธฐ์ IP ์ฃผ์์ ํฌํธ๋ก ์ง์ ์ฐ๊ฒฐํ์ฌ ์ํํ ์ ์์ต๋๋ค.
๊ธฐ๊ธฐ์ ์ค์น๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ๋ช ๋ น์ผ๋ก ๋์ดํ ์ ์์ต๋๋ค:
$ python dump.py -l
Telegram๊ณผ ๊ฐ์ ํน์ ์ฑ์ dumpํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํฉ๋๋ค:
$ python3 dump.py -u "root" -p "<PASSWORD>" ph.telegra.Telegraph
์ด ๋ช
๋ น์ ์ฑ ๋คํ๋ฅผ ์์ํ์ฌ ํ์ฌ ๋๋ ํฐ๋ฆฌ์ Telegram.ipa ํ์ผ์ ์์ฑํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ํ์ฅ๋ ์ฅ์น์ ์ ํฉํ๋ฉฐ, ์๋ช
๋์ง ์์๊ฑฐ๋ ๊ฐ์ง๋ก ์๋ช
๋ ์ฑ์ ios-deploy ๊ฐ์ ๋๊ตฌ๋ก ์ฌ์ค์นํ ์ ์์ต๋๋ค.
frida-ipa-extract
ํ์ฅ๋ ์ฅ์น์ฉ Frida ๊ธฐ๋ฐ IPA ์ถ์ถ๊ธฐ; ๋ ๋น ๋ฅธ ์ถ์ถ์ ์ํด USB Frida ์ธ์ ๊ณผ ์ ํ์ SSH/SFTP๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์๊ตฌ ์ฌํญ: Python 3.9+,
frida,paramiko, frida-server๊ฐ ์ค์น๋ ํ์ฅ๋ ์ฅ์น (SSH ๋ชจ๋์ฉ OpenSSH). - ์ค์ :
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
- ์ฌ์ฉ๋ฒ:
python extract.py -U -f com.example.app -o MyApp.ipa
python extract.py -U -f com.example.app -o MyApp.ipa --sandbox --no-resume
python extract.py -H 192.168.100.32 -P 2222 -u root -p password -f com.example.app
- ํ๋๊ทธ:
-f <bundle>๋ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์ฐ๊ฒฐํฉ๋๋ค (๋๋--pid๋ PID ์ฌ์ฉ);-o๋ ์ถ๋ ฅ ์ด๋ฆ์ ์ค์ ํฉ๋๋ค.-U๋ USB๋ฅผ ์ฌ์ฉํฉ๋๋ค;-H/-P/-u/-p๋frida-server์ 27042๋ก SSH ํฐ๋์ ์ด๊ณ SFTP๋ก ๊ฐ์ ธ์ต๋๋ค(-U์ ๊ฒฐํฉ ๊ฐ๋ฅ).--sandbox๋ ์๋๋ฐ์ค๋ฅผ ๋คํํฉ๋๋ค;--no-resume๋ ์ธ์ ์ด ๋์ด์ง ๊ฒฝ์ฐ ์์คํ ํ๋ก์ธ์ค์ ์ํ ํฌ๋์์ ์ฌ์๋๋ฅผ ํผํ๊ธฐ ์ํด ์ฑ์ ์ผ์์ค๋จ ์ํ๋ก ์ ์งํฉ๋๋ค. - ๋ฌธ์ ํด๊ฒฐ:
Frida attach timed outโ-f๋๋--no-resume์ฌ์ฉ;script has been destroyedโ--no-resume๋๋ SSH ์ ์ก ์ฌ์ฉ;No running apps foundโ ์ฑ์ ์์ํ๊ฑฐ๋ ์์ฑํ์ธ์.
flexdecrypt
The flexdecrypt tool, along with its wrapper flexdump, ์ค์น๋ ์ ํ๋ฆฌ์ผ์ด์
์์ IPA ํ์ผ์ ์ถ์ถํ ์ ์๊ฒ ํด์ค๋๋ค. ์ฅ์น์ flexdecrypt๋ฅผ ์ค์นํ๋ ๋ช
๋ น์๋ .deb ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํ๋ ๊ณผ์ ์ด ํฌํจ๋ฉ๋๋ค. flexdump๋ ์๋ ๋ช
๋ น์์ ๋ณด์ฌ์ฃผ๋ฏ ์ฑ์ ๋์ดํ๊ณ ๋คํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค:
apt install zip unzip
wget https://gist.githubusercontent.com/defparam/71d67ee738341559c35c684d659d40ac/raw/30c7612262f1faf7871ba8e32fbe29c0f3ef9e27/flexdump -P /usr/local/bin; chmod +x /usr/local/bin/flexdump
flexdump list
flexdump dump Twitter.app
bagbak
bagbak, ๋ ๋ค๋ฅธ Frida ๊ธฐ๋ฐ ๋๊ตฌ๋ก, ์ฑ ๋ณตํธํ๋ฅผ ์ํด ํ์ฅ๋ ๊ธฐ๊ธฐ๊ฐ ํ์ํฉ๋๋ค:
bagbak --raw Chrome
r2flutch
r2flutch, utilizing both radare and frida, serves for app decryption and dumping. More information can be found on its GitHub page.
Installing Apps
Sideloading๋ ๊ณต์ App Store ์ธ๋ถ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์นํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ installd daemon์ ์ํด ์ฒ๋ฆฌ๋๋ฉฐ ์ฑ์ Apple์ด ๋ฐํํ ์ธ์ฆ์๋ก ์๋ช ๋์ด์ผ ํฉ๋๋ค. ํ์ฅ๋ ๊ธฐ๊ธฐ๋ AppSync๋ฅผ ํตํด ์ด๋ฅผ ์ฐํํ์ฌ ์์กฐ ์๋ช ๋ IPA ํจํค์ง์ ์ค์น๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
Sideloading Tools
-
Cydia Impactor: iOS์ฉ IPA ํ์ผ๊ณผ Android์ฉ APK ํ์ผ์ ์๋ช ๋ฐ ์ค์น๋ฅผ ์ํ ๋๊ตฌ์ ๋๋ค. ๊ฐ์ด๋์ ๋ฌธ์ ํด๊ฒฐ์ yalujailbreak.net์์ ํ์ธํ ์ ์์ต๋๋ค.
-
libimobiledevice: iOS ์ฅ์น์ ํต์ ํ๊ธฐ ์ํ Linux ๋ฐ macOS์ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. USB๋ฅผ ํตํ ์ฑ ์ค์น์ ์ฌ์ฉ๋๋ ideviceinstaller์ ์ค์น ๋ช ๋ น๊ณผ ์ฌ์ฉ ์์ ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
-
ipainstaller: ์ด ๋ช ๋ นํ ๋๊ตฌ๋ iOS ๊ธฐ๊ธฐ์ ์ง์ ์ฑ์ ์ค์นํ ์ ์๊ฒ ํฉ๋๋ค.
-
ios-deploy: macOS ์ฌ์ฉ์๋ฅผ ์ํด ios-deploy๋ ์ปค๋งจ๋๋ผ์ธ์์ iOS ์ฑ์ ์ค์นํฉ๋๋ค. IPA ์์ถ ํด์ ๋ฐ ์ง์ ์ฑ ์คํ์ ์ํ
-mํ๋๊ทธ ์ฌ์ฉ์ด ๊ณผ์ ์ ์ผ๋ถ์ ๋๋ค. -
Xcode: Xcode๋ฅผ ์ฌ์ฉํ์ฌ Window/Devices and Simulators๋ก ์ด๋ํ ๋ค์ ์ฑ์ Installed Apps์ ์ถ๊ฐํ์ฌ ์ฑ์ ์ค์นํฉ๋๋ค.
Allow Application Installation on Non-iPad Devices
iPad ์ ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ iPhone ๋๋ iPod touch ๊ธฐ๊ธฐ์ ์ค์นํ๋ ค๋ฉด, Info.plist ํ์ผ์ UIDeviceFamily ๊ฐ์ 1๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ๋ณ๊ฒฝ์ ์๋ช ๊ฒ์ฆ ๋๋ฌธ์ IPA ํ์ผ์ ์ฌ์๋ช ์ด ํ์ํฉ๋๋ค.
์ฐธ๊ณ : ์ฑ์ด ์ต์ iPad ๋ชจ๋ธ์๋ง ์๋ ๊ธฐ๋ฅ์ ์๊ตฌํ๋ ๊ฒฝ์ฐ, ๊ตฌํ iPhone ๋๋ iPod touch์์ ์ด ๋ฐฉ๋ฒ์ด ์คํจํ ์ ์์ต๋๋ค.
References
- https://mas.owasp.org/MASTG/iOS/0x06b-iOS-Security-Testing/
- https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0052/
- https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0053/
- https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0054/
- https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0056/
- frida-ipa-extract
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


