2019๋ XNUMX์, ์ฌ์ด๋ฒ ๊ทธ๋ฃน OceanLotus์ ์๋ก์ด macOS ์ ์ฑ ์ฝ๋ ์ํ์ด ์ธ๊ธฐ ์๋ ์จ๋ผ์ธ ๊ฒ์ฌ ์๋น์ค์ธ VirusTotal์ ์ ๋ก๋๋์์ต๋๋ค. ๋ฐฑ๋์ด ์คํ ํ์ผ์ ์ฐ๋ฆฌ๊ฐ ์ฐ๊ตฌํ macOS ์ ์ฑ ์ฝ๋์ ์ด์ ๋ฒ์ ๊ณผ ๋์ผํ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ง๋ง ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋์ด ํ์ง๊ฐ ๋ ์ด๋ ค์์ก์ต๋๋ค. ์ํ๊น๊ฒ๋ ์ด ์ํ๊ณผ ๊ด๋ จ๋ ๋๋กํผ๋ฅผ ์ฐพ์ ์ ์์ด ์์ง ๊ฐ์ผ ๊ฒฝ๋ก๋ฅผ ์ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ต๊ทผ์ ์ถํํ์ต๋๋ค
๋ถ์
๋ค์ ์ธ ๋ถ๋ถ์์๋ SHA-1 ํด์๋ฅผ ์ฌ์ฉํ ์ํ ๋ถ์์ ์ค๋ช
ํฉ๋๋ค. E615632C9998E4D3E5ACD8851864ED09B02C77D2
. ํ์ผ ์ด๋ฆ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์์ ๋ฑ, ESET ๋ฐ์ด๋ฌ์ค ๋ฐฑ์ ์ ํ์ ์ด๋ฅผ OSX/OceanLotus.D๋ก ๊ฐ์งํฉ๋๋ค.
๋๋ฒ๊น ๋ฐฉ์ง ๋ฐ ์๋๋ฐ์ค ๋ณดํธ
๋ชจ๋ macOS OceanLotus ๋ฐ์ด๋๋ฆฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ํ์ UPX๋ก ํจํค์ง๋์ง๋ง ๋๋ถ๋ถ์ ํจํค์ ์๋ณ ๋๊ตฌ๋ ์ด๋ฅผ UPX๋ก ์ธ์ํ์ง ๋ชปํฉ๋๋ค. ์ด๋ ์๋ง๋ "UPX" ๋ฌธ์์ด์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ฅธ ์๋ช
์ด ๋๋ถ๋ถ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ผ ๊ฒ์
๋๋ค. ๋ํ Mach-O ์๋ช
์ ๋ ์ผ๋ฐ์ ์ด๊ณ ์์ฃผ ์
๋ฐ์ดํธ๋์ง ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ ์ ๊ฐ์ง๋ฅผ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ ํฌ์ฅ์ ํ๊ณ ๋๋ฉด ์ง์
์ ์ด ํด๋น ์น์
์ ์์ ๋ถ๋ถ์ ์์ต๋๋ค. __cfstring
์ธ๊ทธ๋จผํธ์์ .TEXT
. ์ด ์น์
์๋ ์๋ ์ด๋ฏธ์ง์ ํ์๋ ๋๋ก ํ๋๊ทธ ์์ฑ์ด ์์ต๋๋ค.
๊ทธ๋ฆผ 1. MACH-O __cfstring ์น์
์์ฑ
๊ทธ๋ฆผ 2์ ๊ฐ์ด ์น์
์ ์ฝ๋ ์์น๋ __cfstring
์ฝ๋๋ฅผ ๋ฌธ์์ด๋ก ํ์ํ์ฌ ์ผ๋ถ ๋์ค์ด์
๋ธ๋ฆฌ ๋๊ตฌ๋ฅผ ์์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฆผ 2. IDA๊ฐ ๋ฐ์ดํฐ๋ก ํ์งํ ๋ฐฑ๋์ด ์ฝ๋
์ผ๋จ ์คํ๋๋ฉด ๋ฐ์ด๋๋ฆฌ๋ ๋๋ฒ๊ฑฐ์ ์กด์ฌ๋ฅผ ์ง์์ ์ผ๋ก ํ์ธํ๋ ๊ฒ์ด ์ ์ผํ ๋ชฉ์ ์ธ ์ํฐ ๋๋ฒ๊ฑฐ๋ก ์ค๋ ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ด ํ๋ฆ์ ๊ฒฝ์ฐ:
โ ๋๋ฒ๊ฑฐ๋ฅผ ํด์ ํ๋ ค๊ณ ์๋ํฉ๋๋ค. ptrace
ั PT_DENY_ATTACH
์์ฒญ ๋งค๊ฐ๋ณ์๋ก
- ํจ์๋ฅผ ํธ์ถํ์ฌ ์ผ๋ถ ์ ์ฉ ํฌํธ๊ฐ ์ด๋ ค ์๋์ง ํ์ธ task_get_exception_ports
- ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ๋๊ทธ ์ ๋ฌด๋ฅผ ํ์ธํ์ฌ ๋๋ฒ๊ฑฐ๊ฐ ์ฐ๊ฒฐ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. P_TRACED
ํ์ฌ ๊ณผ์ ์์
๊ทธ๋ฆผ 3. sysctl ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋๋ฒ๊ฑฐ ์ฐ๊ฒฐ ํ์ธ
์์น๋
์ด ๋๋ฒ๊ฑฐ์ ์กด์ฌ๋ฅผ ๊ฐ์งํ๋ฉด ํจ์๊ฐ ํธ์ถ๋ฉ๋๋ค. exit
. ๋ํ ์ํ์ ๋ค์ ๋ ๋ช
๋ น์ ์คํํ์ฌ ํ๊ฒฝ์ ํ์ธํฉ๋๋ค.
ioreg -l | grep -e "Manufacturer" ะธ sysctl hw.model
๊ทธ๋ฐ ๋ค์ ์ํ์ ์๋ ค์ง ๊ฐ์ํ ์์คํ ์ ํ๋ ์ฝ๋ฉ๋ ๋ฌธ์์ด ๋ชฉ๋ก๊ณผ ๋น๊ตํ์ฌ ๋ฐํ ๊ฐ์ ํ์ธํฉ๋๋ค. ์์ดํด, VM์จ์ด, ๋ฒ์ถ์ผ ๋๋ ํํ์ . ๋ง์ง๋ง์ผ๋ก ๋ค์ ๋ช ๋ น์ ๋จธ์ ์ด "MBP", "MBA", "MB", "MM", "IM", "MP" ๋ฐ "XS" ์ค ํ๋์ธ์ง ํ์ธํฉ๋๋ค. ์ด๋ ์์คํ ๋ชจ๋ธ ์ฝ๋์ ๋๋ค. ์๋ฅผ ๋ค์ด "MBP"๋ MacBook Pro๋ฅผ ์๋ฏธํ๊ณ "MBA"๋ MacBook Air๋ฅผ ์๋ฏธํฉ๋๋ค.
system_profiler SPHardwareDataType 2>/dev/null | awk '/Boot ROM Version/ {split($0, line, ":");printf("%s", line[2]);}
์ฃผ์ ์ถ๊ฐ ์ฌํญ
Trend Micro์ ์กฐ์ฌ ์ดํ ๋ฐฑ๋์ด ๋ช ๋ น์ ๋ณ๊ฒฝ๋์ง ์์์ง๋ง ๋ช ๊ฐ์ง ๋ค๋ฅธ ์์ ์ฌํญ๋ ๋ฐ๊ฒฌํ์ต๋๋ค. ์ด ์ํ์ ์ฌ์ฉ๋ C&C ์๋ฒ๋ ์๋นํ ์๋ก์ด ์๋ฒ์ด๋ฉฐ 22.10.2018๋ XNUMX์ XNUMX์ผ์ ์์ฑ๋์์ต๋๋ค.
- daff.faybilodeau[.]com
- sarc.onteagleroad[.]com
- au.charlineopkesston[.]com
๋ฆฌ์์ค URL์ด ๋ค์์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. /dp/B074WC4NHW/ref=gbps_img_m-9_62c3_750e6b35
.
C&C ์๋ฒ๋ก ์ ์ก๋ ์ฒซ ๋ฒ์งธ ํจํท์๋ ์๋ ํ์ ๋ช
๋ น์ผ๋ก ์์ง๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ์ฌ ํธ์คํธ ์์คํ
์ ๋ํ ์์ธํ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
์ด ๊ตฌ์ฑ ๋ณ๊ฒฝ ์ธ์๋ ์ํ์์๋ ๋คํธ์ํฌ ํํฐ๋ง์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค. gFjMXBgyXWULmVVVzyxy
, XNUMX์ผ๋ก ์ฑ์์ง๋๋ค. ๊ฐ ํ์ผ์ ์ํธ๊ฐ ํด๋
๋์ด ๋ค์๊ณผ ๊ฐ์ด ์ ์ฅ๋ฉ๋๋ค. /tmp/store
, ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ก๋ํ๋ ค๋ ์๋๋ ๋ค์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฃจ์ด์ง๋๋ค. dlopen
, ๋ฐฑ๋์ด๋ ๋ด๋ณด๋ธ ๊ธฐ๋ฅ์ ์ถ์ถํฉ๋๋ค. Boriry
ะธ ChadylonV
, ์๋ฒ์์ ๋คํธ์ํฌ ํต์ ์ ๋ด๋นํ๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ์ํ์ ์๋ ์์น์ ์๋ ๋๋กํผ๋ ๊ธฐํ ํ์ผ์ด ์์ผ๋ฏ๋ก ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์์ต๋๋ค. ๋ํ ๊ตฌ์ฑ ์์๊ฐ ์ํธํ๋์ด ์์ผ๋ฏ๋ก ์ด๋ฌํ ๋ฌธ์์ด์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ YARA ๊ท์น์ ๋์คํฌ์ ์๋ ํ์ผ๊ณผ ์ผ์นํ์ง ์์ต๋๋ค.
์ ๊ธ์ ์ค๋ช ๋ ๋๋ก ์์ฑ๋ฉ๋๋ค. ํด๋ผ์ด์ธํธID. ์ด ID๋ ๋ค์ ๋ช ๋ น ์ค ํ๋์ ๋ฐํ ๊ฐ์ ๋ํ MD5 ํด์์ ๋๋ค.
- ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformSerialNumber/ { split($0, line, """); printf("%s", line[4]); }'
- ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, """); printf("%s", line[4]); }'
- ifconfig en0 | awk '/ether /{print $2}'
(MAC ์ฃผ์ ์ป๊ธฐ)
- ์ ์ ์๋ ํ("x1ex72x0a
")(์ด์ ์ํ์์ ์ฌ์ฉ๋จ)
ํด์ฑํ๊ธฐ ์ ์ ๋ฃจํธ ๊ถํ์ ๋ํ๋ด๊ธฐ ์ํด "0" ๋๋ "1"์ด ๋ฐํ ๊ฐ์ ์ถ๊ฐ๋ฉ๋๋ค. ์ด๊ฒ clientID ์ ์ ์ฅ๋จ /Library/Storage/File System/HFS/25cf5d02-e50b-4288-870a-528d56c3cf6e/pivtoken.appex
, ์ฝ๋๊ฐ ๋ฃจํธ๋ก ์คํ๋๊ฑฐ๋ ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ์๋ ~/Library/SmartCardsServices/Technology/PlugIns/drivers/snippets.ecgML์์ ์คํ๋๋ ๊ฒฝ์ฐ. ํ์ผ์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์จ๊ฒจ์ง๋๋ค. touch โt
์์์ ๊ฐ์ผ๋ก.
๋ฌธ์์ด ๋์ฝ๋ฉ
์ด์ ์ต์
๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฌธ์์ด์ AES-256-CBC(XNUMX์ง์ ํค: 9D7274AD7BCEF0DED29BDBB428C251DF8B350B92
XNUMX์ผ๋ก ์ฑ์์ง๊ณ IV๋ XNUMX์ผ๋ก ์ฑ์์ง) ํจ์๋ฅผ ํตํด
ํจ์ ํ๋กํ ํ์ ์๊ธฐ ํด๋ , ์คํฌ๋ฆฝํธ๋ ์ด ํจ์์ ๋ํ ๋ชจ๋ ์ํธ ์ฐธ์กฐ, ๋ชจ๋ ์ธ์๋ฅผ ์ฐพ์ ๋ค์ ๋ฐ์ดํฐ๋ฅผ ํด๋ ํ๊ณ ์ํธ ์ฐธ์กฐ ์ฃผ์์ ์ฃผ์ ์์ ์ผ๋ฐ ํ ์คํธ๋ฅผ ๋ฐฐ์นํฉ๋๋ค. ์คํฌ๋ฆฝํธ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ค๋ฉด base64 ๋์ฝ๋ฉ ๊ธฐ๋ฅ์์ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์ ์ ์ํ๋ฒณ์ผ๋ก ์ค์ ํด์ผ ํ๋ฉฐ ํค ๊ธธ์ด๋ฅผ ํฌํจํ๋ ์ ์ญ ๋ณ์๋ฅผ ์ ์ํด์ผ ํฉ๋๋ค(์ด ๊ฒฝ์ฐ DWORD, ๊ทธ๋ฆผ 4 ์ฐธ์กฐ).
๊ทธ๋ฆผ 4. ์ ์ญ ๋ณ์ key_len์ ์ ์
ํจ์ ์ฐฝ์์ ์ํธ ํด๋ ํจ์๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๊ณ โ์ธ์ ์ถ์ถ ๋ฐ ์ํธ ํด๋ โ์ ํด๋ฆญํ ์ ์์ต๋๋ค. ๊ทธ๋ฆผ 5์ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ ์ฃผ์์ ํด๋ ๋ ์ค์ ๋ฐฐ์นํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆผ 5. ํด๋
๋ ํ
์คํธ๊ฐ ์ฃผ์์ ๋ฐฐ์น๋ฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ํด๋ ๋ ๋ฌธ์์ด์ด IDA ์ฐฝ์ ํธ๋ฆฌํ๊ฒ ํจ๊ป ๋ฐฐ์น๋ฉ๋๋ค. ์ธ๋ถ ์ฐธ์กฐ ์ด ๊ธฐ๋ฅ์ ๋ํด์๋ ๊ทธ๋ฆผ 6๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆผ 6. f_decrypt ํจ์์ ๋ํ ์ธ๋ถ ์ฐธ์กฐ
์ต์ข
์คํฌ๋ฆฝํธ๋ ๋ค์์์ ์ฐพ์ ์ ์์ต๋๋ค.
์ถ๋ ฅ
์ด๋ฏธ ์ธ๊ธํ๋ฏ์ด OceanLotus๋ ํดํท์ ์ง์์ ์ผ๋ก ๊ฐ์ ํ๊ณ ์ ๋ฐ์ดํธํ๊ณ ์์ต๋๋ค. ์ด๋ฒ์ ์ฌ์ด๋ฒ ๊ทธ๋ฃน์ Mac ์ฌ์ฉ์์ ์๋ํ๋๋ก ์ ์ฑ ์ฝ๋๋ฅผ ๊ฐ์ ํ์ต๋๋ค. ์ฝ๋๋ ํฌ๊ฒ ๋ณ๊ฒฝ๋์ง ์์์ง๋ง ๋ง์ Mac ์ฌ์ฉ์๊ฐ ๋ณด์ ์ ํ์ ๋ฌด์ํ๋ฏ๋ก ๋งฌ์จ์ด๊ฐ ํ์ง๋์ง ์๋๋ก ๋ณดํธํ๋ ๊ฒ์ ๋ถ์ฐจ์ ์ธ ์ค์์ฑ์ ๋๋ค.
ESET ์ ํ์ ์ฐ๊ตฌ ๋น์ ์ด๋ฏธ ์ด ํ์ผ์ ํ์งํ๊ณ ์์์ต๋๋ค. C&C ํต์ ์ ์ฌ์ฉ๋๋ ๋คํธ์ํฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด์ ๋์คํฌ์์ ์ํธํ๋๊ธฐ ๋๋ฌธ์ ๊ณต๊ฒฉ์๊ฐ ์ฌ์ฉํ๋ ์ ํํ ๋คํธ์ํฌ ํ๋กํ ์ฝ์ ์์ง ์๋ ค์ง์ง ์์์ต๋๋ค.
ํํ์ ์งํ
์นจํด ์งํ ๋ฐ MITRE ATT&CK ์์ฑ๋ ๋ค์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ถ์ฒ : habr.com