我们在涉网犯罪的侦查和取证过程中,时常会遇到系统镜像、服务器镜像等概念,那么,什么是镜像呢?
通俗来说,镜像就像拍照一样,是服务器在某一时间点的磁盘文件的完全拷贝,也就是原模原样的复制。
镜像也可以说是一种文件形式,我们可以把许多文件做成一个镜像文件。比如你的电脑系统中本来有很多文件,现在需要备份,可以将其全部放置到一个镜像文件,然后放在U盘里,在需要使用时还原成原来文件状态。
01
镜像文件是无法直接使用的,可以利用一些虚拟光驱工具进行解压后查看,也可以借助VMware-converter、Proxmox VE对它进行还原,还原之后才可以查看。
我们常见的镜像文件格式存在以下几种(主要例举调证常见文件):
格式 |
释义 |
DD/RAW |
不带任何压缩的二进制存储数据结构,扩展名可能是dd,raw等。 |
VMDK |
VMware Workstation 和 VirtualBox等虚拟机中使用的硬盘文件,该格式最初是由 VMware 为其虚拟设备产品开发的,在VMDK 5.0版发布之后成为一种开放格式,是开放虚拟机格式文件中用于虚拟设备的磁盘格式之一。 当然其他虚拟机软件也支持这种格式,比如QEMU,VirtualBox,Parallels。VMDK的文件签名是 KDMV |
VHD |
最早由Conectix公司发明用于Virtual PC产品,在2013年微软收购了Connectix,这种格式就被微软接受。 VHD的文件签名是conectix。 |
QCOW |
QCOW是QEMU使用的磁盘格式,支持AES-CBC加密,目前已经发展到第三个版本,但只使用qcow和qcow2这两个扩展名。 QCOW因为其延迟分配空间来优化性能而出名,就如名字写的Copy-On-Write。 |
E01 |
隶属于EWF(Expert Witness Compression Format)。E01是EWF中最为知名的一种镜像格式,致力于以压缩的形式存储二进制数据流,其标准也贴心的考虑到了用于存储原始镜像hash的字段。除了E01以外,EWF标准还提供了E01的升级版Ex01,还有用于存储逻辑文件集合的L01格式。 E01文件签名是 EVFx09x0dx0axffx00 |
02
获取镜像文件
02
在打击网络犯罪过程中,执法人员可能通过司法调证、某些技术手段等途径获得服务器的镜像文件;
司法调证
根据调证公司提供的文件为准,不同的公司提供的文件格式可能不一样,比如RAW/QCOW2/VMHD/VHD文件
-
相关公司调证方式可以登录无糖浏览器使用【反诈调证指南】应用搜索,或加入无糖反网络犯罪研究中心私聊【元芳】机器人获取哟。
技术手段
-
远勘 -
现勘:现勘人员现场提取的镜像,固定证据的镜像文件,为保证数据一致性,一般采用DD拷贝,镜像文件大小受嫌疑人的被镜像硬盘的大小决定。
拿到镜像文件之后,通过镜像文件能获取到什么?该怎么还原镜像文件得到有效信息呢?我们一起探索一下吧。
在案件侦办过程中,不法分子如果使用的云数据库等云服务开启了审查,当办案人员利用公网冒然登录连接,被不法分子察觉到,那么他们可能会对线索立刻销毁,这也妨碍我们继续追踪打击,因此最好在无网的情况下进行操作。
03
为了防止系统出现操作失误或系统故障导致数据丢失,从而保证数据的完整性,建议通过只读的方式进行操作,或者先给重要节点进行备份后再尝试操作。
创建虚拟机
还原镜像文件内容前,我们先讲解一下如何导入镜像文件,接下来以Proxmox VE软件为例,软件界面展示如下图:
点击右上角[创建虚拟机],首先创建一个空白虚拟机
-
创建虚拟机的第一步:选择安装的节点,输入虚拟机的名称和ID,VM ID一般默认按顺序排下来
-
第二步:选择镜像来源和虚拟机的类型
-
第三步:选择[默认]即可
-
第四步:配置硬盘类型和大小,存放位置,我们这里选择SCSI接口,放在名称为local-lvm的池里面,容量设置1GB,选择就是SCSI接口,要先装驱动再装系统,若驱动原因选择IDE和SATA安装时可以避免驱动问题。
-
第五步:配置CPU核心数和个数,这个根据需求和实际硬件情况而定
-
第六步:配置内存大小,当然这个不可以超过实际大小,一般是4的倍数
-
第七步:配置网络,选择使用哪个网卡和模式,我们选择VirtlO(半虚拟化)
-
最后一步:完成,确认好前期设置的内容,就可以启动安装了。
虚拟机创建完成后,右侧的数据中心就会出现一个空白的虚拟机配置文件[102 VM(102)],其ID为就为‘102’;
导入镜像文件前,我们首先需要删除1G的硬盘,为导入做准备。
-
选择【硬盘】-分离;
-
点击【是】
-
分离完后,虚拟机
导入镜像
导入镜像
mobaxterm 执行导入命令
通过任意客户端(如putty、xshell、mobaxterm)中ssh连接Proxmox VE的shell环境,
-
启动mobaxterm,点击【会话】-【SSH】-输入远程主机192.68.17.128,指定用户名:root
-
镜像上传
-
导入镜像
执行命令:qm importdisk 102 sample - raw.raw qm importdisk 命令执行后,会列举导入目标位置,选择一个位置,输入新的命令:qm importdisk 102 sample - raw.raw vm-disk
如下图所示:
设置启动项
设置启动项
导入完成后,会在Proxmox VE软件中的虚拟机下出现一个未使用的磁盘;
-
然后设置好启动项,【选项】-【引导顺序】;
-
启动项选择设备[scsi],点击确定;
-
引导顺序变更为[scsi]。
到此,导入镜像文件的所有操作便执行完毕。
启动镜像文件
如下图所示顺序,点击启动后,选择控制台进行后述的操作。
2
修改网站后台密码
修改网站后台密码
centos和linux的关系
-
centos是基于linux建立的操作系统;
-
linux属于内核系统,只有终端命令界面,无图形界面,而centos同时拥有终端命令界面和图形界面; -
linux和centos都是属于开源系统。
SELinux安全策略
-
Linux系统为了避免任何人只要得到root的权限,就可以对整个系统为所欲为的情况,便部署了SELinux安全策略,因而在进行修改密码任务前,可以先关闭SELinux策略
net-tools工具箱
-
net-tools工具箱包括arp, hostname, ifconfig, netstat, rarp, route等命令。
linux常用命令学习
-
Netstat是控制台命令:是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。 -
/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令cat/etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。 -
find :用于在文件树中查找文件,并作出相应的处理。 -
cd命令:进入要目录 cd /
宝塔linux命令
-
启动:/etc/init.d/bt start -
查看当前面板端口:cat /www/server/panel/data/port.pl
-
修改面板密码,如要改成123456:cd /www/server/panel && python tools.py panel 123456
启动系统
启动系统
第一步:启动镜像文件
假设我们拿到一个镜像文件,在不知道他的登录密码的情况下,我们如何去获取密码或修改密码?按照上述操作后,导入镜像,开机启动,以一个centos系统为例,到下方界面的时候,按E键进入自定义启动模式
指定启动环境进入bash,在启动项后面添加:init=/bin/bash,然后Crtl+X 进入环境,
第二步:提权
为确保修改密码生效,执行命令:mount –o remount,rw / 进行提权。
第三步:关闭SELinux策略
执行命令:sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
查看运行的进程服务
如果你对系统环境并不熟悉,也不清楚系统在运行哪些服务,你会如何检查?
查看系统上运行的服务有什么作用?简单来说结合进程名加端口,能基本判断运行的服务。例如:8888 进程名python,能基本判断系统运行了宝塔面板,进一步操作宝塔面版得到相关数据
当系统无法启动时,大概率为UUID的改变,导致无法加载boot分区,修改/etc/fstab改成真实路径来恢复启动。
本次使用的镜像文件为阿里云提供,阿里云特别说明,需要删除/etc/cloud目录,屏蔽cloud-init的对系统启动的影响,因此,需要先打印硬盘分区,修改挂载目录。
第四步:查看磁盘分区:vi/etc/fstab 并执行命令:打印硬盘分区情况 lsblk
第五步:修改挂载目录到 /dev/sda1
执行netstat命令是了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户。一般情况下,执行netstat命令就能查看到对应的服务,操作如下:
第六步:执行查看当前本机监听的端口已经对应的服务:nestat -ntlp
第七步(可跳过):遍历搜索find / -name '*nginx*'
可能获得域名信息、站点信息、网站入口等有效信息,当嫌疑人使用反向代理,可能就获取不到数据。该操作是在行netstat命令未监听到端口的情况下,可执行。前面已经监听到端口为8888,可确定为宝塔面板,此步可跳过。
执行修改密码并登录
第八步:初次访问涉案网站
我们在日常办案过程中,遇到较多的可能是宝塔面板的,接下来我们就以一个宝塔地址为例,宝塔面板管理界面通常是:8888,我们在浏览器里新建网页输入网址:192.168.66.48:8888(该网站现已关闭)
初次访问面板登录地址,没有输入后面的安全入口地址,会弹出一个安全入口校验失败的页面,该页面就有解决的办法,具体如下图所示,复制好命令:/etc/init.d/bt.default
第九步:执行安全命令,获取默认账号密码
通过虚拟机查看面板入口,执行命令:/etc/init.d/bt.degault,便能获取到面板的登录账号和默认密码,复制下面的网址:http://192.168.66.48:8888/335d4174 重新打开登录页面,一般来说,嫌疑人都会修改他的默认登录密码,所以在我们登录之前,也可以先修改密码。
第十步:修改密码
输入命令进入目录:cd/www/sever/panel/
然后重置密码:python tools.py.panel 123456
第十一步:再次访问登录网站
将密码重置为123456后,使用上面获取到的账号tljwaggb,便可进入他的宝塔面板,查看面板操作日志,登录信息等。
本文以一个已有宝塔面板的镜像为视角切入,进入面板后能够可视化的查看镜像内的站点数据、数据库、备份数据、面板登陆IP记录等重要信息。
大部分宝塔涉案的面板的信息基本上都能够在面板内体现,服务器上反而很少信息,如遇到嫌疑人已经操作清理过数据,必要时可结合数据恢复软件(如diskgenius、winhex)进行数据恢复,查看删除的数据内是否有所需信息。
注:本文转载自无糖反网络犯罪研究中心
原文始发于微信公众号(明不可欺):元芳科普 | 如何拿到网站管理后台密码?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论