pcat
http://www.porcupine.org/forensics/tct How to build: $tar zxvf tct-1.14.tgz; make CC="gcc -static" How to verify: file pcat or ldd pcat
5
Hunter.o
http://www.phrack.org/phrack/61/p61-0x03_Linenoise.txt To make the module more "independent" we have to delete the following lines from the source code: #ifdef CONFIG_MODVERSIONS #define MODVERSIONS #include <linux/modversions.h> #endif We can load this module to other kernels by removing the MODVERSIONS. How to build: $ gcc -c hunter.c -I/usr/src/linux/include/
6
insmod
http://www.kernel.org/pub/linux/utils/kernel/modutils/for kernel 2.4 How to build: $./configure-enable-insmod_static; make How to verify: file insmod.static or ldd insmod.static
7
NetstatArproute
http://freshmeat.net/projects/net-tools/ How to build: $bzip2 -d net-tools-1.60.tar.bz2; tar xvf net-tools-1.60.tar.bz2; make config; make CC="gcc -static" How to verify: file netstat arp route or ldd netstat arp route
8
dmesg
http://ftp.cwi.nl/aeb/util-linux/util-linux-2.12.tar.gz How to build: $./configure; make CC="gcc -static" How to verify: file dmesg or ldd dmesg
当我们已经成功地配置好了以上的工具,我们要将他们复制到可移动设备上(比如可读写光盘(CD-RW)).
2.3从联机系统上收集数据---逐步过程
下一个必要的条件也是很重要的条件是我们要以适当的顺序来开始收集数据.要从最不可靠的到最可靠的顺序进行.我们必须紧记这一点.
第一步:截取非安全系统的屏幕图象
这是一种屏幕拍摄,当然我们得用数码相机进行这个操作.这是一个很简单的步骤.
在我们进行第二步之前,先挂载我们的可移动存储设备(当然利用mount命令),让我们在考虑一下第二步会对非安全系统有什么影响.我们的活动会有什么作用呢?此时,让我们先忽略它给我们的非安全系统的内存带来的影响.
很清楚我们既然要挂载额外的设备到非安全系统中,我们就必须使用非被信任的mount命令去完成这个操作.当我们使用不信任的系统命令时这种状况肯定会发生.如果所以的操作都依照我们的计划的话,我们将使用已经挂载的设备上的可信任的工具来执行我们余下的命令.
我们同样需要通过检查来查看我们的mount命令给我们的系统带来了什么影响.我已经在一台计算机上完成了一些研究,表2列出了相应的被改变的文件和目录
# strace /bin/mount /mnt/cdrom
表 2: mount命令访问的文件列表
File
Modified Meta-data by the mount command
/etc/ld.so.cache
atime
/lib/tls/libc.so.6
atime
/usr/lib/locale/locale-archive
atime
/etc/fstab
atime
/etc/mtab*
atime, mtime, ctime
/dev/cdrom
atime
/bin/mount
atime
*We can avoid access to this file by using a "-n" switch.
我们可以想象一种情况如果当一个入侵者修改了mount命令.当我们要运行这个命令时,另一个特殊的可以将所有入侵痕迹删除的进程被初始化,并且以此来阻止系统加载设备.这种进程被称为”deadman switch”.但是在这里我们假设这种情况不存在,我们回到我们数据收集的过程中.
我建议我们去检查每个将被纳入我们的工具包的命令.这些命令将被用于我们稍后的数据收集.
我们还得停下来思考一下在mount进程中将面对的问题:
○当将媒体装如驱动器中后,卷管理器将自动加载媒.此时,那些文件和目录将被修改呢?
我们将这些文件列在表1中.
○假设一个未知媒体被正确地加载到非安全系统上.则第一个任务就是如果将此媒体卸载,那么我们怎么保证我们能安全地卸载它了.我建议两种情况.我们可以用非信任卸载命令或者将可信任卸载命令(静态连接)拷贝到软盘上.下一步,我们用非信任加载命令加载软盘然后运行可信任卸载命令.这个操作很简单但很有用.我们只是用了一个非信任卸载命令.
○管理者被注销或者更严重管理者密码被入侵者改变.当管理者被注销的话我们就必须重新进入系统.那么当我们在进入系统时那么文件被访问和修改了?多少附加的进程被建立了?如果管理者密码被改变了那么系统上的其他帐户是什么呢?在不访问shell的情况下有那些不可靠的数据被收集呢?开放的TCP/UDP端口了,当前连接,其他呢?
第二步:媒体加载
让我们继续,来加载媒体,此时我们的工具存储在CD-ROM上
# mount -n /mnt/cdrom
如果上面的加载成功的话我们就可以开始我们最重要的数据收集阶段.请紧记,所有用可信任命令得到的结果都必须被送到远程主机上.我使用netcat工具和管道方法去实现此操作.为了更好的区分那个任务在那个主机上完成的.所有在非安全系统上运行的命令将被一个字节标识,同样运行在远程主机上的命令也被一个字节来标识.参看下面的例子.
为了传送非安全系统的实际 上一页 [1] [2] [3] 下一页 [MySql]联机的Linux的系统分析(第二部分)(第一版)
|