forensics - make virtual machine with E01[ewf] files on OSX ———— 电子取证 MAC OS平台仿真

2023-05-16

forensics - make virtual machine with E01[ewf] files on OSX

  • 电子取证 MAC OS平台仿真
  • 1挂载
    • 库安装
      • osxfuse
      • libewf
  • 2 虚拟机存储文件
    • qemu
  • 3 开始实验&&虚拟机导入

电子取证 MAC OS平台仿真

浏览了很多网站,基于OSX平台上的电子取证 工具很少,仿真实验室又不支持虚拟机,于是决定自己找办法,在OSX上直接仿真。主要百度,必应还有那个啥都找了,没有资料🤨

1挂载

自己是catalina(10.15)
Darwin XXX.local 19.6.0 Darwin Kernel Version 19.6.0: Thu Sep 16 20:58:47 PDT 2021; root:xnu-6153.141.40.1~1/RELEASE_X86_64 x86_64

首先我们来看一下挂载命令都有哪些

mount
diskutil mount
hdiutil mount

这些挂载命令在对linux文件系统执行时也会有较大的差异,平时也需要注意
等会需要用到 diskutil,这是一个系统自带的工具,比磁盘管理用处稍大

库安装

环境搭建到现在我好像安了挺多东西了,我会尽可能的列出来,还有没有的命令大家可以自己github一下或着评论留言

osxfuse

这是为libewf库做的基础
要注意不是 MacFuse 这两者也是存在区别的
https://github.com/osxfuse/osxfuse/releases/download/osxfuse-3.10.0/osxfuse-3.10.0.dmg

libewf

毫无疑问这是我迄今为止装的最久的库了,让我想到了在自带的python2下安装pwntools

建议大家下载旧一点点的libewf,我安装实验版还有最新的稳定版都存在错误
首先安装mac port 官网
https://www.macports.org/install.php
不同系统版本对应不同软件版本的像我Catalina是
https://github.com/macports/macports-base/releases/download/v2.7.1/MacPorts-2.7.1-10.15-Catalina.pkg
然后借用mac port安装一些能自动安装的环境

sudo port install git autoconf automake gettext libtool pkgconfig flex byacc

下载libewf工具
https://github.com/libyal/libewf-legacy/releases/download/20140811/libewf-20140811.tar.gz
解压后cd 进入目录然后输入三个命令进行安装

# dsa @ '(^-^)' in ~ [23:26:10] C:127
$ cd /Users/dsa/Downloads/libewf-20140811

# dsa @ '(^-^)' in ~/Downloads/libewf-20140811 [23:37:16]
$ ./configure --prefix=/usr/local --enable-python --with-pyprefix

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
...
...
...
Features:
   Multi-threading support:                  pthread
   Wide character type support:              no
   Write support:                            yes
   ewftools are build as static executables: no
   Python (pyewf) support:                   3.7
   Verbose output:                           no
   Debug output:                             no
   Version 1 API compatibility:              no


# dsa @ '(^-^)' in ~/Downloads/libewf-20140811 [23:39:29]
$ make

...
...
...
Making all in msvscpp
make[1]: Nothing to be done for `all'.
make[1]: Nothing to be done for `all-am'.

# dsa @ '(^-^)' in ~/Downloads/libewf-20140811 [23:42:19]
$ make install DESTDIR=/

然后就可以使用libewf库了

在这里插入图片描述

2 虚拟机存储文件

我自己尝试过很多命令,试图直接实现windows下那样FTK Imager挂载后直接通过虚拟机访问磁盘来实现仿真,但是mac下好像挂载时没有办法挂载成物理磁盘,会被PD检测报错,VM就直接不报错了,直接输出帮助内容

qemu

于是我决定用挂载出的raw文件创建一个虚拟磁盘
这就用到了qemu-img
这是一个很强大的虚拟磁盘管理工具大家可以参考下面这篇文章来了解
https://blog.csdn.net/u012324798/article/details/109705017

我尝试过 PD VM自己的创建虚拟磁盘的方法,当然这些都是挂载物理磁盘时读取做虚拟机系统的

/Applications/Parallels\ Desktop.app/Contents/MacOS/prl_disk_tool create -p --hdd ~/10.hdd --ext-disk-path /dev/disk2

/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator creat /dev/disk2 “fullDevice” /Users/dsa/Parallels/CentOS\ Linux.pvm\ssk “ide”

大家有兴趣可以深入研究,在需要挂载多个磁盘时也能够提供参考

3 开始实验&&虚拟机导入

这一部分需要图片辅助,我们也就从这里开始实际操作吧

