[리팩토링] #14 bton02setup.exe 분석

Hyungjun·2024년 12월 1일

리팩토링-보안

목록 보기
8/11

Mission

악성코드 bton02setup.exe 를 기초, 정적, 동적 분석을 진행해보자

기초분석

VirusTotal

정적, 동적 분석에 들어가기 앞서서, 가장 간단하게 할 수 있는 분석, 기초분석 툴인 VirusTotal에 다운받은 악성코드 샘플을 넣어보자.

72개 엔진 중 52개 엔진이 해당 파일을 악성 파일로 진단하였다.

  • Adware, Trojan, Downloader 가 악성파일로 판단
  • Win32 에서 구동

파일의 고유한 해시값을 참고하고자 할 때는 MD5, SHA-256 확인

  • 해당 파일이 Win32 환경에서 구동되며,
  • C++언어로 제작되었기에 패킹이 되어있지 않다고 추정

파일 이름과 생성 일시 확인

RELATIONS 탭에서는 분석하고자 하는 파일이 특정 IP, 도메인과 통신을 하는지 참고

정적분석 Tool

Exeinfo

제공받은 정보를 바탕으로 패킹 여부 및 사용된 패커를 확인하여, 알맞은 언패킹 프로그램을 활용 후 압축을 풀어 악성코드를 분석할 수 있다.

정적분석 진행할 때, 가장 먼저 확인하는 부분 중에 하나는 해당 파일의 패킹 여부를 확인한다.

“Microsoft Visutal C ++”, ”Not packed”라고 표현한다.
-> 패킹이 되어있지 않은 것이라 생각할 수 있다.

결론적으로 bton02setup.exe 파일은 패킹이 되어있지 않으므로,
특정 언패킹 도구의 도움 없이 내부 문자열을 평문으로 바로 확인해 볼 수 있다.

Bintext

문자열들을 해석하여 악성코드 파일인지 확인 가능하다

여러 가지 C++, Win32 Api 함수가 확인된다.

악성코드 내에서 DLL(동적 연결 라이브러리)이 있는지 필터링해서 찾아보기

  • DLL은 많은 프로그램에서 공통으로 사용하는 코드, 데이터, 리소스를 모듈화하여 저장된 파일

  • URL 주소는 해당 파일이 네트워크와 관련된 작업을 수행하거나 
    원격 서버와 통신하고 다운로드를 시도할 수 있음을 의미한다.

  • 실행 파일(.exe)은 해당 파일이 컴퓨터에서 실행될 수 있음을 의미한다.
    알려진 파일이 아니기에 자체 제작한 파일로 추정된다.

  • 윈도우 경로 관련 문자열은 파일이 디렉터리와 관련된 리소스에 접근하려는 것으로 추정할 수 있다.

파악된 정보

PEView

Windows 용 실행 파일인 PE ( Portable Executable ) 의 구조를 분석할 수 있는 툴

5A4D (MZ)로 시작 -> exe 파일

또한 Virtual Size와 Size of Raw Data 간의 크기 차이가 크기 않기에 패킹되어있지 않음을 다시 확인

API 함수의 주소 위치

DLL 파일의 위치를 파악할 수 있음.

동적분석 Tool

동적분석 하기 전 SnapShot

autoruns

해당 툴은 부팅 시 자동으로 실행되는 프로그램 및 서비스를 모니터링하고 관리하는 도구이다. 악성코드 분석 시 악성파일을 실행하기 전과 후의 스냅샷을 각각 촬영 후 비교하는 방식으로 활용한다.


악성파일 실행 전에 저장 -> 악성파일 실행 -> Compare -> 저장한 파일 불러오기 -> 두 스냅샷을 비교

실행 전과 후의 특별히 다른 점이 없음을 확인하였다.

Process Explorer

실시간으로 프로세스가 어떻게 변하는지 확인하기 위해 사용

악성파일을 실행하는 순간 1초만에 사라진다.

트로이목마는 주로 악성코드 탐지를 피하기 위해 악성 행위를 수행한 후 자신의 흔적을 지우거나 숨기려는 기능을 가지고 있다. 이를 파일리스(Fileless) 악성코드나 자체 삭제(Self-Deleting) 트로이목마라고도 한다.

-> 로그를 남기는 기능은 없기에 Process Monitor로 분석을 진행하였다.

Process Monitor

로그로 확인해 보니 아주 다양한 활동을 하고 있었다.

bton02setup.exe 필터링 후, 해당 결과 확인해 보니 Result가 SUCCESS 외에
DISALLOWED, NAME NOT FOUND 등 부정적으로 발생한 프로세스 또한 확인된다.

bintext 에서 알아낸 nskSetup 파일을 필터링해서 검색해보니, 악성파일이 해당 파일을 찾지 못하고 있음을 확인하였다.

SmartSniff

특별한 네트워크 연결은 보이지 않았다.

WireShark

더 심층적인 분석을 위해 Wireshark를 통해 트래픽 검사

“Standard query response 0x0ab4 No such name A a-ton.co.kr SOA g.dns.kr”라는
DNS 서버로부터의 응답을 해석해보면
-> DNS쿼리에 대해서 DNS 서버가 “a-ton.co.kr” 도메인을 찾을 수 없다는 것을 의미한다.

결론

악성파일의 유형

Bintext 등을 확인해 봤을 때, 추가적인 실행 파일인 일이 들어가 있는 걸로 보아 
원본 파일에 의해서 파생되는 것으로 추정해 볼 수 있다.

또한 동적분석 과정 중 nskSetup.exe 파일을 어떻게 동작하기 위한 일련의 과정들도 있었다.
이러한 특징들을 종합해 보면 다운로더의 일반적인 특징을 가지고 있다고 추정할 수 있다.

모든 악성 코드들은 정상인 파일인 것처럼 위장을 한 상태에서
실행을 유도하고 분석 과정 중 원본 파일이 삭제가 되었던 것을 보아 트로이목마의 성격을 가지고 있다.

애드웨어 관련 추정해 볼 수 있는 내용은 파악할 수 없었다.

악성 파일의 특징 및 행위

악성파일은 여러 가지 방법으로 작동을 하지만 해당 파일은 본래에
”a-ton.co.kr” 도메인으로 접근하여 “nskSetup.exe” 실행 파일을 불러온 후에

디렉터리와 관련된 리소스에 접근하여 파일 삭제 및 변경,
시스템 제어와 같은 작업을 수행하는 악성파일이었을 것으로 추정된다.
하지만 현재는 ”a-ton.co.kr” 도메인이 존재하지 않으므로, 네트워크 행위를 할 수 없는 것이며
그에 따라 파일도 원래 의도하였던 행위를 정상적으로 수행하지 못하는 것으로 보인다.

출처: https://itcase.tistory.com/

profile
Cloud Security / DevSecOps / AWS

0개의 댓글