본문 바로가기

정보보안

악성코드 샘플 분석2

분석 파일 : dgrep.exe

- 실행파일

- 만든 날짜가 오래됐다(원활하게 동작하지 않을 가능성도 있다)

 


 

기초분석

Virustotal

- 72개의 백신 중 66개의 백신이 악성 파일로 진단

- 진단명 : Trojan(트로이목마), win32, Packed, Backdoor, downloader

*트로이 목마 : 악성 루틴이 숨어 있는 프로그램으로, 정상적인 프로그램을 보이지만 실행하면 악성행위를 하는 프로그램

*backdoor : 히든 엑세스를 제공하여 외부 공격자가 무단으로 시스템에 접근하고 제어할 수 있게 하는 악성 소프트웨어)

 

-> 해당 파일은 backdoor, trojan, downloader 계열의 악성코드일 가능성이 높고, 패킹 처리가 되어있으며 win32에서 구동될 것으로 추정할 수 있었다

 

- Details 탭에 들어가 더 자세히 알아본 모습

- 해당 파일의 해시값을 확인할 수 있다

- 패킹의 유무를 알 수 있다

 

SVK-Protextor

PEid에서 패킹은 SVK Protector로 패킹이 되어있다

-> SVK Protecor와 관련된 언패킹 도구를 사용해야한다

- Realations 탭에 들어가 더 자세히 본 모습

- 악성 의심 파일을 실행을 시켰을때 특정 URL, IP 통신 유무를 알 수 있다

- 특정 IP와 URL과 관련 되었음을 확인하였으나 22년 9월 이후부터 Statis 부분에 표시가 없는것으로 보아 현재는 실행하지 않는 것으로 추정

- Detections도 22년 이후부터는 소수의 백신만이 악성코드로 진단한 것으로보아 유해성이 낮은 사이트로 추정

 

-> 과거에는 동작을 했으나 현재는 동작하지 않는 것 같다

 


 

정적분석

Exeinfo

- exeinfo 툴을 통해 언패킹 유무 확인

- 패킹이 되어 있는 것으로 확인 

- exeinfo에 나온 언패킹 도구로 시도하였으나 실패

- Gunpakcer 언패킹 도구로 재시도

- 언패킹 성공!

- degrep 파일을 언패킹 처리 후, unpacked 파일 생성

 

 

 

Bintext

- bintext 도구를 사용하여 IP, 도메인 주소, 실행파일, 명령어, 함수 등의 정보를 확인할 수 있다

- 패킹된 파일은 문자열을 확인하기 어렵다

- Wiseman.exe를 설치하여 실행하기 위한 문자열로 의심되는 것을 확인

- Rundll32.exe 파일을 실행하기 위한 문자열로 의심되는 것을 확인

- Ping 명령어 확인

- Redtom21@HotMail.com 주소를 확인하였는데 악성 파일과 관련된 메일로 추정

- 네트워크 행위를 할때 사용되는 WS2_32.dll 확인

-> 해당 파일은 네트워크 행위를 할 가능성이 높은 것으로 추정

 


 

동적 분석

- 동적 분석을 위해 dgrep.exe 파일을 관리자 권한으로 실행

- 실행 이후 dgrep.exe 파일이 화면에서 사라지는 모습을 확인할 수 있었다

-> 트로이 목마의 성격을 가지고있다

 

 

 

Process Explorer

- 보이지 않는 백그라운드에서 어떠한 프로세스가 추가로 동작하는지 확인할 수 있다

- dgrep.exe 파일 실행 후 rundll32.exe, wiseman.exe 프로세스가 생성되는 것을 확인

 

 

 

Process Monitor

- 현재 프로세스에서 동작하는 모든 내용들을 볼 수 있다

- dgrep.exe 실행 후  rmfsulp.exe 파일이 생성되는 것을 확인(여러번 실행 결과 파일 이름은 랜덤하게 생성되는 것을 확인)

- dgrep.exe가 cmd.exe를 실행하는 모습을 확인

(*cmd : window 운영 체제에서 제공되는 명령 줄 인터페이스)

- process monitor의 filter 기능을 이용하여 더 원활하게 분석

- cmd.exe 프로세스가 ping 명령어 사용을 위해 PING.EXE 파일을 실행하는 모습을 확인

(*Ping 명령어를 사용하면 시스템을 탐지하고 해당 시스템에 대한 정보를 수집할 수 있다)

-> 악성 경유지와 통신하기 위해 사전에 네트워크 체크하는 과정으로 추정

