1. main 함수가 첫 번째 서브루틴은 무슨 오퍼레이션을 수행하는가?
아래와 같이 첫 번째 서브루틴 함수는 0x401000 인 것을 알 수 있었고, 401000 함수에 들어가 보면 2번째 사진과 같은 기능을 수행하는 것을 알 수 있었다.
인터넷 활성화 여부를 확인하는 InternetGetConnectedState 함수를 확인 가능하며, if구문으로 인터넷 상태를 확인하는 것으로 보인다.
2. 0x40117F에 위치한 서브루틴은 무엇인가?
6 - 1과 똑같은 구조이므로 printf는 0x40117F 위치에 있는 서브루틴이다.
3. main 함수가 호출하는 두 번째 서브루틴은 무엇인가?
main이 호출하는 두 번째 함수는 0x401040에 위치해 있다. http://www.practicalmalwareanalysis.com/cc.html url을 확인할 수 있었고, user-Agent로는 internet Explorer 7.5/pma를 사용하는 것을 알 수 있었다.
4. 이 서브루틴에서 사용한 코드 구조는 어떤 유형인가?
InternetOpenA, InternetCloseHandle, InternetReadFile, InternetOpenA 코드 구조를 가지고 있으며, 정확히 알지 못하기 때문에 정리하고 넘어가도록 하겠습니다.
- InternetOpenA는 WinINet 라이브러리 사용을 초기화하는 데 이용하고 HTTP 통신에 사용하는 User-Agent를 설정한다.
- InternetOpenUrlA는 완전한 FTP나 HTTP URL이 명시하는 위치로 핸들을 오픈하는 데 사용한다.
- InternetReadFile은 InternetOpenUrlA가 오픈한 핸들에서 데이터를 읽을 때 사용한다.
- InternetCloseHandle은 이 파일이 오픈한 핸들을 닫을 때 사용한다.
5. 이 프로그램에서 네트워크 기반의 행위(indicator)가 존재하는가?
프로그램은 User-Agent인 Internet Explorer 7.5/pma를 이용해 http://www.practicalmalwareanalysis.com/cc.htm에 위치한 웹 페이지를 다운로드한다.
6. 이 악성코드의 목적은 무엇인가?
먼저 프로그램은 인터넷 연결의 활성여부를 확인한다. 연결이 되지 않으면 프로그램은 종료한다. 연결이 된 경우 프로그램은 특정 User-Agent를 사용해 웹 페이지 다운을 시도한다. 해당 웹페이지는 <!?로 시작하는 Html 주석이 존재한다.
'악성코드 분석 > 동적 분석' 카테고리의 다른 글
실전 악성코드와 멀웨어 분석 실습 - 6 - 1 (0) | 2020.01.21 |
---|---|
실전 악성코드와 멀웨어 분석 실습 - 03-03 (0) | 2020.01.08 |
실전 악성코드와 멀웨어 분석 실습 - 03-02 (0) | 2020.01.06 |
실전 악성코드와 멀웨어 분석 - 실습 03-01 (0) | 2020.01.06 |
기초 동적 분석 (0) | 2019.12.02 |