uTorrent 란?

Torrent 는 파일을 전송하는 P2P 기술의 하나로, 보통 서버가 정해져 있는 일반 P2P 기술과는 달리 여러개의 컴퓨터로 부터 파일을 분산 시켜서 직접 내려받는 P2P 기술 이다.

Torrent 를 사용할수 있는 프로그램이 여러개가 있는데, 그 중 하나가 uTorrent 프로그램이다. Torrent 는 총 3가지의 파일로 나뉘어져 있다.

1. 토렌트 클라이언트(받는 프로그램) 2. 토렌트 파일(연결 프로그램) 3. 실제 파일(받아질 파일)

일반 P2P는 웹사이트 또는 서버에 직접 키워드를 이용하여 파일을 검색하고, 전용 다운로더로 파일을 다운로드 받는다. .torrent 파일을 토렌트 클라이언트에서 불러와서 .torrent 파일에 연결된 파일을 다운 받는다.

해당 기술의 이름은 비트 토렌트 라는 기술이며, 비트토렌트 Inc. 가 유지 보수를 하고 있다. 즉, 토렌트는 일종의 개방형 P2P 서비스 이다.

분석 환경

운영체제 버전 : Microsoft Window 버전 1809(OS 빌드 17763.379)

uTorrent Version : uTorrent3.5.5 (build 45952) [32-bit]

uTorrent Artifact Analysis

1. uTorrent 기본 설치 경로

기본 설치 경로는 아래와 같다. Path : C:\Users\{USER_NAME}\AppData\Roaming\uTorrent\*

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ce880ac9-f6c3-43e6-aecf-efc3a6d9ef84/Untitled.png

위에 있는 파일은 uTorrent 를 새로 설치했을때 확인해 볼 수 있는 폴더와 파일들이다. 위의 폴더와 파일들을 하나하나씩 알아 보기 전에 uTorrent 프로그램을 실행하고 사용한 후 종료를 하면 위의 데이터 들이 *.old 파일로 데이터를 저장하고 새로 *.dat 파일이 생성 된다.

아래의 이미지는 uTorrent 를 사용하고 확인한 폴더와 파일이다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ab1c5fe1-9029-4ee0-b221-3821675ce6b5/Untitled.png

*.old 파일 1개와 *.dat 파일 1개가 있기 때문에 현재 상태 와 최근에 사용한 데이터 정도는 PC에 저장되어 있다는 것이다. 우리가 분석할 파일은 *.dat 파일이다.

2. uTorrent 구성 파일 정보

2.1 chrome_native.json

chrome_native.json 파일을 확인해 보면 uTorrent 관련 정보중 chrome-extension 에 관련된 정보가 담겨져 있다.

{
  "name": "com.utorrent.native",
  "description": "uTorrent native support for Safe Torrent Scanner Chrome Extension",
  "path": "C:\\\\Users\\\\demas\\\\AppData\\\\Roaming\\\\uTorrent\\\\uTorrent.exe",
  "type": "stdio",
  "allowed_origins": [ "chrome-extension:\\/\\/makcojoppodhcgmmchohadhpkicoafka\\/", "chrome-extension:\\/\\/aegnopegbbhjeeiganiajffnalhlkkjb\\/", "chrome-extension:\\/\\/aoceahpnkbdffndcgdcfjjaciomhgple\\/" ]
}

2.2 dht.dat

uTorrent Artifact 중에서 대부분의 데이터가 *.dat 확장자를 가지고 있는 파일로 구성되어 있는데, 해당 파일들은 평문 데이터를 저장하지만 구조가 존재한다.

dat 파일의 구조는 BEncoding 방식으로 데이터가 작성 되어 있다. BEncoding 방식은 아래의 URL 에서 찾아 볼 수 있다. URL : https://blog.forensicresearch.kr/34

dht.dat 파일은 Distributed Hash Table 의 약자로 연락처 정보를 공유하기 위해서 DHT 네트워크에 연결 할 때 클라이언트가 사용하는 데이터가 포함되어 있어 동일한 파일을 다운로드 하는 사용자가 서로서로 검색이 가능하다. 이 파일은 클라이언트의 외부 IP 주소를 저장한다.

대부분의 Windows Artifact 는 라우팅이 불가능한 로컬 IP를 저장하지만, dht.dat 파일에서의 IP는 외부 IP 이기 때문에 수집하기 매우 유용한 아티팩트 이다.

해당 파일을 BEncode Editor 를 이용해서 확인해 보자.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/20b7d872-6028-472f-8daa-307d7e8c191f/Untitled.png

총 6개의 데이터가 들어있는 것을 확인해 볼 수 있다. 위의 데이터를 한번 확인해 보면 아래와 같다.