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

16. 악성코드 샘플 분석(2) : 하

by jys275 2024. 2. 19.

이번 글에서는 저번 정적분석 글에 이어서 동적분석을 진행할 것이다.

 

 


 

 

동적분석 - Process Explorer

 

 

위의 사진은 dgrep.exe를 실행 후 순간적으로 일어난 프로세스를 캡처한 것이다.

 

'conhost.exe', 'cmd.exe' 프로세스는 cmd를 실행시키는 행위
'PING.EXE' 프로세스는 TCP/IP Ping 명령으로 네트워크 관련 행위를 하는 것으로 추정이 가능하다.

후속 동적분석에서 위의 3가지 프로세스를 유심히 살펴볼 필요성이 있다.

 

실행 후 시간이 어느 정도 지난 후의 프로세스 캡처본이다.

 

먼저 dgrep.exe 원본 파일이 삭제된 것으로 보아 트로이목마 성격을 가지고 있음을 알 수 있으며,

'rundll32.exe'이라는 파일을 실행시키면서 'wiseman.exe'이라는 프로세스를 추가적으로 생성하는 것을 볼 수 있다.

 

저번 동적분석 과정에서 wiseman.exe 파일을 발견했었고, 악성행위를 할 가능성이 높다고 유추했었다.

 

또한 rundll32.exe 파일 경로가 \Windows\system32 가 아니라면 악성코드일 확률이 높다.

이는 해당 프로세스를 우클릭 후 Properties를 확인할 필요성이 있다.

 

경로가 정확하게 파악되지 않는다.

 

TCP/IP 탭을 확인해 보면 107.163.241.198, 197(US IP)와 TCP 통신을 시도하고 있는 중임을 알 수 있다.

 

해당 IP가 ipconfig.co.kr 확인 결과 US IP로 나타나고 있으며,

악성이라고 확정 지을 수는 없지만 의심하고 계속 분석을 진행해 볼 수 있다.

관리자 권한으로 실행 후 순간적으로 발생한 프로세스를 캡처했다.

 

'dllhost.exe', 'conhost.exe' 두 가지 프로세스가 순간적으로 작동하였다.

이 두 파일은 악성코드 감염의 타겟이 되는 경우가 많다.

 

즉, 'dgrep.exe' 샘플 파일은 어떠한 악성행위를 하는 파일로 결과가 좁혀질 수 있을 것 같다.

 

 

 

정적분석 - Process Moniter

 

 

'dgrep.exe'를 필터링한 후 캡처본이다.

전체적인 흐름은 프로세스 및 레지스트리, 네트워크 관련(WinSock2) 작업을 수행하는 것으로 보인다.

 

사실상 레지스트리 부분을 더 정확하게 보기 위해서는 리버싱을 통해 내부 코드를 상세하게 분석해야 할 필요가 있다.

하지만 현재 진행 중인 과정은 악성코드를 분석할 때, 탐지 패턴을 만들기 위한 부분이다.

 

즉, 위와 같은 프로세스를 볼 때 정확한 행위를 파악하지 않고 대략적으로 추정하는 것이다.

 

예를 들면, "WinSock은 네트워크 관련 동작에 관련되어 있기에 해당 파일은 네트워크 행위를 할 수 있겠구나"

이런 식으로 접근하는 것이다. 현재는 접근하는 방식이 좀 다르다고 보면 될 것 같다.

 

그 외에는, 위의 프로세스를 살펴보던 중 cmd.exe 외에도

무작위로 생성된 이름의 ‘lwgklglri.exe’ 실행 파일로 접근하는 프로세스를 발견하였다.

 

즉, 지금까지 분석 과정에서 나온 주요 키워드는

'PING.exe', 'cmd.exe', 'wiseman.exe', 'lwgklglri.exe'이므로 이를 순차적으로 필터링을 진행해 보았다.

 

PING.EXE, cmd.exe를 필터링 한 캡처본이다.

 

특이한 점은 발견되지 않았으나, dgrep.exe가 실행된 동시간대에

'cmd.exe', 'csrss.exe', 'svchost.exe' 세 가지 파일을 통해 PING.EXE를 실행시키려는 행위를 발견하였다.

 

이를 통해 dgrep.exe 파일은 사실상 TCP/IP 네트워크 관련 행위를 한다는 것에 매우 가까워진 것으로 보이며,

csrss.exe, svchost.exe 두 가지 파일 또한 악성코드 감염의 타겟이 되는 경우가 많다.

 

wiseman.exe를 필터링한 결과 프로세스 관련 작업들도 보였지만, 

 

가장 특이한 점으로 “TCP Reconnect”라는 Operation,

“ap-northeast-2.compute.amazonaws.com”이라는 Path가 발견되었다.

해당 문장은 AWS EC2 인스턴스를 생성하여 해당 인스턴스에 접속 후 원격제어를 하기 위한 과정이라고 한다.

공격 대상(jys275.localdomain)을 인스턴스 사용자로 만들어 공격자가 원격에서 제어를 하기 위한 과정으로 추정된다.

 

jys275는 필자의 닉네임이므로 해당 파일이 의도하는 바가

악성코드에 감염된 사용자를 인스턴스 사용자로 만드는 과정인 것으로 추정되는 것이다.

 

