加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 安全 > 正文

Linux入侵检查思路及其命令

发布时间:2020-12-30 19:12:23 所属栏目:安全 来源:网络整理
导读:副标题#e# 《Linux入侵检查思路及其命令》要点: 本文介绍了Linux入侵检查思路及其命令,希望对您有用。如果有疑问,可以联系我们。 若Linux操作系统被非法入侵,那么有哪些思路和系统命令用于检查系统当前的状态呢?主要包括对关键进程、关键服务、关键文件
副标题[/!--empirenews.page--]

《Linux入侵检查思路及其命令》要点:
本文介绍了Linux入侵检查思路及其命令,希望对您有用。如果有疑问,可以联系我们。

若Linux操作系统被非法入侵,那么有哪些思路和系统命令用于检查系统当前的状态呢?主要包括对关键进程、关键服务、关键文件的检测,同时及时备份硬盘数据用于持续分析.详细的检查思路和Linux命令如下:

1. 查看文件filename正在运行的进程
#pidof filename

2. 可以通过文件或者tcp udp协议看到进程
#fuser -n tcp port

3. 检查文件修改时间,大小等信息
#stat filename

4. 查看系统加载模块
#lsmod

5. 检查rpc服务是否开放
#rpcinfo -p

6. 检查网卡是否混杂模式(promiscuous mod)
#dmesg|grep eth0

7. 检查一些关键的系统命令是否被更改,象md5sum一样
#rpm -Vf /bin/ls
rpm -Vf /bin/ps正常无输出,否则输出SM5….T /bin/su之类提示
如果rpm的数据库被修改则不可靠了,只能通过网络或则cdrom中的rpm数据库来比较
如:rpm -Vvp
以下常用命令需要检查
/usr/bin/chfn
/usr/bin/chsh
/bin/login
/bin/ls
/usr/bin/passwd
/bin/ps
/usr/bin/top
/usr/sbin/in.rshd
/bin/netstat
/sbin/ifconfig
/usr/sbin/syslogd
/usr/sbin/inetd
/usr/sbin/tcpd
/usr/bin/killall
/sbin/pidof
/usr/bin/find

8. 如果检查的是已经确认被黑客攻击的机器,完美建议:
-8.1 dd一个备份硬盘上
-8.2 mount 一个光驱,上面有静态编译好的程序ls ps netstat等常用工具
-8.3 用nc把执行步骤输出到远程机器上

9. 用md5sum保存一个全局的文件
find /sbin -type f|xargs md5sum >1st
检查是否改变
md5sum -c 1st|grep OK

10. 避免在已经攻击的机器上过多写操作,可以:
-10.1 在另一个机器192.168.20.191上运行
# nc -L -p 1234 >some_audit_output.log 注意L是大写,可以永久侦听
-10.2 被攻击机器上运行
# command|nc 192.168.20.191 1234

# script >/mnt/export.log
检测完毕后用ctrl+d保存记录

11. 通过进程查找可疑程序方法:
-11.1 netstat -anp 这步主要靠经验,把可疑的都记录下来
-11.2 进入内存目录 cd /proc/3299
-11.3 ls -la,一般exe可以看到执行文件路径,
-11.4 再进入fd目录查看文件句柄,至此一般都可以找出执行程序
-11.5 ps -awx 把刚才可疑的进程观察一遍

12. 如果hacker把日志删除了:
-12.1 查找所有未被删除彻底的日志,比如history,sniffer日志
-12.2 /proc/pid/fd 目录里提示已经删除的文件
l-wx—— 1 root root 64 Aug 10 20:54 15 -> /var/log/httpd/error_log (deleted)
l-wx—— 1 root root 64 Aug 10 20:54 18 -> /var/log/httpd/ssl_engine_log (deleted)
l-wx—— 1 root root 64 Aug 10 20:54 19 -> /var/log/httpd/ssl_mutex.800 (deleted)
l-wx—— 1 root root 64 Aug 10 20:54 20 -> /var/log/httpd/access_log (deleted)
l-wx—— 1 root root 64 Aug 10 20:54 21 -> /var/log/httpd/access_log (deleted)
l-wx—— 1 root root 64 Aug 10 20:54 22 -> /var/log/httpd/ssl_request_log (deleted)
l-wx—— 1 root root 64 Aug 10 20:54 23 -> /var/log/httpd/ssl_mutex.800 (deleted)
lrwx—— 1 root root 64 Aug 10 20:54 3 -> /var/run/httpd.mm.800.sem (deleted)
lrwx—— 1 root root 64 Aug 10 20:54 4 -> /var/log/httpd/ssl_scache.sem (deleted)

-12.3 用静态编译的lsof |grep deleted查看哪些被删除
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
gpm 1650 root 1u REG 8,2 5 149743 /var/run/gpm208raa (deleted)

-12.4 得到文件inode号,这里是149743
-12.5 使用sleuthkit工具来恢复,
df /var得出硬盘位置是sda1
icat /dev/sda1 149743
-12.6 把恢复的文件仔细查看,一般都可以找到痕迹了

这样会使分析编译后的程序困难
gcc -04 -evil.c -o evil
strip ./evil

13. 有些进程不在进程里显示,但在/proc中有痕迹,可比较找出隐藏的进程
proc是伪文件系统,为/dev/kmem提供一个结构化的接口,便于系统诊断并查看每一个正在运行的可执行文件的环境
#ps -ef|awk ‘{print $2}’|sort -n|uniq >1
#ls /porc |sort -n|uniq >2
#diff 1 2

14. 应急工具tct,里面有许多使用工具,包括icat等数据恢复
如果在被攻击的机器取证,可以mount一块硬盘,也可以备份到网络中,方法:
a.在网络机器运行 nc -L -p 1234 >abc.img
b.肉鸡运行 dd if=/dev/hdb5 count 20000 bs=1024|nc 192.168.0.1 1234 -w 3
如果备份过大,则可以侦听多个端口,执行多个dd拷贝,然后把文件合并 cat 2 >>1.img

15. ldd可以显示一个可执行程序所依赖的动态库,但间接依赖库无法显示出来
[root@rh9bk root]# ldd /bin/ls
libtermcap.so.2 => /lib/libtermcap.so.2 (0x40022000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
strace工具是一个调试工具,它可以显示出一个程序在执行过程中的所有系统调用,
[root@rh9bk root]# strace -eopen /bin/ls >/dev/null
open(“/etc/ld.so.preload”,O_RDONLY) = -1 ENOENT (No such file or directory)
open(“/etc/ld.so.cache”,O_RDONLY) = 3
open(“/lib/libtermcap.so.2”,O_RDONLY) = 3
open(“/lib/tls/libc.so.6”,O_RDONLY) = 3
open(“/usr/lib/locale/locale-archive”,O_RDONLY|O_LARGEFILE) = 3
open(“.”,O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 3
open(“/etc/mtab”,O_RDONLY) = 3
open(“/proc/meminfo”,O_RDONLY) = 3

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读