前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >11 个步骤完美排查Linux机器是否已经被入侵

11 个步骤完美排查Linux机器是否已经被入侵

作者头像
入门笔记
发布于 2022-06-03 01:26:59
发布于 2022-06-03 01:26:59
74300
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

原文:https://cloud.tencent.com/developer/article/1882357

1、入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例:

1.入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# ll -h /var/log

2.入侵者可能创建一个新的存放用户名及密码文件,可以查看 / etc/passwd 及 / etc/shadow 文件,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# ll /etc/pass*
-rw-r--r--. 1 root root 1373 Sep 15 11:36 /etc/passwd
-rw-r--r--. 1 root root 1373 Sep 15 11:36 /etc/passwd-
[root@hlmcen69n3 ~]# ll /etc/sha*
----------. 1 root root 816 Sep 15 11:36 /etc/shadow
----------. 1 root root 718 Sep 15 11:36 /etc/shadow-

3.入侵者可能修改用户名及密码文件,可以查看 / etc/passwd 及 / etc/shadow 文件内容进行鉴别,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[root@hlmcen69n3 ~]# more /etc/shadow
root:*LOCK*:14600::::::
bin:*:17246:0:99999:7:::
daemon:*:17246:0:99999:7:::

4.查看机器最近成功登陆的事件和最后一次不成功的登陆事件,对应日志 “/var/log/lastlog”,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# lastlog
Username         Port     From             Latest
root                                       **Never logged in**
bin                                        **Never logged in**
daemon                                     **Never logged in**

5.查看机器当前登录的全部用户,对应日志文件 “/var/run/utmp”,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# who
stone    pts/0        2017-09-20 16:17 (X.X.X.X)
test01   pts/2        2017-09-20 16:47 (X.X.X.X)

6.查看机器创建以来登陆过的用户,对应日志文件 “/var/log/wtmp”,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# last
test01   pts/1        X.X.X.X   Wed Sep 20 16:50   still logged in  
test01   pts/2        X.X.X.X   Wed Sep 20 16:47 - 16:49  (00:02)   
stone    pts/1        X.X.X.X   Wed Sep 20 16:46 - 16:47  (00:01)   
stone    pts/0        X.X.X.X   Wed Sep 20 16:17   still logged in

7.查看机器所有用户的连接时间(小时),对应日志文件 “/var/log/wtmp”,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# ac -dp
         stone                               11.98
Sep 15      total       11.98
         stone                               67.06
Sep 18      total       67.06
         stone                                1.27
         test01                               0.24
Today        total        1.50

8.如果发现机器产生了异常流量,可以使用命令 “tcpdump” 抓取网络包查看流量情况或者使用工具”iperf”查看流量情况

9.可以查看 / var/log/secure 日志文件,尝试发现入侵者的信息,相关命令示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# cat /var/log/secure | grep -i "accepted password"
Sep 20 12:47:20 hlmcen69n3 sshd[37193]: Accepted password for stone from X.X.X.X port 15898 ssh2
Sep 20 16:17:47 hlmcen69n3 sshd[38206]: Accepted password for stone from X.X.X.X port 9140 ssh2
Sep 20 16:46:00 hlmcen69n3 sshd[38511]: Accepted password for stone from X.X.X.X port 2540 ssh2
Sep 20 16:47:16 hlmcen69n3 sshd[38605]: Accepted password for test01 from X.X.X.X port 10790 ssh2
Sep 20 16:50:04 hlmcen69n3 sshd[38652]: Accepted password for test01 from X.X.X.X port 28956 ssh2

10.查询异常进程所对应的执行脚本文件

a.top 命令查看异常进程对应的 PID

b、在虚拟文件系统目录查找该进程的可执行文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# ll /proc/1850/ | grep -i exe
lrwxrwxrwx. 1 root root 0 Sep 15 12:31 exe -> /usr/bin/python
[root@hlmcen69n3 ~]# ll /usr/bin/python
-rwxr-xr-x. 2 root root 9032 Aug 18  2016 /usr/bin/python

11.如果确认机器已经被入侵,重要文件已经被删除,可以尝试找回被删除的文件

1.当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。

2.在 / proc 目录下,其中包含了反映内核和进程树的各种文件。/proc 目录挂载的是在内存中所映射的一块区域,所以这些文件和目录并不存在于磁盘中,因此当我们对这些文件进行读取和写入时,实际上是在从内存中获取相关信息。大多数与 lsof 相关的信息都存储于以进程的 PID 命名的目录中,即 /proc/1234 中包含的是 PID 为 1234 的进程的信息。每个进程目录中存在着各种文件,它们可以使得应用程序简单地了解进程的内存空间、文件描述符列表、指向磁盘上的文件的符号链接和其他系统信息。lsof 程序使用该信息和其他关于内核内部状态的信息来产生其输出。所以 lsof 可以显示进程的文件描述符和相关的文件名等信息。也就是我们通过访问进程的文件描述符可以找到该文件的相关信息。

