macOS ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„

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 ์ง€์›ํ•˜๊ธฐ

๋ฉ”๋ชจ๋ฆฌ ์•„ํ‹ฐํŒฉํŠธ

์Šค์™‘ ํŒŒ์ผ

์Šค์™‘ ํŒŒ์ผ์€ /private/var/vm/swapfile0์™€ ๊ฐ™์ด ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ€๋“ ์ฐผ์„ ๋•Œ ์บ์‹œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ๋” ์ด์ƒ ๊ณต๊ฐ„์ด ์—†์„ ๋•Œ, ๊ทธ ๋ฐ์ดํ„ฐ๋Š” ์Šค์™‘ ํŒŒ์ผ๋กœ ์ „์†ก๋˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค์‹œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์Šค์™‘ ํŒŒ์ผ์ด ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋ฆ„์€ swapfile0, swapfile1 ๋“ฑ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•˜์ด๋ฒ„๋„ค์ดํŠธ ์ด๋ฏธ์ง€

/private/var/vm/sleepimage์— ์œ„์น˜ํ•œ ํŒŒ์ผ์€ ํ•˜์ด๋ฒ„๋„ค์ด์…˜ ๋ชจ๋“œ์—์„œ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. OS X๊ฐ€ ํ•˜์ด๋ฒ„๋„ค์ดํŠธํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด ํŒŒ์ผ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ๊นจ์–ด๋‚˜๋ฉด ์‹œ์Šคํ…œ์€ ์ด ํŒŒ์ผ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์ค‘๋‹จํ•œ ์ง€์ ์—์„œ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„๋Œ€ MacOS ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด ํŒŒ์ผ์ด ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ์ผ๋ฐ˜์ ์œผ๋กœ ์•”ํ˜ธํ™”๋˜์–ด ์žˆ์–ด ๋ณต๊ตฌ๊ฐ€ ์–ด๋ ค์šด ์ ๋„ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค.

  • sleepimage์˜ ์•”ํ˜ธํ™”๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด sysctl vm.swapusage ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์€ ํŒŒ์ผ์ด ์•”ํ˜ธํ™”๋˜์–ด ์žˆ๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์••๋ ฅ ๋กœ๊ทธ

MacOS ์‹œ์Šคํ…œ์—์„œ ๋˜ ๋‹ค๋ฅธ ์ค‘์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ํŒŒ์ผ์€ ๋ฉ”๋ชจ๋ฆฌ ์••๋ ฅ ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. ์ด ๋กœ๊ทธ๋Š” /var/log์— ์œ„์น˜ํ•˜๋ฉฐ ์‹œ์Šคํ…œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ์••๋ ฅ ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๊ฑฐ๋‚˜ ์‹œ์Šคํ…œ์ด ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ํŠนํžˆ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

osxpmem์„ ์‚ฌ์šฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„

MacOS ๊ธฐ๊ธฐ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋คํ”„ํ•˜๋ ค๋ฉด osxpmem์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : ๋‹ค์Œ ์ง€์นจ์€ Intel ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ€์ง„ Mac์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” ํ˜„์žฌ ์•„์นด์ด๋ธŒ๋˜์—ˆ์œผ๋ฉฐ ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๋Š” 2017๋…„์— ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ์ง€์นจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” 2017๋…„์— Apple Silicon์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Intel ์นฉ์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. arm64 ์•„ํ‚คํ…์ฒ˜์šฉ์œผ๋กœ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ปดํŒŒ์ผํ•  ์ˆ˜ ์žˆ์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ง์ ‘ ์‹œ๋„ํ•ด ๋ณด์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

#Dump raw format
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem

#Dump aff4 format
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4

์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด: osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8) ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
sudo kextutil "/tmp/MacPmem.kext"
#Allow the kext in "Security & Privacy --> General"
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem

๋‹ค๋ฅธ ์˜ค๋ฅ˜๋Š” โ€œ๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ โ€“> ์ผ๋ฐ˜โ€œ์—์„œ kext์˜ ๋กœ๋“œ๋ฅผ ํ—ˆ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ํ—ˆ์šฉํ•˜์„ธ์š”.

์ด ์›๋ผ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ , kext๋ฅผ ๋กœ๋“œํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋คํ”„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

sudo su
cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip; unzip osxpmem-2.1.post4.zip; chown -R root:wheel osxpmem.app/MacPmem.kext; kextload osxpmem.app/MacPmem.kext; osxpmem.app/osxpmem --format raw -o /tmp/dump_mem

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 ์ง€์›ํ•˜๊ธฐ