打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
μTorrent对等客户端的数字取证分析
案例
知识
随笔
声音
其他
编者按
针对P2P客户端的取证分析资料比较少。笔者从国外论坛上找到此篇,用蹩脚的英语翻译了一下,不知道合不合大家的胃口。
原作者:Michael  Godfrey
注:此P2P,非互联网P2P金融,想一想“快播”……
μTorrent软件客户端是全球最受欢迎的BitTorrent点对点软件应用程序。诸如受版权保护的电影和音乐,儿童色情和盗版内容等违禁品文件经常通过点对点(P2P)文件共享协议BitTorrent获取。该研究将包括μTorrent客户端的数字取证分析,特别是utorrent.com上发布的免费版本(3.5.3 for Windows)。 与其他的P2P客户端有所不同,μTorrent客户端较好的保持了P2P协议原生态。它与BitTorrent(bittorrent.com)都归BitTorrent,Inc所有。
μTorrent适用于Windows,Mac,Linux,Android和iOS(仅适用于越狱设备)。运行μTorrent的计算机可以与外部设备配对进行查看(iOS和Android移动设备,USB存储设备和某些流媒体设备)。
用户可以远程安全地管理在计算机上运行的μTorrent。然后可以从另一台配备网络浏览器的计算机或移动设备访问他们的μTorrent客户端。
BitTorrent使用跟踪器允许客户端找到对等物,称为种子。 BitTorrent协议不是从单个源(节点)下载文件,而是允许用户加入一群主机来上传和下载内容。种子是拥有整个文件的节点。想要分发文件的用户必须首先创建一个只包含元数据且具有.torrent文件扩展名的小型torrent描述符文件。 .torrent文件通过一个或多个Torrent网站(称为Indexer)分发,允许用户搜索特定内容并下载适用的.torrent文件。 .torrent文件包含特定的跟踪器信息。跟踪器是一种服务器,用于跟踪哪些对等体和种子具有要分发的文件片段。为“无跟踪”种子创建分布式哈希表(DHT)方法使得跟踪器变得多余。
将.torrent文件加载到其BitTorrent客户端的用户可以通过BitTorrent的DHT通信功能在其他BitTorrent节点(对等体或种子)之间建立连接。正在分发的文件被分成段(片段),因为每个新对等体接收新片段,该对等体现在成为该片段的分发者。每个部分都受加密哈希(SHA1)保护。 BitTorrent客户端将识别需要哪些部分才能获得完整的文件。一旦对等体下载了完整的文件,它就会成为分发种子。
BitTorrent不保证其参与者的匿名性。可以通过客户端用户界面或netstat Windows命令轻松识别连接对等体的IP,该命令将显示连接的对等体和种子。 BitTorrent的标准端口(包括μTorrent客户端)是TCP / UDP端口6881-6889(跟踪器端口为6969)。
μTorrent客户端
默认安装将μTorrent客户端的所有文件放在用户的应用程序数据目录中,如下所示:C:\ Users \ \应用程序数据\漫游\ uTorrent的\
以下配置文件包含有关应用程序设置和历史的相关信息:
· resume.dat
· settings.dat
· dht.dat(分布式哈希表)
· rss.dat
如果客户端关闭,则备份上述DAT文件并附加.old作为新文件扩展名。以下图形是在Windows 10中进行全新安装后的μTorrent目录。安装后,但在启动之前,应用程序显示在左侧。右边是首次启动μTorrent后的应用程序文件,将TEST.torrent添加到客户端,然后将其关闭。
BEncode编辑器
DAT文件和.torrent文件是用BEncode编写的。因此,要查看内容,必须使用能够解码BEncode文件的工具,例如BEncode Editor。
在BEncode编辑器中查看这些文件时,将显示数据,其中的指示符显示每个标题旁边的数据类型:
· 字节串:(b)
· 整数:(i)(基本10个ASCII字符)
· 列表:(l)
· 字典:(d)
· 括号括起来的数字:[48],表示基于数据类型的数量(字节字符串,整数,列表或字典):
· 字节字符串:字节数或字符数
· 整数:位数
· 列表和词典:列表或词典中的项目数
以下是使用BEncode Editor查看的settings.dat文件的内容。
μTorrentDAT文件
settings.dat
文件包含设置和配置数据。
· autostart =:0 = OFF,否则将无法进入
· ct_hist [#]:此客户端创建的.torrent文件数(括号内),包括用户用来创建.torrent文件的文件/文件夹的路径和名称; 知识和意图的良好指标; 可能指向外部媒体或其他存储驱动器/目录位置
· born_on = 13036184115:轻量级目录访问协议(LDAP)时间或FILETIME,自1601年1月1日起100纳秒间隔的数量 - 必须在EpochConverter中添加7个尾随零
· 设备:此处列出的配对设备包括设备名称,USB VID和PID以及序列号
· · auto_transfer =:0 = OFF / 1 = ON
· · usb_id:包含USB设备供应商ID(VID)和产品ID(PID),以及USB设备电子序列号和可能的设备友好名称
下图显示了连接两个设备的μTorrent设备界面:iPhone / iPod和Apple iPhone 3GS。
dir_last条目是当用户添加相关的.torrent文件并选择“选择保存目录”选项时,用户选择下载Torrent文件的目录(见下图)。 对于以这种方式添加的每个新.torrent文件,都会更新dir_last条目。
* dir_active_download:用户设置的位置,用于保存新的下载
* dir_autoload:用户设置的位置自动加载Torrent文件
* dir_completed_torrents:用户设置的位置,用于存储已完成的下载
* dir_completed_torrents:用户设置的位置,用于存档已完成的.torrent文件
* dir_torrent_files:用户设置的位置,用于存储客户端下载的torrent文件
(*)仅当用户使用“首选项”菜单更改了特定目录的默认位置时,才会显示上述设置(请参见下图),否则不会出现任何条目。
· runs_since_born:自安装以来程序启动和关闭的次数
· runtime_since_born_secs:程序运行的秒数
· search_list:μTorrent工具栏中使用的Torrent搜索站点列表,可以由用户添加,导致用户的Web浏览器加载搜索站点,因此请查看Internet History
· settings_saved_systime:上次更改客户端设置时,UNIX时间
远程访问
配置为远程访问的系统将允许用户使用Web界面控制在远程系统上运行的uTorrent客户端。 要启动远程访问,用户将导航到https://remote.utorrent.com并输入以前配置的计算机名称和密码。 在进行身份验证后,将向用户显示一个Web界面,该界面与远程系统上的uTorrent客户端状态几乎完全相同。 下图描绘了远程访问Web界面(顶部)和实际的uTorrent客户端(底部)。
以下是settings.dat中更相关的条目,如果客户端设置为通过操作,将出现
使用首选项>远程菜单设置进行远程访问连接。 必须提供唯一的名称
任何密码都将被接受。 下图显示了启用的远程访问设置:
· upnp.external_ip:安装客户端的计算机的最后一个外部(可路由)IP将存储在此处; 见下图
· upnp_cached_host:本地网络上IGDdevicedesc.xml文件的通用即插即用(upnp)URL; 将包括本地网络网关IP和端口; 用于促进网络连接
· upnp.external_ip:安装客户端的计算机的外部(可路由)IP
· webui.ssdp_uuid:通用唯一标识符(最后6个字符代表网络接口的MAC地址)
· webui.ucinnect_hashword:远程访问登录密码的Salted SHA-1哈希
· webui.ucinnect_username:用户在“首选项”>“远程”中分配的计算机的名称
resume.dat
在客户端关闭时存储状态信息
· added_on =:Time Torrent已添加到客户端(UNIX时间)
· completed_on =:完全下载或创建Time Torrent(UNIX时间)
· created_torrent =:1 =客户端创建了torrent,0 =客户端没有创建torrent
· download_url =:如果客户端使用“从URL添加torrent”功能
· downloaded =:到目前为止下载的文件的字节数
· last_seen_complete =:上次客户端正在播种整个文件(UNIX时间)
· last_active =:此客户端上次播放或共享文件的时间(UNIX时间)
· path [##] =:保存传入文件的路径,括号中此Torrent的文件数
· runtime =:时间文件已在客户端下载(或下载后的播种时间)
· seedtime =:客户端已播种文件的秒数
· started =:客户端上次退出时的文件状态(0 =已停止,1 =强制启动,2 =已启动,3 =正在运行/未下载)
· uploaded =:该特定文件的上传(共享)字节数
· uploaded =:该特定文件的上传(共享)字节数
· peers6 [##] =:在客户端退出时共享此文件的IP和端口(包括客户端的本地和外部IP,IPv4和IPv6),请参阅下面的转换数据以识别IP地址的过程。
使用以下过程查看每个对等方的IP地址:
o resume.dat文件的peers6字段包含客户端与之通信的每个对等方的IP地址,以便通过BitTorrent协议参与内容共享。
o在resume.dat文件的peers6字段中,选择“Raw BEncoded Data”和“as Binary”的显示选项。
o从十六进制转换为十进制以获取IP。
o最后4个十六进制字符代表端口(Big Endian)。
o按照以下步骤翻译数据,以便识别每个对等方的IP地址。
打开peers6条目旁边的数据字段:
将此十六进制数据复制并粘贴到Notepad ++中,然后创建一个每行36个字符的新行。 每行显示IPv6(如果不存在IPv6则全为零),后跟IPv6端口(如果没有IPv6,则为FFFF),后跟IPv4(8个字符)和IPv4端口(4个字符):
字节字符串(36个字符):00000000000000000000FFFFC0A80177B0E3
IPv4 IP和端口:FFFFC0A80177B0E3
IPv4地址(从十六进制转换为十进制):
C0A80177:E3B0
C0 = 192
A8 = 168
01 = 1
77 = 119
端口(Little Endian):E3B0 = 58,288(端口)
转换:192.168.1.119:58288
dht.dat
包含客户端在连接到分布式哈希表(DHT)网络以共享联系信息时使用的数据,因此从事下载相同文件的用户可以相互发现。此文件还存储客户端面向外的IP地址。这是一个有用的工件,因为大多数Windows工件只存储本地不可路由的IP地址。请务必查看dht.dat.old,因为这是该用户上次关闭μTorrent客户端时的文件的先前版本。
age:上次更新的时间,或客户端关闭时(UNIX十进制),将客户端的IP与日期/时间相关联的良好指示。
ip:以十六进制表示客户端的可路由IP地址(由客户端的服务提供商分配),按照以下步骤转换数据以识别面向外部的客户端IP。
双击右侧的文本数据(例如:G>#!):
选择显示选项:“Raw BEncoded Data”和“as Binary”:
将hex转换为十进制:
47= 71
3E= 62
23= 35
21 =33
转换IP:71.62.35.33
在上面的测试示例中,访问网站www.whatismyipaddress.com公开了测试Windows计算机系统的正确翻译的IP地址,而不仅仅是本地IP。
nodes:包含客户端正在与之通信的每个对等方的IP地址(IPv6和IPv4),以便通过BitTorrent协议参与内容共享。 要转换数据,请按照以下步骤操作。
· 26字节(52个十六进制数字):
要确定客户端正在与之通信的对等端的总数,请将括号中的数字(在下面的示例中为10036)除以26(字符串中的十六进制字节),以确定数据中包含的IP地址总数(386) 下例中的IP) - 显示类型“Binary / as Binary”,如下所示。
· id(b)[20] =:包含客户端节点的唯一ID,20个十六进制字符对。 要显示数据,请选择:“Raw BEncoded Data”和“as Binary”:
Torrent文件
要使用BitTorrent协议分发文件,需要创建.torrent文件并播种。 在客户端中,可以使用以下过程创建.torrent文件。
· 在μTorrent中,选择FILE,创建Torrent
· 选择单个文件或包含将与torrent文件关联的文件的目录的内容
· 添加或更改种子跟踪器URL信息
· 根据需要添加有关torrent内容的任何评论
· 检查开始播种
· 选择创建
· 提供torrent文件的名称,并确保文件类型是Torrent文件:
需要BEncode查看器(BEncode Editor)才能查看.torrent文件的内容。
· 宣布:跟踪网站的网址
· announce-list:一个新密钥,包含此torrent的所有跟踪器的URL列表
o将按顺序处理等级的通知
o在客户端进入下一层之前,必须检查每个层中的所有URL
o与跟踪器的第一次成功连接将导致它移动到层的前面
· info:包含torrent中包含的每个文件的条目:
项目1(d)[n]:用数字表示哪个文件,括号中的数字是指
本节所含物品数量(2)
length(i)=:文件的字节数
path(i)[n]:文件名
name(b)[n] =:torrent的名称(不要与.torrent文件本身的名称混淆)
piece length(i)=:每个torrent文件被分割成的字节数,通过添加所有文件大小到达,并将此数字除以2,040
pieces(b)[n]:包括串在一起的所有部分的完整SHA1字符,n = SHA1连接哈希的总字节数
下图说明了torrent文件的info部分的内容。 每个文件合并为一个流,然后拆分成固定的片段长度,以便使用BitTorrent协议进行有效传输。
生成.torrent文件后,需要对其进行播种,以便其他人可以根据使用关键字的搜索来查找文件。 下图显示了TEST.torrent的Info选项卡,显示有一个swarm成员连接了一个对等体(都是测试客户端),内容包含在33个中,每个大小为1 MB。 TEST.torrent由μTorrentv3.5.3于3月2日14:15:01创建。
μTorrent统计
在μTorrent中,选择“帮助” - >“显示统计”
可以导出来自嫌疑人系统的整个μTorrent目录,并将其安装在具有相同操作系统的测试VM中,以便在上次关闭时模拟(查看)嫌疑人的μTorrent状态:
首先在目标系统上安装相同版本的μTorrent(在更新文件夹中查找已安装版本的.exe文件)。 请注意,此“仿真”会增加统计信息以包含您的测试(例如,程序启动时间+1),因此请根据需要使用VM快照并进行还原。
μTorrent搜索工具
在μTorrent中,用户可以搜索内容并显示torrent文件索引器的站点结果。 搜索活动将在网络历史记录中捕获,因为它使用默认浏览器来运行搜索。
μTorrent在Windows注册表中的信息
以下Windows注册表项与μTorrent的安装和使用相关联:
NTUSER.DAT\软件\微软\的Windows \ CurrentVersion\卸载\ uTorrent的
NTUSER.DAT\ SOFTWARE \ BitTorrent的\ uTorrent的
ntuser.dat \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .torrent \ OpenWithList
· 如果安装了多个客户端(以及何时),将显示哪个BitTorrent客户端类型是首选
· 值=表示已分配程序顺序的字母
ntuser.dat \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ RecentDocs \ .torrent
- 显示最近访问的Torrent文件
ntuser.dat \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ ComDlg32 \ OpenSavePidlMRU \ torrent
- 显示通过Windows对话框shell打开或保存的Torrent文件
usrclass.dat \ Local Settings \ Software \ Microsoft \ Windows \ Shell \ MuiCache
- 执行应用程序时,Windows将检索应用程序名称并将其存储
- 显示已执行的应用程序
使用Notepad ++
Notepad ++可用于帮助翻译从存储在DAT文件或torrent文件中的编码数据中检索的原始数据。
在每个第n个字符后强制字符串进入新行:
· 将数据复制并粘贴到Notepad ++
· 删除字节字符串数据中的任何前导'x0')
· 选择CTRL + H进入查找和替换菜单
· 在'查找内容'中输入:^。{n}
· 在'替换为'中输入:$ 0 \ r \ n
· 将{n}替换为每行前面的字符数(在下面的示例中,使用了{20})
· · 对eer6使用36(resume.dat) - IP /端口
· · 对节点使用52(dht.dat) - 节点ID / IP /端口
· · 使用40作为片段(.torrent文件) - SHA1字符
· 选择正则表达式
· 然后可以将结果复制到Excel
关于作者
Michael Godfrey是ManTech International的高级数字取证审查员,之前是分配给费尔法克斯VA的DHS网络犯罪中心的国土安全调查特别代理人。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PROMGen PROM/EEPROM 文件格式描述:MCS,EXO,HEX
什么是BT
Windows API串口编程参考
BT工作原理
微软创造Bittorrent下载工具
Linux操作系统下的串口通信学习笔记 ← ARM论坛 ← 嵌入式单片机学习网论坛
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服