๐ก Microsoft Graph API๋?
Microsoft Graph์ Microsoft 365 ์๋น์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ก์ธ์ค ํ ์ ์๋ API
์ด API๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์ ์ง์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์กฐ์ง์ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐํ๊ณ ์กฐ์ง ๋ด์์ ์์ฐ์ฑ์ ํฅ์์ํฌ ์ ์์
์ฆ, ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ผ๋ก Microsoft 365์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ API์
โฌ Microsoft Graph ์๋น์ค ์ดํด
https://learn.microsoft.com/ko-kr/training/modules/msgraph-intro-overview/3-microsoft-graph-services
Microsoft Graph ์๋น์ค ์ดํด - Training
Microsoft Graph ๋ฐ ์๋น์ค์์ ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ด ๋๋ค.
learn.microsoft.com
โ ๊ณต๊ฒฉ์ ์ด์ฉ๋ Graph API
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ C2 ์๋ฒ ํต์ ์ ์ฌ์ฉ๋จ
Microsoft ํด๋ผ์ฐ๋ ์๋น์ค์์ ํธ์คํ ๋๋ C2 ์ธํ๋ผ์์ ํต์ ์ ์ฉ์ดํ๊ธฐ ์ํด Graph API๋ฅผ ํ์ฉํ๋ ์ํ์ด ์ฆ๊ฐํจ
๐ข Graph API๋ฅผ ์ด์ฉํ ์ค์ ๊ณต๊ฒฉ ์ฌ๋ก
์ด๋ฌํ ๊ธฐ์ ์ด ์ฐํฌ๋ผ์ด๋์ ํ ์กฐ์ง์ ๋ํ ๊ณต๊ฒฉ์์ ๊ฐ์ฅ ์ต๊ทผ์ ์ฌ์ฉ๋์์
์ด ๊ณต๊ฒฉ์ ์ฌ์ฉ๋ ์
์ฑ์ฝ๋๋ ์ด์ ์ ๋ฐ๊ฒฌ๋์ง ์์์
ํด๋น ์ ์ฑ์ฝ๋๋ Graph API๋ฅผ ์ฌ์ฉํด C2 ๋ชฉ์ ์ผ๋ก Microsoft OneDrive๋ฅผ ํ์ฉํจ
๐งซ Graph API๋ฅผ ์ด์ฉํ ์ ์ฑ์ฝ๋: BirdyClient
์ฐํฌ๋ผ์ด๋์์ ๋ฐ๊ฒฌ๋ ์ ์ฑ์ฝ๋๋ก, BirdyClient ๋๋ OneDriveBirdyClient๋ก ๋ช ๋ช ๋ ๊ฒ์ผ๋ก ๋ณด์ฌ์ง
์์ฒ๋ผ ๋ช ๋ช ๋ ์ด์ ๋ ํด๋น ์ ์ฑ์ฝ๋๊ฐ ๋ฐ๊ฒฌ๋ ํ์ผ์ธ vxdiff.dll์์ BirdyClient์ OneDriveBirdyClient์ ๋ํ ์ธ๊ธ์ด ๋ฐ๊ฒฌ๋จ
vxdiff.dll์ ๋ ธํธ๋ถ์์ ํํ ๋ณผ ์ ์๋ Alps์ฌ์์ ์ ๊ณตํ๋ Alps ํฌ์ธํ ์ฅ์น(๋ง์ฐ์ค๋ ํฐ์นํจ๋)์ ๋๋ผ์ด๋ฒ ๊ด๋ฆฌ ๋ฐ ์ ์ด ์ํํธ์จ์ด์ธ Apoint (apoint.exe)์ ์ฐ๊ด๋ ์ ํจํ DLL๊ณผ ๋์ผํจ
ํ์ง๋ง ์ด ์ ์ฑ์ฝ๋๊ฐ ์ ํจํ DLL๋ก ์์ฅํ ๊ฒ์ธ์ง, DLL์ ํตํด ์ฌ์ด๋๋ก๋ ๋๋์ง๋ ์๋ ค์ง์ง ์์
๐ BirdyClient์ ์ฃผ์ ๊ธฐ๋ฅ
- Microsoft Graph API์ ์ฐ๊ฒฐ
- ๊ณต๊ฒฉ์์ Microsoft OneDrive๋ฅผ C&C ์๋ฒ์ฒ๋ผ ์ด์ฉํด ํ์ผ์ ์ ๋ก๋ํ๊ณ ๋ค์ด๋ก๋ํจ
โฌ Graph API๋ฅผ ์ด์ฉํ ํ์ผ ๋ค์ด๋ก๋ ๋ฌธ์
https://learn.microsoft.com/en-us/graph/api/driveitem-get-content?view=graph-rest-1.0&tabs=http
Download a file - Microsoft Graph v1.0
Download the contents of the primary stream (file) of a driveItem. Only driveItems with the file property can be downloaded.
learn.microsoft.com
โฌ Graph API๋ฅผ ์ด์ฉํ ํ์ผ ์ ๋ก๋/๋ฎ์ด์ฐ๊ธฐ ๋ฌธ์
https://learn.microsoft.com/en-us/graph/api/driveitem-put-content?view=graph-rest-1.0&tabs=http
Upload small files - Microsoft Graph v1.0
Provide the contents of a new file or update the contents of an existing file in a single API call.
learn.microsoft.com
ํด๋น ์ ์ฑ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ ๋ก๊ทธ ํ์ผ์ ์์ฑํจ
%AllUsersProfile%/{0134AA2C-03BE-448D-8D28-7FFE94EA3A49}/config/001.temp
๐ฝ Graph API๋ฅผ ์ ์ฉํ ๊ณผ๊ฑฐ ์ฌ๋ก
๋ถํ์ APT37์ด ๊ฐ๋ฐํ Bluelight ์ ์ฑ์ฝ๋์์ ์ต์ด๋ก ์ ์ฉ๋จ
์ดํ Backdoor.Graphon, Graphite, SiestaGraph์์๋ Graph API๊ฐ ์ด์ฉ๋จ
์๋ 6์์ APT15์ ๊ณต๊ฒฉ์์๋ ๋์ผํ ์๋ฒ์ด ์ด์ฉ๋ ๊ฒ์ด ๋ฐ๊ฒฌ๋จ
๐ฉโ๐ป ๊ณต๊ฒฉ์ ๊ด์ ์์์ Graph API ํ์ฉ
์ผ๋ฐ์ ์ธ ๋ฐฉ์์ผ๋ก C2 ํต์ ์ ํ๋ ๊ฒฝ์ฐ, ํด๋น ํ์๊ฐ ํฌ์ฐฉ๋๊ธฐ ์ฌ์
๊ทธ๋ฌ๋ Graph API๋ ์ฌ๋๋ค์ด ๋๋ฆฌ ์ด์ฉํ๊ณ ์๋ ์ ์์ ์ธ ์๋น์ค์ด๊ธฐ ๋๋ฌธ์, ๊ณต๊ฒฉ ํ์์์๊ฒ๋ ์์ฌ์ค๋ฌ์ด ํธ๋ํฝ์ผ๋ก ๋ณด์ฌ์ง์ง ์์ ์ ์๋ ์์ ํ ์ธํ๋ผ๋ก ์ฌ๊ฒจ์ง
๋ํ, OneDrive์ ๊ฐ์ ์๋น์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌด๋ฃ๋ก ์ด์ฉํ ์ ์์ด ์ ์ ์์ฐ์ผ๋ก ์ด์ฉํ ์ ์์
๐ ๋ง๋ฌด๋ฆฌ
ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๋ํ ์ ๊ทผ ๊ถํ ๋ถ์ฌ์ ๋ํ ์ค์์ฑ์ด ๊ฐ์กฐ๋จ
์ฐธ๊ณ
https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/graph-api-threats
Graph: Growing number of threats leveraging Microsoft API
Graph API is often used for inconspicuous communications to cloud-based command-and-control servers.
symantec-enterprise-blogs.security.com