본문 바로가기
AI 스쿨 리팩토링 보안직무 과정

23주차 과제 - 보안관제 프로젝트 (4)

by IT스터디큐브 2023. 10. 11.

서론

 보안관제 프로젝트를 진행합니다. 프로젝트의 목적은 악성코드의 행동을 분석하고, Snort를 이용하여 악성코드의 악성행위를 탐지하는 것 입니다.

 프로젝트는 다음과 같은 단계로 이루어집니다.


- 악성코드 샘플 선정 (완료)
- Snort를 설치하고 분석 환경을 구축
- 악성코드를 분석하여 악성코드의 독특한 행위 파악.  <-진행중
- 해당 행위를 기반으로 룰 시그니처 작성
- 룰 시그니처를 적용하고 Snort가 정상적으로 악성 행위를 감지했는지 확인.
- 위의 내용을 기반으로 보고서 작성.

이번 시간에는 지난 시간에 미비했던 동적 분석을 완료하고 이후 과정을 모두 완료하도록 하겠습니다.

23주차 과제 - 리팩토링 프로젝트.pptx
4.99MB

 과제 발표에 사용한 PPT 파일을 첨부하겠습니다. 현재 진행하고 있는 과제는 AI 스쿨의 리팩토링 보안직무 과정의 일부입니다. 만약 해당 과정에 더 관심이 있으시다면 AI스쿨의 공식 카페에 방문하여 더많은 정보를 확인해 주시기 바랍니다.

https://cafe.naver.com/itscholar

 

정보보안전문가 취업카페 스칼라 : 네이버 카페

비전공자 전문IT교육, 정보보안전문가, 보안을 아는 개발자, AI 양성교육, IT기술리더, 창업가 양성

cafe.naver.com

본문

악성코드 동적 분석

지난 발표에서 동적 분석 과정중에 오류가 발생하여 분석을 중단하였습니다. 이번 발표에서는 해당 오류를 무시하고 분석을 강행하였습니다. 

CPORT

가장 먼저 CPORT를 이용한 분석을 개시하겠습니다.

악성코드 파일을 실행하고 새로 네크워크에 연결된 프로세스들이 나타났습니다. 해당 프로세스는 짧은 시간 존재한 이후에 사라졌지만 연결된 네트워크의 IP 주소를 발견할 수 있었습니다.

연결된 네트워크 IP는 다음과 같습니다.

AUTORUNS

그 다음 분석은 AUTORUNS입니다. AUTORUNS를 이용하여 악성코드를 실행한 이우 새롭게 시작 프로그램에 등록된 프로그램들을 확인해 보았습니다.

그 결과 WinCtrProc.exe와 WinCtrCon.exe 라는 두개의 파일을 발견할 수 있었습니다.

SYSTEMEXPLORER

그 다음 분석 프로그램은 SYSTEMEXPLORER입니다.

해당 프로그램의 스냅샷 기능을 통해 악성코드 실행 전과 실행 이후에 발생한 레지스트리 파일의 변동을 확인할 수 있었습니다. 여기에 모든 사항을 적진 못하지만, WinCtrProc.exe와 WinCtrCon.exe가 새로운 파일로 추가되고 시작 프로그램 그룹에 추가된 것을 교차검증할 수 있었습니다.

PROCESSMONITOR

 마지막으로 프로세스 모티터를 이용하여 분석을 진행하였습니다.

프로세스 모니터를 이용하여 악성코드 실행 이후 새로 생겨난 프로세스들을 추적한 결과 다음과 같은 결론을 얻을 수 있었습니다.

 

1. suf80_launch.exe는 실행된 이후 여러 dll 파일에 접근하여 권한을 얻고 레지스트리를 편집한다.

2. 해당 작업이 완료된다면 irsetup.exe 파일을 다운로드 받고 설치한다. suf80_launch.exe는 종료된다.

3. 다시 irsetup.exe는 winctrcon.exe를 설치하고 종료된다.

4. 마지막으로 winctrcon.exe는 winctrproc.exe를 설치한다.

 

결론. suf80_launch.exe-> irsetup.exe-> winctrcon.exe-> winctrproc.exe

 

이를 통해서 악성코드가 악성코드를 다운로드 받는 구조가 이루어 진다는 것을 확인할 수 있었습니다. 이 과정에서 다운로드 받는 winctrproc.exe가 악성코드이며 악성 행위를 하는지 검증하기 위해 간단한 실험이 이루어졌습니다.

인터넷 검색 결과 이들은 과거에 유행하던 툴바형태의 애드웨어였고 간단한 실험 결과 아직도 작동한다는 것을 확인할 수 있었습니다.

실험 결과 해당 애드웨어는 아직 작동하는 악성코드임을 알 수 있었습니다. 인터넷 익스플로러에서는 새로운 창에 광고 사이트가 나타나며 구글 크롬에서는 새 탭에서 광고로 이동하는 모습을 확인할 수 있었습니다.

 

PROCESSEXPLORER

다음 분석 도구는 프로세스익스플로러입니다. 

