千家信息网

UNIX/Linux系统取证之信息采集案例

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,UNIX/Linux系统取证之信息采集案例在UNIX/Linux系统取证中,及时收集硬盘的信息至关重要,《Unix/Linux网络日志分析与流量监控》一书中,将详细讨论各种常见系统进程系统调用及镜像文
千家信息网最后更新 2026年11月01日UNIX/Linux系统取证之信息采集案例

UNIX/Linux系统取证之信息采集案例


在UNIX/Linux系统取证中,及时收集硬盘的信息至关重要,《Unix/Linux网络日志分析与流量监控》一书中,将详细讨论各种常见系统进程系统调用及镜像文件获取方法。下面简单举几个例子。

1.收集正在运行的进程

在UNIX/Linux取证时很多系统和网络信息是短时存在的可谓是转瞬即逝,如何准确的捕捉到哪些蛛丝马迹呢?网络安全人员需要具有敏锐的观察力和丰富的经验下面例举几个常用的方法。

首先,在收集主机上启动一个监听进程:

#nc -l -p 10005 >ps_lsof_log

执行完这条命令后回车,系统打开10005端口等待接受,然后在被调查的另一主机上运行相应的ps 调用:

#(ps aux; ps-auxeww; lsof)|nc 192.168.150.100 10005 -w 3

几秒钟后回到命令行提示符,需要注意的是这两条命令成对出现,发送完数据后开启的端口接收数据接收完毕即关闭端口,如果你第二次没有开启监听端口,继续发送ps数据就会出现连接访问拒绝。

#(ps aux;ps auxeww;losf) | nc 192.168.150.109 10005 -w 3

(UNKNOWN) [192.168.150.109] 10005 (?) : Conection refused

在上述命令中,有的命令产生长输出结果,有的产生短输出结果,作为收集证据来说,这都要加以利用。那么有哪些命令能够使用的可收集正在运行的进程信息的工具呢?

例如:

  • who;

  • uptime;

  • ps(查看进程的内存地址:ps -ealf);

  • top;

  • lsof(查看进程已打开的文件:lsof -p PID);

  • strace(跟踪进程的系统调用和信号:strace -p PID);

  • truss;

  • ltrace(跟踪进程的库调用:ltrace -p PID)等。


2.Linux下系统调用查看工具


类似篡改系统文件、植入***或许在控制台上能骗过初级管理员,一旦深入到系统层面***们都会原形毕露,Strace常用来跟踪进程执行时的系统调用和所接收的信号。 Linux系统,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。所谓系统调用(Systemcall),就是内核提供的、功能十分强大的一系列的函数。这些系统调用是在内核中实现的,再通过一定的方式把系统调用给用户。Strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。Strace在本书的应用见本章的案例研究一。


3.UNIX下系统调用查看工具


DTrace是Unix平台下的动态跟踪工具,是由 Sun公司开发,可以以对核心(kernel)和应用程序(user application)进行动态跟踪,当然也可以找出系统瓶颈,在甲骨文收购Sun之后这一技术又被移植到了Oracle Linux系统继续发扬光大(更多参考Announcement:Dtrace for Oracle Linux General Availability)。

这款工具在Solaris 和Open Solaris平台下都可以使用。


4.应用举例


①显示当前动态系统中的动态Dtrace探针probe

#dtrace -l |more


②通常我们查看系统firefox进程的情况使用如下命令

#ps -e |grep firefox

也可以用Dtrace查看probe探针,操作如下:

何看机器忙闲状态呢,常用vmstat,得知产生2535多系统调用。但是,如何简单查找哪个进程的问题呢?试用建议使用dtrace工具。

从最后一行显示看,显然发现firefox-bin是产生大量系统调用的程序, 再看看I/O分布。例如还是firefox进程,输入以下命令。


通过以上显示,可观察到大量Firefox产生的I/O在8~64字节间,接着深入看Firefox程序内部情况,输入以下命令。

Dtrace功能强大,精度高,而Solaris 10下的老牌系统跟踪工具truss,值得大家注意的是truss工具有时会降低系统25%~30%的CPU利用率。


拓展阅读:

Dtrace详细使用文档:http://docs.oracle.com/cd/E19253-01/819-6959/

参考:《Dtrace:DynamicTracing in Oracle Solaris,MacOS X and FreeBSD》


5.Systrace


另一款功能更加强大的系统调用外带报警功能的开源软件systrace就嵌入在OpenBSD系统中,在FreeBSD和Linux也可以自行安装。Systrace工具,可以用来防止***软件对系统的危害。在这个例子中如下图所示,Systrace检测在fragroute-1.2目录下的一个配置中包含恶意脚本***。

systrace检查***

Systrace工具下载地址: http://www.citi.umich.edu/u/provos/systrace/systrace-1.6f.tar.gz


6.收集/proc系统中的信息

Proc一直伴随着Liux kernel, 发展至今在Linux开始主要应用在网络相关方面, 后来为了简化系统管理和调试, 逐渐把它应用到其他方面。现在, proc已经成为Linux 内核中使用最广泛和最成功的特性之一。Proc在内存中建立虚拟的文件节点, 用户可以直接使用文件系统中的标准系统调用去访问proc 下的信息, 当用户发出访问/proc下的"文件"请求时, 再由系统动态生成。所以Proc就是一个虚拟的文件系统,通过文件系统的接口实现,当系统重启或电源关闭时这个文件系统的数据将消失。/proc还为/dev/kmem 提供一个结构化的接口,便于系统诊断并查看每一个正在运行的可执行文件的环境。内存中的每个进程在/proc 中都有一个目录,按它的进程ID 来命名。如果在上面列出的ps 的输出中看不见的进程出现在/proc 中,这就可能是ps 已被特洛伊化了(被篡改并加了危险程序),所以我们要熟悉Proc,以便应对***者对proc下的文件做手脚。trace:DynamicTracing in Oracle Solaris,MacOS X and FreeBSD》



下面通过nc命令,如何通过网络收集proc进程的方法,为了收集 Proc进程 ,使用下面用2条命令:

#nc -l -p 10006>proc_log

#ls -d/proc[1-9] * | nc 192.168.0.2 10006 -w 3


下期案例预报,对于这个nc命令,在网络取证中能起到关键作用,在下面这起网络安全事件分析在nc就起到了关键作用。



51CTO学院优秀讲师评选中,我期待您的宝贵一票!

投票地址:
http://edu.51cto.com/index.php?do=activityvote&m=voteRanking&cid=47#t




系统 进程 命令 文件 工具 网络 跟踪 信息 动态 数据 应用 取证 内核 功能 用户 程序 端口 运行 案例 强大 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 为想互联网科技怎么样 西安互联网科技 互联网科技公司怎么样 北京禾田雨橡互联网科技 互联网科技类展会 安控科技rtu产品工业互联网 华服互联网科技官网 贵州叶脉互联网科技有限公司所属行业 佳云科技和互联网广告 苏州铭阳互联网科技有限公司 电子科技大学互联网创业大赛 本届互联网博览会上的黑科技 伊宁互联网科技做什么的 陕西云淼互联网科技公司 互联网科技接地气 西安左小互联网科技有限公司 北京互联网科技类企业分布 米泉互联网科技专业怎么样 广州三三互联网科技有限公司 东风日产互联网科技公司叫什么 互联网科技工作委员会主任 与互联网科技公司 互联网女皇 腾讯科技 互联网高科技股票 科技伦理 互联网公司 互联网在线教育科技创业 福州德业互联网科技 北京天晋互联网科技有限公司 北京品多多互联网科技有限公司 平安好医生打造互联网科技医疗
0