본문 바로가기

SWLUG/악성코드

[악성코드] 예제로 배우는 악성코드 분석 - 동적분석(2)

4. 네트워크 행위 분석 (92~98)

5. 환경 분석 (99~102)

6. 레지스트리 분석(103~107)

 

 


 

4. 네트워크 행위 분석

 

 

네트워크 행위 분석

- 악성코드 실행 후, 네트워크 변화를 확인하는 단계

- 종류에 따라 C&C서버, 악성코드 유포지, 통신지 등 확인 가능

- 웜이나 좀비 악성코드 같은 경우, 전파 행위도 네트워크 행위 분석을 통해 파악 가능

- TCPView, Wireshark, Microsoft Network Monitor 등

 

 

(1)  TCPView

 

- Windows Sysinternals에서 제작

- 네트워크 행위 모니터링 도구

- 윈도우 OS에서 프로세스와 통신 행위, TCP/UDP의 엔드포인트 정보를 모니터링

- 현재 실행중인 프로세스의 네트워크 통신 상태와 패킷 송수신량 확인 가능

출처 : https://learn.microsoft.com/ko-kr/sysinternals/downloads/tcpview

 

 

프로세스의 색깔

- 초록색 : 정상적 연결

- 빨간색 : 네트워크 연결 종료

- 노란색 : 세션 재성립 

출처 : https://asec.ahnlab.com/ko/175/

 

TCPView 로그 상단의 여러 가지 컬럼

 

>> 동적 분석 시,

>> 가상환경에서 악성코드를 실행한 후

>> TCPView를 이용하여 악성코드의 네트워크 통신 행위를 실시간으로 확인 가능

>> 악성코드의 C&C서버, 통신지 등 또한 탐색가능

 

 

아래 링크에서 다운로드 가능

 

Windows용 TCPView - Sysinternals

활성 소켓 명령줄 뷰어입니다.

learn.microsoft.com

 

 

 

 

 

(2) Fiddler

 

- 컴퓨터와 웹 서버/서버 간의 HTTP 및 HTTPS 트래픽을 기록, 검사 및 변경하는 데 사용되는 디버깅 프록시 서버 도구

- 악성코드의 네트워크 통신 뿐만아니라 프로세스 별 네트워크 통신 및 request, response 값 확인 가능

- 클라이언트에서 서버로 요청한 내역과 결과의 모든 데이터를 확인 가능

- 주로 트래픽 조작, 기능확장, 분석, 모니터링 등에 유용하게 사용됨

 

 

Fiddler 실행 화면 왼쪽 창

- 프로세스 별 통신 기록.

- 컬럼으로는 HTTP 상태코드, 프로토콜, 호스트, URL 등이 존재

출처 : https://fiddler.en.lo4d.com/windows

 

- 상단 'File' ->  'Capture Traffic'을 통하여 패킷 캡쳐 시작 및 중단 가능

 

- 왼쪽 리스트에서 패킷을 클릭 : 오른쪽 창에서 선택된 패킷에 대한 상세 정보를 제공

- 오른쪽 창 : 헤더값, Raw Data, Cookies 값 등을 제공 

 

 

아래 링크에서 다운로드 가능

 

Download Fiddler Web Debugging Tool for Free by Telerik

Download and install Fiddler Classic web debugging tool. Watch a quick tutorial to get started.

www.telerik.com

 

 

 


 

 

5. 환경 분석

 

환경 분석

- 악성코드 실행 전/후에 달라진 OS 환경을 분석하는 단계

- 시작 프로그램, 서비스, 작업 스케줄러, 로그 등의 변화를 분석하여 악성코드 행위를 파악 가능

-  Autoruns, REGA 등

 

 

 

 

(1) Autoruns

 

 

- Autoruns Windows Sysinternals에서 제작한 도구

- 윈도우 운영체제가 부팅 후 자동으로 시작되는 서비스 또는 프로그램 등을 모니터링 할 수 있는 프로그램

- 시작 프로그램, 브라우저 도우미 개체, 윈도우 탐색기 쉘 확장 처리 기능 추가, 레지스트리 및 숨긴 영역에 저장된 이미지 확인 등의 기능

 

 

Everything탭 : 윈도우 부팅 후 자동으로 실행되는 모든 프로세스와 파일의 목록을 보여줌

그 외 Logon, Explorer, Network Providers 등 다양한 탭 존재

출처 : https://www.google.com/url?sa=i&url=https%3A%2F%2Fsysinternals-autoruns.en.lo4d.com%2Fwindows&psig=AOvVaw07zWeQFatIN7Yc5Im2Lp88&ust=1730273681229000&source=images&cd=vfe&opi=89978449&ved=0CBQQjRxqFwoTCLDapfOJs4kDFQAAAAAdAAAAABAE

 

 

 

 

