通过 SSH 克隆整个操作系统

通过 SSH 克隆整个操作系统

我有一台 CENTOS 服务器,最近被入侵了。不过,我曾经和一位教授计算机安全专业的教授交情甚笃,我想让这位教授有机会查看旧文件,看看发生了什么。我有存储空间,有没有办法让 CENTOS 服务器在我将其克隆之前完全克隆自己?

答案1

您可能用“克隆”一词误导了一些读者。通常,克隆系统是为了生成一个完全相同的正在运行的系统。如果您拥有完全相同的硬件,那么这可以非常成功地完成,因为我很久以前就用克隆管理了 40 台远程服务器。如果您没有完全相同的硬件,那么您可能会面临一些挑战,无法让克隆运行,尽管这比使用 MS OS 运行要容易得多。

如果硬件相似(即 x86 cpu 或 64 位和 sata 驱动器顺序相同),那么您可能能够将文件从一个盒子 cpio 到另一个盒子上新格式化的文件系统中。

您需要在 Live CD 或类似设备上运行目标并运行如下命令:

在源计算机上:

cd /rootoforig
find . -depth | cpio -o | nc -w 3 1234

在目标计算机上:

nc -l -p 1234 | cpio -imduv

如果担心带宽,可以在管道中间插入压缩。nc 是 NetCat

这将逐字复制您的文件系统,具有重复的所有权/权限/时间,这对于诊断漏洞至关重要。

此数据传输未加密,因此运行速度会更快。

您现在应该有一个文件系统的副本(比“克隆”更好的术语)

如果一切顺利,您应该能够运行 grub 命令来配置启动。我已经使用过很多次了,尽管我在本地安装了第二个磁盘并使用了略有不同的命令:

cd /rootoforig
find . -depth | cpio -pmduv /mnt/destinationfs

-depth 告诉 find 在文件夹之前发送文件夹中的文件,这允许正确设置文件夹的访问时间/所有权。

使用 rsync 可以获得类似的结果。对我来说,当我第一次开始做这件事时,rsync 还不存在。

最后,如果你真的想克隆系统,然后您可以运行类似以下命令:

# on the server w/ ip 12.3.4:
nc -l 12345 | gzip -d | dd bs=16M of=computer-dd-image.img

# on the source/client:
dd bs=16M if=/dev/sda | gzip -c | nc 1.2.3.4 12345

当然,Netcat 是未加密的,更改块大小并添加 gzip 压缩应该会提高网络上的传输速度。您也可以通过 ssh 这样做,但速度会受到影响:

dd if=/dev/sda | ssh [email protected] dd of=computer-dd-image.img

这使得能够通过以下软件进行取证分析尸检和手术刀或者包住

答案2

当然:

 scp -prv  root@compromised:/ /mount/point

/mount/point 是镜像的挂载点。选项包括:-r递归复制指定目录内的所有内容,沿着树的所有分支向下复制;-p保存修改时间、访问时间和模式,以及-v详细模式,这对于任务的大小来说可能很有用。

你也可以这样做瑞恩克, 当然。

相关内容