'lwgklglri.exe' 필터링 후 악성코드의 주요 행위인 imm32.dll 패치, 

네트워크 관련 WinSock32 등 프로세스 및 레지스트리, 네트워크 작업을 수행하는 것을 관찰할 수 있었다.

추가로 ’Idgzcezf’와 같이 새롭게 생성된 경로 또한 분석해 보았지만 위와 같은 작업을 수행하는 것으로 보인다.


즉, 종합적으로 분석해 보았던 키워드들 모두

dllhost.exe, conhost.exe, rundll32.exe 등 악성코드의 주요 행위를 공통적으로 나타낸다.

 

 

 

동적분석 - Autoruns

 

 

EvtMgr, Wiseman 두 파일이 시작 프로그램으로 등록됨을 확인할 수 있다.

 

위의 "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"은

윈도우 시작 프로그램에 등록이 되어 자동으로 실행되게끔 하는 레지스트리 경로이다.

 

해당 경로는 많은 악성 코드들 또한 공통적으로 보이는 포인트이다.

정보보안기사에서도 종종 출제되며, 악성코드의 공통적인 레지스트리 경로 중에 하나이다 보니 잘 기억해 두자.

 

 

 

동적분석 - Smartsniff, CurrPorts

 

 

Process Explorer에서 확인했던 107.163.241.198, 107.163.241.197(US IP) 두 가지 IP를 확인하였다.
현재 상태는 위의 IP와 6520, 12345 포트로 TCP 연결 시도를 하고 있는 중으로 보인다.

 

 

 

동적분석 - Wireshark

 

 

역시나 Wireshark에서 또한 107.163.241.198, 197(US IP)

두 개의 IP와 통신을 시도하는 것을 확인할 수 있다.

 

필자의 IP에서 107.163.241.198, 197 IP와 통신하기 위해 6520, 12345 포트로 SYN 패킷을 보내고 있다.

하지만 위와 같이 모두 RST 플래그를 응답으로 받은 것으로 보아 정상적인 통신이 불가능한 것으로 보인다.

 

 


 

 

분석 결론

 

 

악성파일의 유형
원본 파일인 'dgrep.exe' 실행으로 인한 여러 유형의 파일이 파생되며, 
정상 파일인 것처럼 위장을 한 상태에서 실행을 유도하고 원본 파일이 삭제되었다.

또한 Process Moniter에서 'wiseman.exe' 파일로 원격 제어를 시도하는 프로세스도 존재하였다.

결론적으로 다운로더, 트로이목마, 백도어 유형의 악성코드로 추정된다.

 


악성파일의 특징 및 행위
해당 악성파일은 'dgrep.exe'를 실행시킴으로 인해 파생되는 'lwgklglri.exe', 'wiseman.exe' 실행 파일을 통해

윈도우 시스템에 기본적으로 동작되는 'csrss.exe', 'dllhost.exe', 'rundll32.exe', 'cmd.exe' 등을 교묘하게 활용하여 
네트워크 및 프로세스, 레지스트리 작업을 수행하는 것으로 추정된다.

또한 'wiseman.exe' 실행 파일은 'dgrep.exe'를 실행함으로써 얻은 사용자의 정보를 기반으로 
원격 제어를 시도하기 위한 기반을 만들고 공격자가 직접 제어할 수 있도록 설계된 것으로 추정된다. 

즉, 해당 악성파일은 사용자의 정보를 조작하고 제어하기 위해 존재했었지만,
107.163.241.197, 8 두 가지 IP가 현재는 활동하지 않기 때문에 정상적인 작동을 하지 않는 것으로 유추된다.

또한 정적분석 과정에서 발견했던 'RedTom21' 이메일, 'wisemansupport.com' 도메인은 

정적분석 과정에서 자세히 발견되지 않은 것으로 보아, 활동했던 시간이 상당히 오래되어 현재는 변형이 많이 일어난 것으로 보인다.

 

 


 


마지막으로 대응 방안을 세우는 것이 필요하다.

 

현재는 네트워크 동작을 하지는 않지만 갑자기 활동을 재개할 가능성도 있기 때문에,

대응 방안을 세워야 하며 만약 현재 감염되어 있는 상태라고 한다면 치료하는 방법이 들어가야 한다.

 

그렇지 않은 상황이라면 공격 및 감염에 대비하여 정기적으로 관리하고 체크해야 하는 부분 또한 필요하다. 

 

예방의 경우 정기적인 윈도우 및 백신 업데이트, 랜섬웨어는 예방에 포커싱을 한 백업,

치료의 경우 웜(worm)은 네트워크 단절 상태에서 치료 등을 예시로 들 수 있다.

 

다음 글에서는 위의 분석 결론뿐만 아니라 대응 방안도 포함하여 악성코드 분석 보고서를 작성해 볼 예정이다.

'IT_정보보안 > 보안관제 프로젝트' 카테고리의 다른 글

18. Snort  (1) 2024.03.05
17. 악성코드 분석 보고서  (0) 2024.02.26
15. 악성코드 샘플 분석(2) : 상  (1) 2024.02.16
14. 악성코드 샘플 분석(1)  (1) 2024.01.28
13. 정적, 동적 Tool 실습  (1) 2024.01.24