본문 바로가기

리버스-엔지니어링

Lab07_01 - 악성코드 동적 분석

반응형

동적 분석


가상환경에서 악성코드를 실행하고 실행 전/후 환경 변화를 분석한다.

➽ 도구
DirWatch : 파일 수정을 모니터링한다.
ApiLogger : API 로그를 남긴다.
SniffHit : HTTP 및 IRC 트래픽을 스니핑한다.
ProcWatch : 생성 및 삭제 된 프로세스를 모니터링한다.
SysAnalyzer : 프로세스가 수행한 작업을 분석하여 보여준다.



악성코드 샘플 분석


Lab07_01 - 악성코드의 목적은?

SysAnalyzer로 샘플 파일을 연다.


Delay : 몇 초 뒤에 프로그램을 실행하는지 나타낸다.
특정 악성코드는 분석을 어렵게 하기 위해 의도적으로 늦게 실행하여 아무 행위도 하지 않는 것처럼 속인다.

Ignore IP 및 Run As를 제외한 모든 옵션을 체크하고 start한다.
분석 종료시 까지 어떠한 프로그램도 조작하지 않아야 한다.

분석을 완료하면 아래처럼 analysis 폴더에 Report 파일이 생긴다.



Report를 종합한 결과는 아래와 같다.



위 결과를 토대로 IDA로 정적 분석을 해보자.

파일을 열면 첫 화면에 StartServiceCtrlDispatcherA 함수 이후 401040을 호출하고 있다.



sub_401040로 이동해보니 뮤텍스가 없으면 생성하는 코드가 존재한다.



Chart를 보면 아래와 같이 StartAddress 이후에 Internet과 관련된 API를 호출하고 있다.
따라서 해당 주소로 이동해보면 동적 분석 결과 ⑥번에서 본 내용이 있을 것으로 생각된다.
StartAddress는 스레드를 생성하는 함수로서 사용자가 정의한 반복문을 실행할 때 사용된다.



StartAddress에서 아래와 같이 특정 웹사이트에 질의를 무한 반복하고 있다.



따라서 DOS 공격을 수행하는 악성코드임을 알 수 있다.




반응형

'리버스-엔지니어링' 카테고리의 다른 글

SimpleBackdoor - IDA 정적 분석  (8) 2020.08.29
Lab05-01 - IDA 정적 분석  (0) 2020.08.28
[Reversing.kr] Music Player  (0) 2020.08.17
[Reversing.kr] Easy CrackMe  (0) 2020.08.17
[Reversing.kr] Easy Unpack  (0) 2020.08.17