# dsa @ '(^-^)' in ~ [12:08:51]
$ diskutil list                  
                                该命令只用做查看系统挂载镜像,可以不做
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         899.0 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                100.6 GB   disk0s3
   4:           Windows Recovery                         610.3 MB   disk0s4

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +899.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            11.4 GB    disk1s1
   2:                APFS Volume Macintosh HD - Data     699.4 GB   disk1s2
   3:                APFS Volume Preboot                 83.6 MB    disk1s3
   4:                APFS Volume Recovery                529.0 MB   disk1s4
   5:                APFS Volume VM                      3.2 GB     disk1s5


# dsa @ '(^-^)' in ~ [12:09:06]
$ mkdir ~/tmp/mpoint

# dsa @ '(^-^)' in ~ [12:11:48]    //挂载E01文件到挂载点
$ ewfmount -X volicon=/Library/Filesystems/osxfuse.fs/Contents/Resources/Volume.icns  /Users/dsa/Downloads/检材4.E01 ~/tmp/mpoint
ewfmount 20140811


# dsa @ '(^-^)' in ~ [12:13:34]
$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         899.0 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                100.6 GB   disk0s3
   4:           Windows Recovery                         610.3 MB   disk0s4

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +899.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            11.4 GB    disk1s1
   2:                APFS Volume Macintosh HD - Data     699.4 GB   disk1s2
   3:                APFS Volume Preboot                 83.6 MB    disk1s3
   4:                APFS Volume Recovery                529.0 MB   disk1s4
   5:                APFS Volume VM                      3.2 GB     disk1s5


# dsa @ '(^-^)' in ~ [12:14:13]    上一步可以看到还没有检测出来,还需要下一步挂载到系统
$ hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount ~/tmp/mpoint/ewf1
/dev/disk2          	FDisk_partition_scheme
/dev/disk2s1        	Linux
/dev/disk2s2        	Linux_LVM

# dsa @ '(^-^)' in ~ [12:14:42]
$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         899.0 GB   disk0s2
   3:       Microsoft Basic Data BOOTCAMP                100.6 GB   disk0s3
   4:           Windows Recovery                         610.3 MB   disk0s4

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +899.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            11.4 GB    disk1s1
   2:                APFS Volume Macintosh HD - Data     699.4 GB   disk1s2
   3:                APFS Volume Preboot                 83.6 MB    disk1s3
   4:                APFS Volume Recovery                529.0 MB   disk1s4
   5:                APFS Volume VM                      3.2 GB     disk1s5

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        +21.5 GB    disk2
   1:                      Linux                         1.1 GB     disk2s1
   2:                  Linux_LVM                         20.4 GB    disk2s2

挂载完毕后使用下条命令制作vmdk虚拟磁盘 路径不能省略,不能用 sudo
# dsa @ '(^-^)' in ~ [12:14:44]
$ /usr/local/Cellar/qemu/6.1.0_1/bin/qemu-img convert -O vmdk ~/tmp/mpoint/ewf1 /Users/dsa/Virtual\ Machines.localized/mpoint.vmwarevm/检材.vmdk

到这里我们就成功建立vmdk文件了,然后可以开始启动虚拟机了,像这里我是创建在了已有的文件夹里,导入然后更改启动项就好了在这里插入图片描述

在这里插入图片描述
也可以创建在外面,然后新建虚拟机,注意固件选项需要是BIOS启动的,然后选中磁盘后VM会自动复制到新建虚拟机上(如果导入时为共享磁盘的话,需要文件在虚拟机目录下才能启动)

git了一周,好累😌转载记得说明哈

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

forensics - make virtual machine with E01[ewf] files on OSX ———— 电子取证 MAC OS平台仿真 的相关文章