프로세스 익스플로러를 통해서 새로운 프로세스가 나타나는 모습을 확인하는 모습입니다. 짧은 시간 동안 suf80_launch.exe, irsetup.exe, winctrcon.exe,  winctrproc.exe 가 순차적으로 나타났다가 사라졌고 마지막에 나타난 winctrproc.exewinctrcon.exe의 하부 프로세스로 지속적으로 실행됩니다. 

 

SMARTSNIFF

이후 SMARTSNIFF를 이용하여 네트워크 트래픽을 확인해보았습니다.

충분한 시간을 들여 관찰하기 위하여 악성코드를 실행한 이우 5분동안 패킷을 수집한 이후 분석에 들어갔습니다. 그 결과 suf80_launch.exe 악성코드의 주요한 IP로 다음을 추려낼 수 있었습니다

220.73.162.49 – http  ==> 작동
220.73.162.56 - http (koreaserver.kr) ==> 작동 실패
220.73.162.59 – http ==> 작동 X
23.216.159.34 - http (a767.dspw65.akamai.net) ==> 작동 X
220.73.162.52 - http (koreaserver.com) ==> 작동 실패

 

대부분이 분석당시 작동하지 않았지만 첫번째 IP 주소는 접근시 악성코드 파일을 다운로게하는 악성행위를 진행하였기에 작동한다고 판단했습니다. 

 

룰 시그니처 작성

- 악성코드 샘플 선정 (완료)
- Snort를 설치하고 분석 환경을 구축  (완료)
- 악성코드를 분석하여 악성코드의 독특한 행위 파악.  (완료)
- 해당 행위를 기반으로 룰 시그니처 작성  <-진행중
- 룰 시그니처를 적용하고 Snort가 정상적으로 악성 행위를 감지했는지 확인.
- 위의 내용을 기반으로 보고서 작성.

 

 이제 방금 발견한 악성코드의 행위를 기반으로 룰 시그니쳐를 작성할 것 입니다. suf80_launch.exe의 주요한 행위는 다음과 같습니다.

이제 해당 행위를 기반으로 Snort 룰 시그니처를 작성할 것 입니다. 해당 룰은 다음과 같습니다.

alert tcp 220.73.162.49 any -> 192.168.93.128 any (msg:”Warning : malicious IP 220.73.162.49 detected”; sid:1000001;)
alert tcp 192.168.93.128 any -> 220.73.162.49 any (msg:”Warning : malicious IP 220.73.162.49 detected”; sid:1000002;)
alert tcp 220.73.162.56 any -> 192.168.93.128 any (msg:”Warning : malicious IP 220.73.162.56 detected”; sid:1000003;)
alert tcp 192.168.93.128 any -> 220.73.162.56 any (msg:”Warning : malicious IP 220.73.162.56 detected”; sid:1000004;)
alert tcp 220.73.162.52 any -> 192.168.93.128 any (msg:”Warning : malicious IP 220.73.162.52 detected”; sid:1000005;)
alert tcp 192.168.93.128 any -> 220.73.162.52 any (msg:”Warning : malicious IP 220.73.162.52 detected”; sid:1000006;)
alert tcp any any -> any any (content:"Download/WinCtrProc.exe";msg:”Warning : malicious URL http://220.73.162.49/Download/WinCtrProc.exe detected”; sid:1000007;)
alert tcp any any -> any any (content:"Config/AskIP.asp";msg:”Warning : malicious URL http://220.73.162.49/Download/WinCtrProc.exe detected”; sid:1000008;)
alert tcp any any -> any any (content:"Config/sTakeList.asp?n=3181";msg:”Warning : malicious URL http://220.73.162.49/Download/WinCtrProc.exe detected”; sid:1000009;)
alert tcp any any -> any any (content:"favicon.ico";msg:”Warning : malicious URL http://220.73.162.49/Download/WinCtrProc.exe detected”; sid:1000010;)

이제 이 내용을 이용해서 스노트 룰 파일을 작성하면 됩니다. 룰 파일의 경우 지난 스노트 설정 과정에서 비어있는 룰 파일을 미리 제작해 놓았습니다. 해당 파일을 조작하여 해당 룰 시그니처를 입력한다면 스노트 실행시에 작동할 것 입니다.

SNORT 작동 확인

- 악성코드 샘플 선정 (완료)
- Snort를 설치하고 분석 환경을 구축  (완료)
- 악성코드를 분석하여 악성코드의 독특한 행위 파악.  (완료)
- 해당 행위를 기반으로 룰 시그니처 작성
- 룰 시그니처를 적용하고 Snort가 정상적으로 악성 행위를 감지했는지 확인.   <-진행중
- 위의 내용을 기반으로 보고서 작성.

 

 이제 SNORT와 BASE를 실행합니다.

지난 시간에 스노트 설정이 정상적으로 진행되었는지 알기 위해서 ICMP 신호를 감지한 것만이 로그로 남아있는 상황입니다. 이제 악성코드를 실행해보겠습니다.

 

결과입니다. 악성코드의 악성행위를 정상적으로 감지하는 모습을 확인할 수 있었습니다.

보고서 작성

보고서는 파일로 첨부합니다.

23주차 과제물 - 분석 보고서.docx
3.95MB

댓글