3.当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问该文件,那么我们就可以通过 lsof 从 / proc 目录下恢复该文件的内容。

假设入侵者将 / var/log/secure 文件删除掉了,尝试将 / var/log/secure 文件恢复的方法可以参考如下:

a. 查看 / var/log/secure 文件,发现已经没有该文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# ll /var/log/secure
ls: cannot access /var/log/secure: No such file or directory

b. 使用 lsof 命令查看当前是否有进程打开 / var/log/secure,

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# lsof | grep /var/log/secure
rsyslogd   1264      root    4w      REG                
8,1  3173904     263917 /var/log/secure (deleted)

c. 从上面的信息可以看到 PID 1264(rsyslogd)打开文件的文件描述符为 4。同时还可以看到 / var/log/ secure 已经标记为被删除了。因此我们可以在 / proc/1264/fd/4(fd 下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# tail /proc/1264/fd/4
Sep 20 16:47:21 hlmcen69n3 sshd[38511]: pam_unix(sshd:session): session closed for user stone
Sep 20 16:47:21 hlmcen69n3 su: pam_unix(su-l:session): session closed for user root
Sep 20 16:49:30 hlmcen69n3 sshd[38605]: pam_unix(sshd:session): session closed for user test01
Sep 20 16:50:04 hlmcen69n3 sshd[38652]: reverse mapping checking getaddrinfo for 190.78.120.106.static.bjtelecom.net [106.120.78.190] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 20 16:50:04 hlmcen69n3 sshd[38652]: Accepted password for test01 from 106.120.78.190 port 28956 ssh2
Sep 20 16:50:05 hlmcen69n3 sshd[38652]: pam_unix(sshd:session): session opened for user test01 by (uid=0)
Sep 20 17:18:51 hlmcen69n3 unix_chkpwd[38793]: password check failed for user (root)
Sep 20 17:18:51 hlmcen69n3 sshd[38789]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=51.15.81.90  user=root
Sep 20 17:18:52 hlmcen69n3 sshd[38789]: Failed password for root from 51.15.81.90 port 47014 ssh2
Sep 20 17:18:52 hlmcen69n3 sshd[38790]: Connection closed by 51.15.81.90

d. 从上面的信息可以看出,查看 / proc/1264/fd/4 就可以得到所要恢复的数据。如果可以通过文件描述符查看相应的数据,那么就可以使用 I/O 重定向将其重定向到文件中,如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# cat /proc/1264/fd/4 > /var/log/secure

e. 再次查看 / var/log/secure,发现该文件已经存在。对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hlmcen69n3 ~]# ll /var/log/secure
-rw-r--r--. 1 root root 3173904 Sep 20 17:24 /var/log/secure
[root@hlmcen69n3 ~]# head /var/log/secure
Sep 17 03:28:15 hlmcen69n3 sshd[13288]: reverse mapping checking getaddrinfo for 137-64-15-51.rev.cloud.scaleway.com [51.15.64.137] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 17 03:28:15 hlmcen69n3 unix_chkpwd[13290]: password check failed for user (root)
Sep 17 03:28:15 hlmcen69n3 sshd[13288]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=51.15.64.137  user=root
Sep 17 03:28:17 hlmcen69n3 sshd[13288]: Failed password for root from 51.15.64.137 port 59498 ssh2
Sep 17 03:28:18 hlmcen69n3 sshd[13289]: Received disconnect from 51.15.64.137: 11: Bye Bye
Sep 17 03:28:22 hlmcen69n3 sshd[13291]: reverse mapping checking getaddrinfo for 137-64-15-51.rev.cloud.scaleway.com [51.15.64.137] failed - POSSIBLE BREAK-IN ATTEMPT!
Sep 17 03:28:22 hlmcen69n3 unix_chkpwd[13293]: password check failed for user (root)
Sep 17 03:28:22 hlmcen69n3 sshd[13291]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=51.15.64.137  user=root
Sep 17 03:28:24 hlmcen69n3 sshd[13291]: Failed password for root from 51.15.64.137 port 37722 ssh2
Sep 17 03:28:25 hlmcen69n3 sshd[13292]: Received disconnect from 51.15.64.137: 11: Bye Bye
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SSH暴力破解登录-不容忽视
防止 SSH 暴力破解登录成为服务器安全管理中的一项关键任务。一般来说,会有以下 4 种方案来应对暴力破解登录
huolong
2024/12/25
2200
ssh登录太慢了,每次都要20s
大家工作时,少不了ssh登录各个服务器,我这边手里也有很多服务器,有一些登录很快就进去了,有些要卡半天才能进去。之前以为是公司网络问题,每次也就忍了,这次突然不想忍了,决定定位一下。
低级知识传播者
2024/04/15
3770
ssh登录太慢了,每次都要20s
Linux 中 Tail 命令的 9 个实用示例
我们作为 Linux 用户,经常会操作那些在后台长时间运行的进程,这些进程被称作守护进程或服务。例如 Secure Shell (sshd)、Network Manager (networkd)、Volume Manager (LVM)、Cron 等都是服务的典型例子,这样的服务还有很多。
数据科学工厂
2024/12/30
1690
Linux 中 Tail 命令的 9 个实用示例
【应急响应】Linux入侵排查思路
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
Bypass
2019/07/08
2.7K0
【应急响应】Linux入侵排查思路
Linux主机被入侵后的处理案例
IT行业发展到现在,安全问题已经变得至关重要,从“棱镜门”事件中,折射出了很多安全问题,信息安全问题已变得刻不容缓,而做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务,首先要站在攻击者的角度思考问题,修补任何潜在的威胁和漏洞。 一次Linux被入侵后的分析 下面通过一个案例介绍下当一个服务器被rootkit入侵后的处理思路和处理过程,rootkit攻击是Linux系统下最常见的攻击手段和攻击方式。 1、受攻击现象 这是一台客户的门户网站服务器,托管在电信机房,客户接到电信的通知:由于
小小科
2018/05/03
2.2K0
Linux服务器被黑 排查思路(下)
2.查看是否有进程在使用这个文件,可以看到rsysload进程在使用,pid号是1264,使用者root,打开的文件描述符是4,结尾的状态是文件已经被删除。 lsof | grep /var/log/secure
陈不成i
2021/05/26
1.2K0
Linux手工入侵排查思路
当Linux主机发生安全事件需要进行入侵排查时,一般可以使用常见的shell命令,通过分析主机的异常现象、进程端口、启动方式、可疑文件和日志记录等信息以确认主机是否被入侵。
Bypass
2021/04/26
1.7K0
Linux系统如何通过该日志来排错
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹,下面为大家分享一下Linux系统下如何通过该日志来排错。
用户4988085
2021/07/29
1.1K0
使用 Fail2ban 防止 ssh 暴力破解攻击
Fail2ban 通过扫描错误日志来禁止某些 IP 访问服务,它会直接修改防火墙规则来阻止来自这些 IP的请求。
饶文津
2020/07/06
1.9K0
linux中ssh被爆破的应急响应
/var/log/secure,这个日志文件记录了验证和授权方面的信息,只要涉及账号和密码的程序都会记录下来。
ICT系统集成阿祥
2024/12/03
1570
linux中ssh被爆破的应急响应
Linux 应急响应流程及实战演练
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
信安之路
2018/10/18
5K0
Linux 应急响应流程及实战演练
OB 运维 | OAT 初始化报错?原来是 PAM 配置惹的祸!
ERROR - check current session hard limit of open_files (ulimit -H -n): 4096 != 655350 ... EXPECT 655350 ... FAIL
爱可生开源社区
2024/10/30
1300
OB 运维 | OAT 初始化报错?原来是 PAM 配置惹的祸!
系统安全之SSH入侵的检测与响应
作为系列文章的第一篇https://www.freebuf.com/es/193557.html 介绍了攻防系统的整个环境和搭建方法,按照这篇文章应该是可以把整个环境搭建完毕的.。在这篇文章中还介绍到了课程大纲包含主机安全、web安全、后门/木马等等,下面就让我们开始我们的实验课程。
FB客服
2019/03/08
3.8K0
系统安全之SSH入侵的检测与响应
11 个步骤完美排查服务器是否被入侵
随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考:
用户8826052
2022/03/02
3.3K0
Linux 系统被黑客入侵!怎么排查?
近期有一个朋友的服务器(自己做了网站)好像遭遇了入侵,具体现象是:服务器 CPU 资源长期 100%,负载较高。服务器上面的服务不能正常提供服务。
IT运维技术圈
2023/12/26
8460
Linux 系统被黑客入侵!怎么排查?
Linux日志-secure日志
作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
运维小路
2024/11/01
5220
Linux日志-secure日志
Linux应急响应排查思路
当企业发生黑客入侵,系统崩溃或者影响其他业务逻辑的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查询入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或者减少损失。
Baige
2022/03/21
2.8K0
Linux应急响应排查思路
Linux 系统日志-secure,btmp,wtmp文件详解
Linux系统提供了全方位的日志记录。我们登录Linux系统之后做的事情Linux都有相应的日志记录。整个日志系统比较多。这里只介绍和登录比较密切相关的三个日志。
zinyan.com
2022/12/08
11.5K0
Linux 系统日志-secure,btmp,wtmp文件详解
【教你搭建服务器系列】(6)如何判断服务器被入侵
虽然你的网站是可以运行了,但想要网站 7*24 小时高可用不掉线,还远远不够,因为互联网还有一个看不见的手——入侵者。
HaC
2021/12/07
1.3K0
linux用户权限相关内容查看
本文讲述如何查看Linux用户和组的信息,包括:1)使用命令行查看;2)使用图形化界面查看;3)使用脚本查看。同时,文章还介绍了如何利用Linux的日志功能,通过查看登录日志等操作来查看用户和组的操作。
用户1170933
2018/01/05
5.2K0
相关推荐
SSH暴力破解登录-不容忽视
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验