'2018/12/10'에 해당되는 글 1건

  1. 2018.12.10 [Tool] ejExtractor



1. 설명

2. 사용법

3. 옵션

4. TODO





[ https://github.com/SanseoLab/ejExtractor ]





1. 설명

  오토잇, 오토핫키처럼 스크립트를 바이너리로 생성하는 툴의 경우 exe를 직접 분석하는 것 보다는 원본 스크립트를 확인하는 것이 분석에 용이하다. 또한 InnoSetup, NSIS 등의 경우 내부의 바이너리 뿐만 아니라 설치 스크립트를 확인할 수 있을 떄 분석에 많은 도움이 된다.


  추가적으로 vbs/js의 경우 vbe/je라는 인코딩 방식이 지원되며, 파워셸의 경우 여러 인코딩 기법이 존재하는데 간단한 스크립트를 통해 쉽게 복호화가 가능하다.


  이 툴은 각각 따로 존재하는 툴들 및 스크립트들을 통합하고 커맨드라인 형태로 사용할 수 있게 하는 정리 및 자동화를 목적으로 만들게 되었다.



- Autoit : exe2aut를 사용한다.

- AutoHK : 버전 L의 경우 간단한 파이썬 스크립트를 사용하며, 버전 B의 경우 다음 링크의 툴을 사용한다. [ https://github.com/Kalamity/Exe2AhkPatched ]

- InnoSetup : innounp47.exe를 사용한다. 굳이 7z로 풀 수 있지만 installation script(.iss)도 추출할 수 있다는 장점이 있다.

- NSIS : 7z 버전 15.05를 사용한다. 이 버전은 installation script(.NSS)도 같이 추출해 준다.

- MSI : jsMSIx.exe를 사용한다. 이것은 설치될 경로에 맞게 파일들을 추출해줌과 동시에, 같은 폴더에 생성되는 "MSI Unpack.log" 파일을 통해 추가될 레지스트리도 확인할 수 있다.

- Powershell : 악성코드에서 주로 사용되는 Deflate, Gzip (+Base64) 및 SecureString으로 인코딩된 문자열을 복호화해 주며 동시에 반대로 인코딩도 지원한다.

- JSE / VBE : 다음 링크의 vbs 스크립트를 이용한다. [ https://gallery.technet.microsoft.com/Encode-and-Decode-a-VB-a480d74c ]





2. 사용법


> ejExtractor.py -[Option] [Path]


예시)

> ejExtractor.py -n C:\test.exe


파워셸 SecureString의 경우)

> ejExtractor.py -[Option] [Path] -key [key]

- ex) 

> ejExtractor.py -psd C:\test.txt -key 35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50





3. 옵션

- -h : Help

- -l : AutoHotKey version L

- -b : AutoHotKey version B

- -A : AutoIt 간단한 방식. 간단하게 Exe2Aut를 커맨드 라인 방식으로 사용한다.

- -a : AutoIt 다른 방식. 인코딩된 오토잇 스크립트를 추출하여 더미 바이너리에 붙인 후 이것을 Exe2Aut로 추출한다. 이유에 대해서는 다음 링크 참고. [ http://sanseolab.tistory.com/59 ]

- -i : InnoSetup

- -n : NSIS

- -m : MSI

- -pdd : Powershell Deflate Decode. 파워셸의 경우 인코딩 / 디코딩할 문자열은 파일로 저장한 후 인자로 준다.

- -pde : Powershell Deflate Encode

- -pgd : Powershell GZip Decode

- -pge : Powershell GZip Encode

- -psd : Powershell Secure String Decode. -key 옵션을 통해 추가적으로 키 값이 필요하다.

- -pse : Powershell Secure String Encode. -key 옵션을 통해 추가적으로 키 값이 필요하다.

- -jve : JS / VBS Encoding (to .jse or .vbe). 주의 : 결과로 나온 확장자는 항상 vbe이므로 만약 js를 인코딩한 경우에는 js 또는 jse로 수정하자.

- -jvd : JSE / VBE Decoding (to .js or .vbs). 주의 : 결과로 나온 확장자는 항상 vbs이므로 만약 jse를 디코딩한 경우에는 js로 수정하자.





4. TODO

  찾는 중...

'악성코드 분석' 카테고리의 다른 글

x64dbg 분석 팁  (0) 2018.12.15
디버거로 덤프 뜨기  (1) 2018.12.15
윈도우의 서비스  (0) 2018.11.03
악성 행위에 사용될 수 있는 시스템 유틸리티  (0) 2018.09.30
윈도우의 작업 스케줄링 및 기타  (1) 2018.09.30
Posted by SanseoLab
이전버튼 1 이전버튼

블로그 이미지
Malware Analyst
SanseoLab

태그목록

공지사항

Yesterday
Today
Total

달력

 « |  » 2018.12
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

최근에 올라온 글

최근에 달린 댓글

글 보관함