0x03 搭建取证工作站
3.1 TSK和Autopsy Forensics Browaer
3.1.1 TSK
TSK是一款免费的取证工具集合,是基于linux开发的对系统文件及存储介质进行取证分析的套件;
官网地址:https://www.sleuthkit.org
TSK可以通过包管理进行安装,也可以通过编译源代码打包程序;
Autopsy是TSK的图形化前端;
TSK 提供大量有实用程序,能够解析各种类型的文件系统,包括Ext2、Ext3、Ext4、HFS、ISO 9660、UFS½、YAFFS2、FAT/ExFAT、NTFS等;还可以在磁盘镜像中分析以DD格式、AFF格式、Expert Witness格式存储的原始图像;
TSK采用分层的方法来处理电子数据,可以使用TSK的命令行也可以使用Autopsy图形版本操作;
可以把取证图像分为四个层次:
1.文件系统层
可使用TSK工具的文件名前缀是“fs”
2.内容/数据层
数据存储在分片中,根据数据的存储方式不同,分片又被称为块、片段或族;
内容/数据层 包含文件和目录(可以使用一些恢复工具对其恢复获取更多数据)
可使用TSK工具的文件名前缀是“blk”,早期版本的文件名的前缀“d”
工具主要用于搜索及恢复数据;
3.元数据/索引
存储描述性信息,包括:各种文件系统、平台的索引节点和结构或表项
具体:FAT的目录、NTFS和MFT表项、Ext和UFS的索引节点;
本层可以获取到时间戳、地址、容量大小等数据信息;
可以使用TSJ工具的文件名前缀是“i”
4.文件层
也可以说是人机界面层,文件层可以实现用户和文件之间的交互;
文件名称包含对应元数据的结构的的名称,可通过文件名进行数据采集;
但只靠文件名和目录结构是无法展示文件内容的;
文件层的各种工具可用于对一个卷的数据进行分类;
3.1.2 TSK工具集中的工具
工具类别 |
工具名称 |
具体描述 |
文件系统层 |
fsstat |
用于显示与文件系统相关的所有详细信息 |
文件名称 |
ffind |
用于查找指向特定元数据结构的未分配空间和已分配空间的文件名 |
fls |
用于列出目录中的文件名,包括已删除文件 |
|
元数据层 |
icat |
用于从文件中提取数据单元(根据元数据地址而不是文件名) |
ifind |
用于查找指定文件名或其他元数据结构指向的元数据结构 |
|
ils |
用于列出元数据结构及其内容 |
|
istat |
用于显示统计信息,尤其是有关原数据结构的统计 |
|
数据单元层 |
blkcat |
用于提取并显示指定数据单元的内容 |
blkls |
用于列出有关数据单元的详细信息,可以显示已分配或未分配数据单元的详细信息 |
|
blkstats |
用于显示指定数据结构的统计信息 |
|
blkcalc |
用于计算原始镜像中未分配空间的数据 |
|
文件系统日志层 |
jcat |
用于显示日志块的信息 |
jls |
用于列出文件系统日志的表项 |
|
卷系统层 |
mmls |
用于显示磁盘布局和组织架构 |
mmstat |
用于显示卷信息的信息 |
|
mmcat |
用于提取分区的内容 |
|
镜像文件层 |
img_stat |
用于显示镜像文件的详细信息,手机分段镜像文件的大小和字节范围 |
img_cat |
用于输出镜像文件的内容,显示镜像文件的原始内容 |
|
磁盘工具层 |
disk_sreset |
用于删除镜像中的HPA区域 |
disk_stcat |
用于显示镜像中是否存在HPA区域 |
|
自动化工具 |
tsk_comparedir |
用于比较本地目录与镜像或原始设备中的数据; 可用于检测是否存在rootkit在本地目录层下隐藏了文件; TSK可以解析原始设备中的内容; |
tsk_gettimes |
用于提取创建时间线分析所需的MAC时间的元数据 |
|
tsk_loaddb |
用于将卷、镜像和文件元数据等保存到sqllite数据库中,可用非TSK工具打开数据库进行分析 |
|
tsk_recover |
用于从镜像中提取为分配空间和已分配空间的文件,文件可保存到本地目录 |
|
其他工具 |
hfind |
用于使用二进排序算法,计算哈希并进行哈希数据库对比; 哈希工具为md5sum; |
mactime |
用于为一个文件的活动创建时间线 |
|
sorter |
用于为一个文件类型对文件进行排序,执行扩展名检查和哈希库查询; 可以帮助检查文件扩展名是否更改为机密文件; |
|
sigfind |
用于查找指定数据集中的二进制文件签名 |
3.1.3 kali中的取证工具
1.取证分割工具集magicrescue 基于特征码文件恢复工具,该工具直接从磁盘中读取原始数据,搜索特征码。一旦找到已知类型的特征码,就根据渗透测试人员提供的提取策略调用第三方工具提取数据,并进行保存。为了方便对提取的数据整理,该工具还提供去重功能和分类保存功能。scalpel 扫描整个镜像文件,根据配置文件寻找相关文件类型的文件头和文件尾,正常找到后将这段内容雕刻出来;当找到了文件的头部,但是在它附近没有找到文件尾标志的时候,scalpel提供两种处理方式,一是放弃对该文件的雕刻,二是根据自定义的各类文件的最大长度进行雕刻scrounge-ntfs 该工具可以从受损的NTFS分区中恢复数据。在恢复之前,用户需要了解目标磁盘的基本信息,如簇大小。为了方便获取信息,该工具也提供辅助选项,用于搜索和显示分区信息。
2.取证镜像工具集guymager 该工具采用图形界面化方式,提供磁盘镜像和磁盘克隆功能。它不仅生成dd的镜像,还能生成EWF和AFF镜像。在生成过程中,渗透测试人员不仅可以采用两次读操作验证数据的正确性,还可以对镜像文件进行额外的校验。由于采用多线和多处理机技术,该工具可以极大提升读取和压缩速度。
3.数字取证套件autopsy 是数字取证工具-TheSleuthKit(TSK)的图形界面,一个用来分析磁盘映像和恢复文件的开源取证工具。提供在磁盘映像中进行字符串提取,恢复文件,时间轴分析,chrome,firefox等浏览历史分析,关键字搜索和邮件分析等功能blkcalc 地址转化工具blkcat 数据单元显示工具blkls 提取数据单元工具blkstat 数据单元详情显示工具ffind 查找文件工具fls 文件目录遍历工具fsstat 显示文件系统信息工具hfind 文件哈希查询工具Icat-sleuthkit 提取节点文件工具ifind 提取元数据工具Img_cat 是一个shell脚本,与iTerm2结合起来使用,可以直接在终端查看服务器上的图片。不过仅限于在iTerm2上使用Img_stat 镜像文件信息显示工具istat 显示节点元数据工具jcat 日志文件系统块查看工具jls 日志文件系统内容查看工具mmcat 提取分区工具mmls 分区表查看工具mmstat 卷系统信息显示工具sigfind 二进制特征信息查找工具sorter 文件类型筛选工具Tsk_comparedir 目录内容比较工具Tsk_gettimes 文件操作时间提取工具Tsk_loaddb 提取元数据工具Tsk_recover 恢复
4.PDF取证工具集pdfid PDF文档扫描工具pdf-parser PDF文档快速审计工具peepdf PDF综合审计工具
5.数字取证推荐工具autopsy 是数字取证工具-TheSleuthKit(TSK)的图形界面,一个用来分析磁盘映像和恢复文件的开源取证工具。提供在磁盘映像中进行字符串提取,恢复文件,时间轴分析,chrome,firefox等浏览历史分析,关键字搜索和邮件分析等功能binwalk 固件分析工具Bulk_extractor 信息批量提取工具hashdeep 该工具可以批量计算文件的哈希值,并和哈希值列表进行比对。该工具支持多种哈希算法,可以避免哈希碰撞问题。为了满足不同任务的需要,hashdeep提供多种检查模式,如审计模式、正向模式、反向模式。同时,该工具支持大小写不敏感和UTF编码
3.2 虚拟化基础
3.2.1 简介
虚拟化是一种技术,是一种可以将物理资源转变为灵活使用的资源的技术。使用虚拟化技术,我们可以在一台物理服务器上模拟出多个独立的服务器来通常,应用程序需要安装在操作系统上,而一台物理服务器只能同时 运行一个操作系统,使用了虚拟化以后,这些模拟出来的每个服务器都可以有自己独立的操作系统。这样,相当于在一台服务器服务器上同时可以运行多个操作系统了。器上模拟出多个独立的服务器来。
虚拟化技术的核心——Hypervisor(虚拟机监视器),也可以被称为 VMM(Virtual Machine Manager)
在一个 Host Machine 之上可以建立并运行多个 Guest Machine。
本文在此不做过多介绍,可以在参考参考资料中进行深入学习和理解;
3.2.2 为什么虚拟化
第一,降低能耗,节约空间,节约成本;
第二,提高使用灵活性,实现动态的资源部署和重配置,满足不断变化的业务需求;
第三,提高安全性,主要是因为虚拟可实现较简单的共享机制无法实现的隔离和划分,这些特性可实现对数据和服务进行可控和安全的访问;
第四,虚拟可在不影响用户的情况下对物理资源进行删除、计算机虚拟化技术升级或改变;
第五,有更高的可扩展性,虚拟化技术能根据不同的产品、资源分区和汇聚可支持实现比个体物理资源小得多或大得多的虚拟资源,这意味着用户可以在不改变物理资源配置的情况下进行规模调整;
第六,互操作性和投资保护,主要在于虚拟资源可提供底层物理资源无法提供的与各种接口和协议的兼容性;
第七,改进资源供应,与个体物理资源单位相比,虚拟化技术能够以更小的单位进行资源分配。
与物理资源相比,虚拟资源因其不存在硬件和操作系统方面的问题而能够在出现崩溃后更快地恢复。
总而言之可以节省空间,可以单独对每一个虚拟化的机器进行单独的控制,不会对主机产生影响,就比如虚拟机,可以对虚拟机进行快照,返回上一个等;
3.3 使用kali建立取证环境
3.3.1 工具下载
下载VMware:
官网:https://www.vmware.com/cn.html
如需安装包提供请后台联系;
下载kali:
官网:https://www.kali.org/get-kali/#kali-mobile
如需虚拟机提供请后台联系;
3.3.2 配置ssh连接
1.打开shh配置文件
vim /etc/ssh/sshd_config
2.修改配置文件
将配置文件的第32行、37行的注释取消
3.重启ssh服务
sudo /etc/init.d/ssh restart
4.查看服务情况
sudo systemctl status ssh
5.配置开机自启
sudo systemctl enable ssh
6.查看ip并进行连接
3.3.3 TSK版本查看
使用mmls -V查看TSK版本
3.3.4 配置共享文件夹
配置共享文件位置
安装open-vm-tools
sudo apt install open-vm-tools
更改配置文件
vim /etc/fstab .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
必须重启
reboot
kali中共享的文件夹位置
cd /mnt/hgfs
参考资料:
工具参考资料:
https://www.jb51.cc/qiyeyingyong/1179219.html
https://www.173it.cn/wangluojishu/414567.html
https://blog.csdn.net/weixin_44024324/article/details/105967731
虚拟化参考资料:
https://www.cnblogs.com/born2run/p/16634448.html