2018. 12. 10. 22:07 악성코드 분석
[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 |