기본적으로 Microsoft Windows와 관련된 정상적인 정보도 보여주기 때문에 분석에 어려움 존재

-> 그렇기 때문에 Windows 정보를 숨겨주는 기능을 제공함

-> Options에서 Hide Microsoft Entries 체크하면 윈도우 관련 정상 정보 숨겨줌

 

- 상단에 Filter 기능을 이용하여 찾고자 하는 프로그램 검색 가능

 

악성코드가 지속적으로 수행하는 작업 스케 줄러, 서비스, 시작 레지스트리 등에 등록하는 행위를

Autorims은 한곳에 보여주기 때문에 동적분석 시 편리함

Virustotal 결과를 컬럼으로 보여주는 기능도 포함되어 있어 악성코드를 찾기에 수월

 

 

아래 링크에서 다운로드 가능

 

 

자동 실행 - Sysinternals

시스템이 부팅되고 로그인할 때 자동으로 시작되도록 구성된 프로그램을 확인하세요.

learn.microsoft.com

 

 


 

 

6. 레지스트리 분석

 

 

레지스트리

- 운영체제 내에서 작동하는 모든 하드웨어, 소프트웨어, 사용자 정보 및 시스템 구성 요소 등을 담고 있는 데이터베이스

- 악성코드 실행 전/후 레지스트리 변화를 확인하고 분석하여 악성 행위를 확인

 

 

# 악성코드가 주로 사용하는 레지스트리 항목

 

> 탐색기 폴더 옵션의 파일 숨김 속성
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ShowSuperHidden
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden

> 파일의 속성 부분에서 체크박스 활성/비활성
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt\UncheckedValue
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt\CheckedValue
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFile

> 오토런 설정
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDriveType\AutoRun

> 시작프로그램 관련
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\userinit
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce

> 바탕화면 배경화면 관련
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\ActiveDesktop\

> 네트워크 관련
HKLM\SYSTEM\ControlSet001\Services\Tcpip\Parameters\MaxUserPort

> 인터넷 익스플로러
HKCU\Software\Policies\Microsoft\Internet Explorer\Control Panel

 

 

 

(1) Regshot

 

- 레지스트리 비교 유틸리티로 오픈소스 도구

-  악성코드 실행 전/후 레지스트리 스냅샷을 통하여 변경된 레지스트리를 확인 및 비교분석

 

 

결과 파일 저장 방식(텍스트 파일, HTML)을 선택하고 결과 저장 경로를 'Output Path'에 지정

 

 

1) 가상머신 환경에서 악성코드 실행 하기전 상태를 '1st shot'을 통해 스냅샷을 찍음

 

2) 프로그램 하단 Keys 값과 Values, Time값이 올라가는 것을 확인 (스냅샷 동작이 정상적으로 이루어지고 있다면)

 

3) '1st shot' 이 끝났다면 악성코드를 실행한 후, '2nd shot'을 클릭하여 악성 코드 실행 이후 레지스트리 환경을 찍음

 

4) '2nd shot'이 끝났다면, 2nd shot아래 'Compare' 버튼이 활성화 된 것을 확인

 

5) 'Compare'를 클릭하면, '1st shot' 스냅샷 과 '2nd shot' 스냅샷의 레지스트리 변화를 기록하여 보여줌

 

6) 'Compare logs save as'값을 HTML document로 설정해주면 html 파일로 결과를 제공

 

 

Compare Logs save as: 결과 값을 txt 파일, html 파일 중 어떤 형식으로 확인할지 선택
Output path : 결과 값을 저장할 경로를 지정
1st shot : 첫 번째 스냅 저장, 현재 즉 변경 전 상태를 저장
2nd shot : 두 번째 스냅 저장, 값을 변경 후 상태를 저장
Compare : 첫 번째, 두 번째  값을 비교

출처: https://kinixys.tistory.com/17[Efficient Blog:티스토리]

 

 

 

 

아래 링크에서 다운로드 가능

 

 

regshot

Download regshot for free. Regshot is an open-source (LGPL) registry compare utility that allows you to quickly take a snapshot of your registry and then compare it with a second one - done after doing system changes or installing a new software product.

sourceforge.net

 

 

 

 

 

 

참고

 

윈도우 Registry 변경 내용 확인 방법, 레지스트리 트래킹, 추적 프로그램, Regshot 사용법, Regshot 한

윈도우를 설정하다 보면, 윈도우 레지스트리 (이하 레지) 파일을 종종 수정하게 되는 경우가 있습니다. 하지만, 설정 변경시에 어떤 레지 값이 변경이 되었는지 알 수 없어 추가 설정 파일로 작

kinixys.tistory.com