当前位置: 首页 > 新闻中心 > 技术分享 > 技术分享 | 取证小程序开发之第四届美亚杯FTP日志分析快速解题

技术分享 | 取证小程序开发之第四届美亚杯FTP日志分析快速解题

随着社会信息化技术不断提升,电子介质技术快速升级、种类层出不穷,电子数据取证产品面对的应用种类逐渐增多。当用户遇到取证软件暂时不支持解析的计算机、手机、汽车及物联网等设备的新型应用软件时,我们可以有什么办法快速解析呢?

 

遇到这种情况,美美的办法是用简单易学、灵活扩展的取证小程序来解析,不用等到取证软件新版本更新,通过自己编写取证小程序,就可以快速完成取证工作。

 

一、何为取证小程序?


取证小程序是一种运行于取证软件,利用python脚本对电子数据进行提取和分析的应用;用户可自主编程及分享,无需安装即可使用,是一种用户参与和实现取证能力无限拓展的全新解决方案。

 

除了应用程序数据提取,取证人员还可以利用取证小程序开发常用的取证小工具,扩展取证软件本身的功能;也可以使用提供的数据获取接口,读取已有的取证数据进行分析研判,实现高级分析功能。

 

如此实用方便的取证工具怎么能不大力推广呢?如今美亚柏科为进一步推进取证小程序共享平台的建设,使其成为用户高度参与的应用创新平台,于2019年10月12日起开展为期一个月的电子数据取证小程序大赛。相信有部分小伙伴对取证小程序还不太明白,就让美美通过本文第四届美亚杯中国电子数据取证竞赛中与FTP日志解析相关的部分题目(了解更多:重磅发布 | 官方版第四届“美亚杯”竞赛题目&答案来袭,一起挑战下!)为大家介绍如何使用取证小程序对电子数据进行提取和分析!题目答案解析请在文章末尾了解哟!


1572831550117960.png

1572831565857315.png

1572831582996270.png

第四届“美亚杯”中国电子数据取证竞赛题目(部分)



二、取证小程序快速编写技巧


1. 熟悉取证小程序框架


新建小程序应用解析之后,小程序功能会自动生成一部分代码,这部分代码就是小程序的框架。框架分为3大函数模块,内容大致包括:


(1) 定义取证小程序的表结构


1572831607148861.png

(2) 判断是否为待解析的文件


1572831626421615.png

(3) 自定义解析规则函数

1572831654682437.png


在这些模块添加相应代码后取证小程序会自动处理并执行。


2. 编写取证小程序应用


2.1 准备数据

首先准备待解析数据。我们在第四届美亚杯团体赛证据文件中找到需要解析的FTP日志文件路径“c2server.E01\分区1[hda0]\var\log\pure-ftpd\transfer.log”。


2.2 数据格式分析

从待解析的文件数据中分析出想要获取的文件信息包括:IP、用户、时间、命令、描述、状态、大小(字节)


1572831690420228.png

2.3 编写取证小程序

下面开始依次实现3个模块的编写。


2.3.1 定义取证小程序的表结构

根据模块1示例依次填充自定义取证小程序名、数据库表名、数据库存储字段名等信息。填充时注意字段名默认编写英文、描述信息编写中文。


1572831716980206.png

2.3.2 判断是否为待解析的文件

根据待解析文件的父目录文件名“pure-ftpd”和待解析文件名“transfer.log”判断是否是待解析文件。


1572831748928763.png

2.3.3 自定义解析规则函数

上面两个模块已经定义好取证小程序的表结构以及过滤出待解析的文件。最后一个模块就是自定义的解析规则。


(1) 解析连接记录并入库

遍历文件的每一行内容,分割成需要的数据,并将解析出的数据存进字典中。


1572831772837249.png


(2) 创建FTP日志解析节点下的FTP日志信息索引节点,用于数据展示,调用解析连接记录模块解析数据。


1572832610225130.png


如上图,第一行指向的就是取证小程序的根节点,显示名称是PluginCfg中配置的词条 ,根节点id是FmPlugin函数“get_tree_root_node_id”取到的数据。


1572831803360105.png


上面展示了以“FTP 日志解析”根节点为父节点,创建了一个"FTP日志信息"的子节点。并且关联到数据库表

"EXAMPLE_TEAMVIEWER_CONNECT_LOG"(在PluginCfg中配置的),因此,该节点展示的是该数据库表的存储信息。


2.4取证大师取证结果

取证大师取证结果,主要指的是取证结果展示的树型结构,在前面我们编写的取证小程序教程中已经使用到,这里介绍编写好代码后怎么解析出数据并完成题目。


三、答案解析


第五题的服务账号即字段“用户”的值。


1572831861980535.png


第九题简单排序下描述信息,很快就能确认网络摄录镜头的配置文件cam_config_backup.bin的上传时间。


1572831878861506.png

第十题按命令排序,获取PUT命令的IP可以找到答案。


 1572831891664785.png


这样,仅仅需要写几十行的代码,我们就完成了取证小程序FTP日志解析,通过简单的排序就能更快速的得到答案。

 

未来取证小程序将会持续扩展新接口,以便用户能快速实现完全自定义的取证功能和取证流程。也欢迎广大用户踊跃报名参与首届电子数据取证小程序大赛报名啦!首届电子数据取证小程序大赛火热开启,等你来参加!),共同参与取证知识创新,建设取证小程序生态圈,为营造良好的取证技术生态赋能。