본문 바로가기
IT_정보보안/보안관제 프로젝트

15. 악성코드 샘플 분석(2) : 상

by jys275 2024. 2. 16.

악성코드 샘플 분석을 할 때, 일반 사용자의 권한으로 실행시키는 방법도 있지만

우클릭을 통해서 관리자 권한으로 실행시키는 방법이 존재한다.

 

관리자 권한으로 실행시켰을 때는 좀 더 다른 내용들을 볼 수 있는 경우도 존재하기 때문에, 

이를 하나의 팁으로 생각하고 진행해도 좋다. 

 

물론 샘플 파일이 활동했던 과거와는 많이 달라져서 

현재 시점에서는 특이한 포인트가 많이 보이지 않을 수 있다.

 

이번 글에서는 "dgrep.exe"라는 샘플 파일을 분석해 볼 것이다.

 

 


 

 

생성일이 현재 시점으로부터 약 8년 이상의 차이가 있다.
현재는 정상적으로 작동하지 않을 가능성이 매우 높다고 유추할 수 있다.

 

 

기초분석 - Virustotal

 

 

DETECTION

72개의 백신 중 67개의 백신이 악성코드로 진단하였으므로, 해당 파일은

악성코드일 확률 매우 높다고 추정 가능하다.

 

또한 백신들 대부분 공통적으로 trojan, Backdoor, Downloader 진단 카테고리를

제공하였으므로, 이를 참고하고 진행하도록 하자.

 

 

DETAILS

파일의 해시값 외에도 Win32 EXE 파일 타입, 패킹 여부를 파악할 수 있다.

 

해당 탭에서는 실행 파일이 윈도우 환경에서 작동되며,

UPX로 패킹되어 SVK-Protector v1.11를 통해 실행 파일을 보호하고 있음을 확인할 수 있다.

 

RELATIONS

파일과 연결된 URLS, Domains, IP 등을 후속 분석 과정에서 참고할 수 있다.

 

 


 

 

정적분석 - Exeinfo PE / PEID

 

 

해당 툴로 패킹여부를 파악해봤을 때,

Virustotal에서 제공받은 결과와 동일한 것을 알 수 있다.

 

알맞은 언패킹을 시도하는 과정으로 넘어갈 수 있다.

 

하지만 SVK-Protector v1.11을 사용하여 보호된 파일은 위와 같이 UPX를 언패킹하는

일반적인 방법으로 패킹을 해제하기 어려울 수 있다.

 

Exeinfo PE에서 Quick unpack v4.2 또는

RL!dePacker v1.5 도구로 언패킹 해보라는 힌트를 제공했으니 해당 툴로 시도해 볼 수 있다.

 

Quick unpack, RL!dePacker 모두 사용해 보았지만 완전한 언패킹은 힘든 것으로 보인다.

 

"cannot be unpacked" 메시지가 출력되었다.

 

또 다른 언패킹 툴인 GunPacker v0.5를 사용해 보았으나

미리 bintext를 통해 문자열을 확인해 본 결과, RLidePacker v1.5 툴이 언패킹 한 결과와 동일하였다.

 

위와 같이 언패킹을 진행하는 과정 자체가 잘 안 되는 것 같은 경우들이 존재한다.

 

만약에 언패킹이 제대로 진행되었다면 위와 같이 원본 파일에 비해서

파일의 용량이 늘어날 것이기 때문에, 이러한 점을 활용하여 언패킹을 진행하는 것이 좋다.

 

언패킹 툴에서 언패킹이 완료가 되었다는 확실한 표현이 나오면

우리가 조금 더 확신할 수 있겠지만, 사실 이러한 경우는 그렇게 많지 않을 것이다.

 

왜냐하면 위의 경우와 같이 공격자가 일부러 난독화해서

언패킹 도구를 제대로 사용하지 못하게끔 하는 경우들이 있기 때문이다.

 

그렇다 보니 당연히 도구에 의해서 언패킹을 진행을 하더라도 원활하게 잘 진행되지 않고,

특정 부분은 언패킹이 되어도 특정 부분은 되지 않는 경우들도 많이 발생을 하는 것이다.

 

하지만 우리가 진행할 수 있는 방법들이 매우 제한되어있다 보니, 

용량에 대한 차이를 기반으로 확인하면서 진행하는 것이 좋다.

 

 

 

정적분석 - bintext

 

 

"cmd.exe /c ping 127.0.0.1"이라는 cmd 및 ping 명령, 루프백 주소(127.0.0.1)

"c:\wiseman.exe"라는 파일 경로 및 실행 파일(wiseman.exe)

"RedTom21@HotMail.com"이라는 이메일 주소를 발견할 수 있었다.

이는 cmd를 통한 네트워크 활동, wiseman.exe라는 실행 파일로 접근하려는 행위,

RedTom21@HotMail.com이라는 이메일은 무언가 정보를 주고받기 위한 행위로 추정이 가능하므로

 

후속 동적분석에서 유심히 살펴볼 수 있을 것이다.

 

또한 Virustotal Contacted URLS에서 ‘wisemans’이라는 동일한 키워드가 들어간 악성으로 진단된

URL이 있는 것으로 보아 "wiseman.exe"라는 실행 파일은 악성 행위를 하는 것으로 결과가 좁혀질 수 있다.

프로세스, 레지스트리, 네트워크 관련 작업이 가능한 dll 파일 및 함수들이 보인다.
또한 의미를 알 수 없는 형태의 함수와 리소스 초기화, 프로세스 종료 관련 함수도 보인다.

즉, 해당 파일은 레지스트리, 프로세스, 네트워크 등 광범위한 활동을 하는 것으로 추정할 수 있다.

 

 

 

정적분석 - PEview

 

 

언패킹 전에는 Virtual Size와 Size of Raw Data 간 유의미한 차이가 있었으나

 

언패킹 후의 파일에서는 둘의 크기 차이가 없는 것으로 보아

사용했던 툴은 유의미한 언패킹을 했었던 것을 다시 확인할 수 있다.

 

bintext에서 확인했었던 dll 파일을 다시 한번 확인할 수 있다.

 

 




정적분석 결론

 

 

트로이목마, 다운로더, 백도어 유형의 

레지스트리, 프로세스, 네트워크 관련 활동을 하는 실행 파일로 추정된다.

 

이는 프로세스 분석 과정에서 파생되는 실행 파일,

그리고 실행 파일이 작동되는 경로들을 보다 유심히 분석할 수 있는 계기가 될 것이다.


특히나 cmd를 통해 네트워크 작업을 수행한다는 점과

실행 파일(wiseman.exe), 이메일 주소(RedTom21@HotMail.com) 정보를 기억하고 동적분석으로 넘어갈 수 있다.

 

다음 글에서는 동적분석 과정을 다루어 볼 예정이다.