- 파일이 랜덤하게 생성되는 것을 확인

- SetDispositionINformationFile 이라는 함수를 사용하여 dgrep.exe 파일을 삭제하는 것을 확인

-> 악성행위를 하는것을 확인

 

 

 

Autoruns

- Autoruns 툴을 이용해 dgrep.exe 파일 실행 전과 후 레지스트리 변화를 확인할 수 있다

- EvrMgr 파일과 Wiseman 파일이 부팅 후 자동으로 실행되는 프로그램에 등록된 것을 확인할 수 있었다

-> 두 파일이 등록된 레지스트리 주소는 윈도우를 재시작했을때 자동으로 시작되겠끔 하는 영역

-> 대부분의 악성 코드들이 등록하는 영역(재부팅시 악성코드가 다시 실행되도록 하기 위함)

이 주소는 기억하고 있는게 좋음

 

 

 

  Cports

- 네트워크 상태 확인

- 기초분석에서 확인했던 IP 주소와 연관되어 있는 IP 주소 확인

-> 현재 상태가 연결이 되어 있는 것은 아니지만 연결을 하기 위해 시도하는 것으로 보임

이미지가 잘려있지만 상태를 보면 전송됨(SYN_SENT) 이라는 상태에서 변함이 없는 것을 보았을 때 최종 세션 성립에는 실패한 것으로 추정

 

 

 

WireShark

- WireShark 툴을 이용해 더 자세히 분석 

- 특정 IP와 통신하기 위해 주기적으로 SYN 플래그를 전송

- 해당 IP에서 RST 패킷으로 답신

(*RST : 연결 확립된 회선에 강제 리셋 요청)

-> RST 패킷으로 답신하는 것을 보아서는 연결에 실패한 것으로 추정

 


 

악성 코드 분석 결론

 

기초분석

- degrap.exe 파일은 backdoor, 트로이 목마 유형의 악성파일로 추정

- 패킹 유무 확인

- 특정 IP,URL과 연관 확인

 

정적분석

- 특정 IP 주소, URL 사이트와 통신하기 위한 백도어를 형성한 악성 코드로 추정

- cmd.exe를 이용해 Ping 명령어를 통해 네트워크 정보를 확인하고자 하는 문자열 파악

- 라이브러리 목록 중 네트워크 통신하기 위해 사용되는 WS_32.dll 발견

 

동적분석

- rundll 함수를 통해 wiseman 프로그램 실행과 관련 프로세스 생성 및 Ping 명령어 등을 확인

- wiseman 프로그램이 자동으로 실행되도록 시작(run) 레지스트리 값에 등록

- wiseshark를 통해 특정 Ip주소에 지속적인 통신 시도 행위 확인

 

결론

: dgrep.exe 파일은 트로이목마, backdoor 유형의 악성코드로 추정되고, 지속적인 통신 시도에도 응답이 없는 것으로 보아 작동하지 않는 악성파일로 추정되지만 특성 IP, URL 주소가 복구 된다면 다시 작동될 가능성도 있는 것을 보여진다

 

이에 따른 대응책

 

- 열린 포트 확인

: 백도어 상당수가 외부와의 통신을 위해 포트를 생성하는데, 일반 시스템에서 사용하는 포트가 많지 않기 때문에 백도어가 사용하는 포트를 쉽게 확인할 수 있다

 

- 바이러스와 백도어 탐지 툴 이용

: 잘 알려진 백도어는 대부분 바이러스 일종으로 분류되는데, 다양한 탐지 툴에서 발견될 수 있다

 

- 무결성 검서(= 시스템에 어떤 변화가 일어나는지 테스트)

: 파일 내용이 조금만 바뀌어도 결과 값이 다르기 때문에 주요 파일의 MD5 값을 주기적으로 수집하고 검사하여 변경되는 파일 내역을 확인

 

- 로그 분석

: 다양한 로그들을 통해 백도어 형성에 쓰인 로그 기록들을 분석

 

- 현재 동작중인 프로세스 확인

: 백도어 악성파일은 이름에 티가 나지 않기 때문에 현재 정상 프로세스를 미리 확인하고 비교해 본다

 

 

'정보보안' 카테고리의 다른 글

Snort  (2) 2023.12.17
악성코드 분석 보고서 작성 연습  (0) 2023.12.10
악성코드 샘플 분석  (0) 2023.11.26
정적, 동적 Tool 실습  (0) 2023.11.14
샘플 분석 환경 구성과 Search  (0) 2023.11.06