Xplico 是一款开源的 GUI网络取证分析工具(NFAT),专注于从网络和互联网捕获中提取工件。
网络和互联网流量的捕获可以通过 Xplico 的实时采集功能直接获取,但也可以使用 Kali Linux 中的工具(如 Wireshark 和 Ettercap)来完成。这些网络采集文件保存为.pcap
或包捕获文件,然后上传到 Xplico,并使用其 IP 解码器和解码器管理器组件自动解码。
我们可以使用 Xplico 调查的一些协议包括但不限于:
- 传输控制协议(TCP
- 用户数据报协议(UDP)
- 超文本传输协议(HTTP
- 文件传输协议****FTP
- 琐碎 FTP****TFTP
- 会话启动协议(SIP
- 邮局协议****POP
- 互联网地图接入协议(IMAP
- 简单邮件传输协议(SMTP
网络和互联网数据包捕获甚至实时采集中包含的数据可能包含以下工件:
- HTTP 流量,如浏览的网站
- 电子邮件
- Facebook 聊天
- RTP 与 VoIP
- 打印文件
使用安全套接字层(SSL)加密的流量当前无法通过 Xplico 查看。
Xplico 附带了许多版本的 Linux。Xplico 通常需要一些更新才能运行,这取决于所使用的 Kali 版本。对于本章,我建议使用 Kali Linux 2016.1 或 2016.2。我还建议在使用 Xplico 时在虚拟环境中使用 Kali,因为错误地更新 Kali 可能会破坏它。用户可能还希望在更新 Kali Linux 之前使用快照功能,该功能保存机器的当前工作状态,以便在分发中断时轻松回滚到该状态。
Kali Linux 2016.1 can be downloaded from https://cdimage.kali.org/kali-2016.1/.
Kali Linux 2016.2 can be downloaded from https://cdimage.kali.org/kali-2016.2/.
如果遇到困难,更新 KALI 或运行 XPLICO(有时发生)考虑下载和运行虚拟环境中的 DIFT Linux 8.2。初学者可能会发现,在灵巧的 Linux 中使用 Xplico 可能更容易,因为有 GUI 菜单项可以启动 Apache 和 Xplico 服务选项,而这些必须在 Kali Linux 中输入到终端中。
DEFT Linux 8.2 可从下载 http://na.mirror.garr.it/mirrors/deft/ 。
更新 Kali 很简单,因为在不同版本(2016.x 和 2017.x)中更新时,命令保持不变。
在新的终端中,我们键入apt-get update
并按进入。如果sudo apt-get update
命令无法成功运行,则可能必须使用该命令来提供管理员权限。
然后,我们尝试通过键入apt-get install xplico
(或sudo apt-get install xplico
)来安装 Xplico:
如果遇到错误,如下面的屏幕截图所示,我们必须首先更新源代码列表,然后再次运行apt-get update
命令来更新 Kali Linux 存储库。要更新源列表,请键入leafpad /etc/apt/sources.list
命令,打开文件供我们编辑:
在文件顶部,输入以下存储库位置:
deb https://http.kali.org/kali kali-rolling main non-free contrib
输入存储库位置后,单击“文件”,然后单击“保存”,然后关闭列表。
确保删除文本前面的任何#
符号,因为这会忽略后面的任何文本。
关闭列表文件后,返回终端,再次运行apt-get update
命令:
Kali 更新后,运行apt-get install xplico
命令。出现提示时,一定要按Y继续:
一旦安装了 Xplico,我们就必须启动 apache2 和 Xplico 服务。在终端中,输入以下两个命令:
service apache2 start
service xplico start
完成这些步骤后,现在可以通过单击应用程序| 11-取证| Xplico:
之后会立即打开一个浏览器窗口,其中包含 URLlocalhost:9876/users/login
。
如前所述,DEFT Linux 8.2 应作为虚拟主机运行。这个过程不像安装 Kali Linux(如第 2 章、安装 Kali Linux中所述)那样深入,因为 DEFT 可以用作现场取证采集分发版。
下载了灵巧的 Linux ISO 映像后(从下载)http://na.mirror.garr.it/mirrors/deft/ ,打开 VirtualBox,点击新建,输入以下详细信息:
- 名称:
Deft 8.2
- 类型:Linux
- 版本:Ubuntu(64 位)(验证输入的详细信息是否与屏幕截图中的内容匹配)
现在,在填写适当的信息后,请执行以下步骤:
- 分配 4 个或更多 GB 的 RAM。
- 保留“立即创建虚拟硬盘”的默认选项,然后单击“创建”。
- 保留 VDI(VirtualBox 磁盘映像)的默认选项,然后单击下一步。
- 保留“动态分配”的默认选项,单击“下一步”,然后单击“创建”。
- 单击 VirtualBox Manager 屏幕上的绿色开始箭头以启动 VM。
当提示选择启动磁盘时,单击浏览文件夹图标并浏览到下载的 DEFT Linux 8.2 ISO 映像,然后单击开始:
这将用户带到灵巧的启动屏幕。选择英语作为您的语言,然后选择 DEFT Linux 8 live:
在 DEFT Linux 引导并加载桌面后,单击左下角的 DEFT 菜单按钮,然后单击服务菜单,然后单击 Apache 开始。重复此过程以进入服务菜单,然后单击 Xplico 开始:
最后,单击 DEFT 按钮启动 Xplico,然后转到 DEFT 菜单,转到网络取证,然后单击 Xplico:
这就为我们带来了同样的 Xplico web 界面 GUI,也可以在 Kali Linux 中使用:
无论是使用 Kali Linux 还是 DEFT Linux,在本章中,我们将使用公开的示例数据包捕获(.pcap
文件,这些文件可以在下载 http://wiki.xplico.org/doku.php?id=pcap:pcap 。
所需文件包括:
- 域名服务器
- 多媒体信息服务
- 网络邮件:Hotmail/Live
- HTTP(网络)
- SIP 示例 1
我们还需要一个 SMTP 示例文件,可从的 Wireshark 示例捕获页面获取 https://wiki.wireshark.org/SampleCaptures 。
在本练习中,我们上载 HTTP(web)(xplico.org_sample_capture_web_must_use_xplico_nc.cfg.pcap
示例数据包捕获文件。
对于此 HTTP 分析,我们使用 Xplico 搜索与 HTTP 协议相关的工件,例如 URL、来自网站的图像以及可能的浏览器相关活动。
启动 Xplico 后,使用以下凭据登录:
- 用户名:
xplico
- 密码:
xplico
然后,我们从左侧菜单中选择“新建案例”,并选择“上载 PCAP 捕获文件”按钮,因为我们将上载文件,而不是执行实时捕获或采集。对于每个案例,我们还必须指定案例名称:
在下面的屏幕截图中,我输入了HTTP-WEB
作为案例名称。单击“创建”继续。HTTPWEB 案例现已创建。单击 HTTPWEB 继续进入会话屏幕:
现在,我们通过单击左侧菜单中的 new session(新建会话)选项,为案例的此实例创建一个新会话:
我们为会话命名,然后单击“创建”继续:
我们的新会话已创建,名称为 HTTPWEB:
一旦输入了我们的案例和会话详细信息,我们就会看到 Xplico 主界面窗口,其中显示了在上传和解码我们的.pcap
文件后发现的各种可能的工件类别,包括 HTTP、DNS、Web Mail 和 Facebook 类别:
要上载我们的.pcap
文件,请单击浏览。。。点击右上角 Pcap 设置区域中的按钮,选择下载的(xplico.org_sample_capture_web_must_use_xplico_nc.cfg.pcap``.pcap
文件,然后点击上传按钮,开始 Xplico 中的解码过程:
解码过程可能需要一段时间,这取决于.pcap
文件的大小,因为此过程将.pcap
文件解码为 Xplico 中易于搜索的类别。一旦完成,会话数据区域中的状态字段将读取解码完成,并显示案例和会话名称的详细信息以及捕获(Cap)开始和结束时间:
解码完成后,结果将显示在各个类别区域中。在下面的屏幕截图中,我们可以看到文本流下的未编码类别中有一个条目:
为了分析解码结果,我们使用 Xplico 界面最左边的菜单。看到“未编码”类别中列出了结果,请单击菜单中的“未编码”,菜单将展开为 TCP-UDP 和 Dig 子菜单。单击 TCP-UDP 子菜单进一步浏览:
TCP-UDP 选项显示目标 IP、端口、日期和时间、连接持续时间以及包含更多详细信息的信息文件。可以单击红色标记的目标 IP 条目,还可以进一步探索:
如果我们单击第一个目标 IP 条目74.125.77.100
,系统会提示我们将此条目的详细信息保存在文本文件中:
要查看文件的内容,我们可以直接从保存的位置打开文件,也可以使用cat
命令通过键入cat /root/Downloads/undecoded_15.txt
在终端内显示内容:
上一个终端窗口中显示的结果显示,在 2009 年 12 月 9 日星期三查看或下载了.gif
图像。
我们也可以点击信息栏下的info.xml
链接获取更多信息:
info.xml 显示源和目标 IP 地址以及端口号。现在,我们可以浏览所有目标 IP 地址及其各自的info.xml
文件,以收集我们案例的更多信息:
让我们回到左侧的“未编码”菜单,然后单击“挖掘”子菜单,进一步浏览捕获文件:
在上一个屏幕截图中,Dig 子菜单以.gif
、.tif
和.jpg
格式以及通过 HTTP 连接查看的日期显示了多个图像瑕疵。
这些图像应作为我们案例调查结果的一部分进行查看和记录:
许多组织甚至普通终端用户已经实施或使用了VoIP(IP 语音)解决方案,主要是为了降低语音和多媒体通信会话的成本,否则就需要使用付费电话线。要使用 VoIP 服务,我们必须使用SIP(会话启动协议。
对于本练习,我们将使用 SIP 示例 1(freeswitch4560_tosipphone_ok.pcap
数据包捕获文件来分析 VoIP 服务(如果有的话)。
与我们之前的 HTTP web 分析一样,必须创建一个新案例和会话,其中包含此新案例的相关详细信息:
- 案例名称:
SIP_Analysis
- 会话名称:
Sip_File
创建案例和会话后,浏览到要上传的.pcap
文件(freeswitch4560_tosipphone_ok.pcap
,点击上传,开始解码过程:
文件解码后,我们可以看到右下角 Calls 类别中列出了两个结果:
要开始探索和分析 VoIP 呼叫的详细信息,请单击左侧菜单上的 VoIP 选项:
单击 Sip 子菜单,我们将看到呼叫的详细信息。我们可以看到电话是从"Freeswitch" <sip:5555551212@192.168.1.111>
打到Freeswitch <sip:5555551212@192.168.1.112>
:
点击持续时间详情(0:0:19
)进一步分析和探索:
首先点击cmd.txt
查看信息文件和日志:
在前面的屏幕截图中,我们可以看到对话中的数字、日期、时间和持续时间的详细信息。还可以选择在任意一端播放对话:
电子邮件使用不同的协议发送和接收电子邮件,具体取决于发送、接收和存储/访问电子邮件的方法。使用的三种协议是:
- 简单邮件传输协议(SMTP
- 邮局协议****POP3
- 互联网消息访问协议(IMAP
SMTP 使用端口25
,用于发送电子邮件。
POP3 使用端口110
,用于通过将电子邮件从电子邮件服务器下载到客户端来检索电子邮件。Microsoft Outlook 是 POP3 客户端的一个示例。
IMAP4 使用端口143
,与 POP3 类似,它检索电子邮件,但在服务器上保留电子邮件副本,并且可以通过 web 浏览器(通常称为 webmail)访问任何位置。Gmail 和雅虎就是网络邮件的例子。
在本练习中,我们将使用两个示例文件:
第一个文件是 Webmail:Hotmail/Live.pcap
文件(xplico.org_sample_capture_webmail_live.pcap
),可以从下载 http://wiki.xplico.org/doku.php?id=pcap:pcap 。
第二个是smtp.pcap
文件,可从下载 https://wiki.wireshark.org/SampleCaptures 。
为了分析第一个.pcap
文件(Webmail:Hotmail/Live),我创建了一个包含以下详细信息的案例:
- 案例名称:
Webmail_Analysis
- 会话名称:
WebmailFile
如果我们仔细查看解码结果,我们可以看到我们现在有几个填充的类别,包括 HTTP、DNS-ARP-ICMP v6 和 FTP-TFTP-HTTP 文件:
- HTTP 类别:
- Dns-Arp-Icmpv6 类别:
- FTP-TFTP-HTTP 文件:
现在我们已经了解了存在哪些工件,现在让我们使用左侧的菜单进一步分析结果。
点击左侧的图形菜单,显示域名信息,包括主机名、CName(规范名称)条目、主机 IP 地址,以及每个条目的info.xml
文件,以了解源和地址的详细信息:
第一个条目(spe.atdmt.com
的info.xml
文件(如下截图所示)显示10.0.2.15
的本地 IP(ip.src
以194.179.1.100
的 IP(ip.dst
)连接到主机(也在前面的 IP 字段截图中说明):
接下来,我们进入 Web 菜单,然后进入站点子菜单。将显示访问的网页列表以及访问的日期和时间。我们可以看到前三个条目属于域mail.live.com
,第四个和第五个条目属于域msn.com
:
我们可以点击info.xml
查看第一个站点条目。在 HTTP 部分,我们可以看到使用了 Mozilla Firefox 浏览器,并且访问了sn118w.snt118.mail.live.com
主机:
关闭info.xml
文件并选择图像按钮,然后单击 Go 以显示找到的任何图像:
图像搜索结果显示找到的多个图像和图标。单击列表以查看图像:
我们还可以通过返回左侧的 Web 菜单,然后单击图像子菜单来查看找到的图像。这为我们提供了图像的图形分组,以及指向其各自页面的链接:
向下移动主菜单至左侧,单击共享菜单,然后单击 HTTP 文件子菜单。这里我们看到两个项目,我们可以通过点击它们的info.xml
文件进一步调查:
点击abUserTile.gif
的info.xml
文件,我们可以看到这是从主机194.224.66.18
访问的:
在未编码菜单和 HTTP 子菜单中,我们还有关于目标 IP194.224.66.19
的 HTTP 信息。点击info.xml
文件,尝试进一步探索:
对于本例,我们使用从本节开头的 Wireshark 示例链接下载的 SMTP 示例捕获文件。
我创建了一个案例,其中包含以下详细信息,如以下屏幕截图的会话数据部分所示:
- 案例名称:SMTP
- 会话名称:
SMTPfile
查看屏幕右下角,我们可以看到电子邮件类别的未读字段中有一个项目:
知道我们正在分析和调查电子邮件,我们可以直接进入界面左侧的邮件菜单和电子邮件子菜单。这表明gurpartap@patriots.in
向raj_deo2002in@yahoo.co.in
发送了一封没有主题的电子邮件。单击-(无主题)-字段进一步检查电子邮件:
单击-(无主题)-字段后,我们现在可以看到电子邮件的内容:
我希望你和我一样喜欢本章中的练习。尽管由于更新和存储库问题,我们中的一些人在运行 Xplico 时可能会遇到困难,但我鼓励您在 DEFT Linux 8.2 上尝试 Xplico,因为 Xplico 在解码 internet 和网络流量时是非常有用的 GUI 工具。正如我们在本章中所看到和做的那样,Xplico 可以用于 HTTP、VoIP 和电子邮件分析,但也可以执行彩信、DNS、Facebook 和 WhatsApp 聊天分析。我鼓励您尝试从 Xplico 和 Wireshark 示例捕获页面下载和分析更多示例文件,以便更加熟悉使用 Xplico 进行分析和检查。
现在让我们转到另一个一体化调查工具,数字取证框架,也称为DFF。见第 10 章,使用 DFF揭示证据。