난독화 된 vbs 악성코드 분석 (warl0ck CTF)

작년과 마찬가지로 올해도 데프콘 (DEFCON 22) 행사에서 Warl0ck Gam3z가 운영하는
소규모 CTF 대회가 진행되었다.

이 대회는 예전에는 포렌식 위주의 문제를 많이 출제했었는데 (특히 메모리 포렌식)
언제부턴가는 장르를 가리지 않고 다양한 분야의 문제들이 나오는 것 같다.

올해는 상황이 여의치 않아 직접 참여하지는 못하고, 멀리서나마 온라인으로 접속하여
이런저런 문제들을 풀어보고 있는데, 그 중 한 문제를 이번 포스팅에서 다루고자 한다.

먼저 주어진 문제는 다음과 같다.

ch3ckmat3


************************************************************************
*This is malware, please handle accordingly. If you are not comfortable*
*running this file, skip this file and move on. Proceed with caution!!!*
************************************************************************
Got this VBS file sent to me. Not sure what it does so I ran it a few times
but nothing seems to happen. Can you tell me what it does?
Download
Password: t@ng0xr@y
Access Code: d3c0d3n!nja 

VBS  파일을 받아서 실행했는데 아무 반응도 없고 뭘 하는지 알 수가 없다.
이 파일이 무엇인지 알아내는 것이 목표다.

 

그럼 본격적으로 분석을 실행해보자.

먼저 해당 VBS 파일은 [ DOWNLOAD LINK ] 를 통해 받으면 된다. (※ 악성 파일을 포함하므로 로컬 환경에서 실행 금지)

파일을 텍스트 에디터에서 열어보면 알수없는 문자들과 함께 아래와 같은 스크립트 구문이 보인다.

대충 구문을 보더라도 Base64로 인코딩된 “Safa7_22” 변수 갑을 디코딩하는 것으로 보인다.

현재 상황에서는 구문 분석이 쉽지 않으므로, 아래와 같이 스크립트 구문으로 추가하여
디코딩된 내용을 가시적으로 확인할 수 있도록 한다.

해당 파일을 실행하면서 output 명령어를 통해 새로운 vbs 파일을 생성하면 아래와 같이
Base64 디코딩된 스크립트 구문을 얻을 수 있다.

해당 구문을 분석해보면 현재 “|wgz|”로 들어가 있는 패딩값을 제거한다음 각각의  숫자(아스키값)을 조합하여
최종적으로 실행 (EXCUTE (wgz)) 하는 것으로 보인다.

현재 위 코드로는 무슨 행위를 하는지 알 수 없으므로, 마지막 라인을 수정하여
패딩이 제거된 플레인 텍스트를 파일로 생성해보도록 하자.

수정을 완료한 vbs파일을 실행하면 c:\ 밑에 TEMPmalware.txt가 생성된 것을 확인할 수 있다.

다음과 같이 아주 깔끔하게 난독화가 해제된 것을 확인할 수 있다.

이제 정답을 입력해보자~

Cap 2014-08-08 19-51-23-555

Cap 2014-08-08 19-54-40-341

토큰을 얻는데 성공했다.

문제 자체가 간단한 난독화라서 그렇지 복잡한 방식이었더라면 훨씬 많은 단계를 거쳐야 했을 것이다.

세상에 풀지 못한 난독화는 없겠지만, 난독화된 내용을 끝까지 추적하는 끈기를 가지기가 정말 어려운 것 같다.
그런 의미에서 악성코드 분석업무를 주로 하시는 분들께 존경의 인사를 드리며 포스팅을 마무리 한다.

 

Site Footer

Sliding Sidebar

About Me

About Me

June Park