随机推荐

  • vue+axios上传文件的几种方式及步骤(以上传图片为例)

    1 用js的formData对象上传 xff08 服务器返回url地址 xff09 lt input class 61 34 file 34 name 61 34 file 34 type 61 34 file 34 accept 61 3
  • 解决浏览器缩放时导致的页面布局的变化

    现象 xff1a 正常展示 xff1a 缩放展示 xff1a 原因 xff1a 在网页中 xff0c 如果一个元素没有设置最小宽度 min width xff0c 这时当浏览器缩小到一定程度时 xff0c 元素中的布局可能会发生变化 缩放实
  • 机器学习各大算法简单介绍

    这两天把机器学习的一些基础算法的 简单介绍 整理了一下 xff0c 分别都有概念 xff08 基本思想 xff09 优点 缺点 基本上都是在网络上各个文章里摘录的 xff0c 所以内容也不算我原创 xff0c 但是我把它们筛选整理在了一起
  • Github for windows 使用教程(二)

    转载请注明出处 GitHub for windows使用教程 xff08 二 xff09 分支的使用 创建分支 我们创建第一个分支取名为 new masterh 点击Create new branch创建第一个分支 我们发现此时的分支已经切
  • 「leetcode」C++题解:239. 滑动窗口最大值,单调队列的经典题目

    更多精彩文章持续更新 xff0c 微信搜索 代码随想录 第一时间围观 xff0c 本文https github com youngyangyang04 TechCPP 已经收录 xff0c 里面有更多干货等着你 xff0c 欢迎Star x
  • BAT程序员总结的力扣刷题指南,已经在Github了!!刷题顺序,优质题解一网打尽!

    相信很多小伙伴刷题的时候面对力扣上近两千道题目 xff0c 感觉无从下手 xff01 我花费半年时间整理了Github学习项目 力扣刷题攻略 xff1a https github com youngyangyang04 leetcode m
  • 扩展卡尔曼滤波EKF与多传感器融合

    Extended Kalman Filter xff08 扩展卡尔曼滤波 xff09 是卡尔曼滤波的非线性版本 在状态转移方程确定的情况下 xff0c EKF已经成为了非线性系统状态估计的事实标准 本文将简要介绍EKF xff0c 并介绍其
  • 我把年终总结写成了年度回忆录(1)

    写在前面 这大概是我第一次正儿八经的写个年终总结 xff0c 其实 xff0c 更像是一篇很有意思的回忆录 去年元旦的情景我已经记不起来了 但这一年里 xff0c 却是有很多事情让我难以忘记 从去年寒假自己在出租屋里苦学的时光 xff0c
  • .mat文件后缀名消失

    情况说明 xff1a 下载了 mat文件后 xff0c 打开文件发现文件的后缀名缺失了 xff0c 并且文件类型变为Microsoft Access Table Shortcut类型 具体原因 xff1a 这是由于MATLAB和Access
  • lsusb命令

    在 Linux 中我们可以使用 lsusb 来列出 USB 设备和它的属性 xff0c lsusb 会显示驱动和内部连接到你系统的设备 直接在控制台输入 lsusb 即可 如果无法运行 lsusb xff0c 使用以下命令安装 xff08
  • 现代控制理论基础——卡尔曼滤波(kalman filtering)

    现代控制理论基础 卡尔曼滤波 xff08 kalman filtering xff09 什么是卡尔曼滤波 xff1f 在任何含有不确定信息的动态系统中使用卡尔曼滤波 xff0c 对系统下一步的走向做出有根据的预测 xff0c 对系统状态进行
  • C/C++中的'\0'

    在C C 43 43 语言中 xff0c 字符是按其所对应的ASCII码来存储的 xff0c 一个字符占一个字节 xff0c 而 0 就是ASCII码表中的第一个字符 xff0c ASCII码为00000000 xff0c 它被称为空字符
  • OpenCV 创建图像时,CV_8UC1,CV_32FC3,CV_32S等参数的含义

    形式 xff1a CV lt bit depth gt S U F C lt number of channels gt bit depth xff1a 比特数 代表8bite 16bites 32bites 64bites 举个例子吧 比
  • 解决apt-get update更新错误

    sudo apt get update出现解析错误 xff0c 如下 fkuner 64 data3 span class token function sudo span span class token function apt get
  • C++初阶:vector类

    vector 0 vector的介绍 vector是用数组实现的 可变长度的顺序容器 xff0c 本质是一种类模板 span class token keyword template span span class token operat
  • Git之分支创建策略

    分支类型 git上始终保持两个分支 xff0c master分支 develop分支 master分支主要用于发布时使用 xff0c 而develop分支主要用于开发使用 除了以上两个常驻分支外 xff0c 我们还可以适当分支出三种分支 x
  • ubuntu 设置pip源

    前言 在Ubuntu下我们一般使用pip工具去管理我们的Python包 但是在使用pip命令操作的时候一般都是使用的默认设置 xff0c 使用的是国外的镜像 xff0c 这就导致了我们在国内下载安装包的时候很慢 xff08 乌龟慢慢爬 xf
  • 27.串口通信实验源码讲解

    串口通信实验源码讲解 笔记基于正点原子官方视频 视频连接https www bilibili com video BV1Wx411d7wT p 61 71 amp spm id from 61 333 1007 top right bar
  • 国内快速下载keil的pack文件包

    问题 xff1a 国内keil官网下载pack文件包太慢 xff0c 网上很多网盘资源如果没有VIP也是很慢 解决方案 xff1a https www keil com dd2 pack 第一步 xff1a 首先去上面的keil官网找自己需
  • forensics - make virtual machine with E01[ewf] files on OSX ———— 电子取证 MAC OS平台仿真

    forensics make virtual machine with E01 ewf files on OSX 电子取证 MAC OS平台仿真1挂载库安装osxfuselibewf 2 虚拟机存储文件qemu 3 开始实验 amp amp