【应急响应】Linux环境黑客入侵应急与排查

admin 2024年5月7日11:28:35评论5 views字数 4789阅读15分57秒阅读模式
【应急响应】Linux环境黑客入侵应急与排查
【应急响应】Linux环境黑客入侵应急与排查

点击上方蓝字关注我们吧

【应急响应】Linux环境黑客入侵应急与排查
“在网络安全的世界里,预防是上策,而有效的应急响应则是最后的防线。”
INSPIRATION

【应急响应】Linux环境黑客入侵应急与排查

1 目录文件分析

1.1 系统用户排查

黑客往往取得服务器控制权限后会添加系统用户,达到持续控制服务器的目的。

筛选用户ID=0(root用户) 或者 用户ID>=500(新建用户)的用户,可以快速查看是否有异常系统用户。

cat /etc/passwd | awk -F : '{if($3==0||$3>=500){print}}'

【应急响应】Linux环境黑客入侵应急与排查

黑客也可能新建passwd shadow文件存用户信息,所以需要查看是否存在多余的passwd

ls -ls /etc/passw*ls -ls /etc/shado*

【应急响应】Linux环境黑客入侵应急与排查

1.2 操作命令记录

黑客控制服务器后,通常会使用bash shell操作命令控制服务器

history #查看当前用户的历史命令

【应急响应】Linux环境黑客入侵应急与排查

如果黑客使用

history -c

将历史命令进行清除,可以查看宿主目录下的.bash_history文件进行查看。

 cat /用户名/.bash_history  #查看指定用户的历史命令。

【应急响应】Linux环境黑客入侵应急与排查

1.3 敏感目录文件

检查下LInux系统下敏感的目录,通常恶意程序会在权限大的目录写入文件,-l 显示文件详细信息 -a 显示隐藏文件,-t 按时间进行排序。

ls –alt  /tmp/   #存放所用用户的临时文件ls –alt  /var/tmp/  #存放所用用户的临时文件ls -alt /etc/init.d/ #存放服务启动脚本命令ls -alt /bin   #存放开机相关的命令ls -alt /usr/bin  #存放普通用户使用的命令ls -alt sbin #存放管理员用户使用的命令ls -alt /usr/sbin #存放网络服务器命令ls -alt /boot  #存放启动和内核相关的文件

1.4 文件修改时间

Linux文件系统每个文件都有三种时间戳:

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。

修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。

变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

stat 文件名 #该命令可以查看文件生成的时间,对溯源排查起关键作用。

【应急响应】Linux环境黑客入侵应急与排查

常常查看以下两个文件的时间可以判断系统安装的时间,如果文件没有被删除系统不会使用到这两个文件。

stat lost+foundstat /root/anaconda-ks.cfg

2 网络行为排查

2.1 重要辅助站点

1.https://www.virustotal.com/ , 国外知名安全站点,需翻墙,可查询文件MD5、IP、域名、URL是否恶意,也可上传文件进行病毒扫描。

2.https://x.threatbook.cn/ , 国内威胁情报站点,可查询文件MD5、IP、域名、URL是否恶意,也可上传文件进行病毒扫描。

3. http://beian.cndns.com/,国内站点备案查询,所有有企业备案的国内站点可认为是可信站点。

4. http://www.alexa.com/,全球站点排行查询,top100万的站点可认为是可信站点(国外站点没有备案这一说法)。

5. Google与Baidu等搜索引擎,输入文件MD5/IP/域名,有时候可以查询到对应病毒信息。

2.2 网络连接排查

使用命令

netstat -antop

查看当前的网络连接,排查可疑的服务、端口,外连的IP。

【应急响应】Linux环境黑客入侵应急与排查

如发现netstat定位出的pid有问题,可再通过

ps -aux |grep pid

可以进一步查看进程信息。

【应急响应】Linux环境黑客入侵应急与排查

并且可以进入虚拟文件目录查找该进程的可执行文件,使用

ls proc/pid grep -i exe

命令。

【应急响应】Linux环境黑客入侵应急与排查

2.3 网络流量分析

流量分析可以使用tcpdump,主要分析下当前主机访问了哪些域名、URL、服务,或者有哪些外网IP在访问本地主机的哪些端口、服务和目录,又使用了何种协议等等。

例如,使用tcpdump观察到,主机访问了sjb555.3322.org这种动态域名,即可粗略猜测这是一个C&C服务器。

tcpdump -i eth0 port 53 -vv

【应急响应】Linux环境黑客入侵应急与排查

3 命令篡改分析

3.1 rpm命令校验

通常系统中了病毒,病毒会修改系统自带的命令,例如:top ls  ps pstree netstat  lsof  ss sshd  ssh等等,达到反侦察的目的,所以需要检验下以上命令是否被修改替换。

rpm -V -a  #查看所有被修改过的rpm包

【应急响应】Linux环境黑客入侵应急与排查

【应急响应】Linux环境黑客入侵应急与排查

rpm -V -f /bin/ls   #确认ls 命令是否被替换过,没有任何输出代表没有被替换过。

【应急响应】Linux环境黑客入侵应急与排查

rpm -V -f /bin/ps   #确认ls 命令是否被替换过,没有任何输出代表没有被替换过。

【应急响应】Linux环境黑客入侵应急与排查

注意:该方法只适用于redhat系列的操作系统

3.2 校验文件MD5

使用md5sum工具计算出文件的md5值与干净系统对应文件的md5值进行比较。

【应急响应】Linux环境黑客入侵应急与排查

4 系统启动项排查

4.1 排查启动项

黑客为了保持病毒能够开机启动、登录启动或者定时启动,通常会有相应的启动项。

/etc/init.d/rc.local/etc/rc.local/etc/rc.d/rc0.d/etc/rc.d/rc1.d/etc/rc.d/rc2.d.........

4.2 排查启动服务

chkconfig --list |grep on #检查自启服务

【应急响应】Linux环境黑客入侵应急与排查

4.3 定时或计划任务

任务计划:查看当前的任务计划有哪些,是否有后门木马程序启动相关信息。

crontab –l  -u rootcat /var/spool/cron/*cat /etc/crontabcat /etc/cron.d/*cat /etc/cron.daiy/*cat /etc/cron.weekly/*cat /etc/cron.monthly/*

5 日志分析

5.1 登录日志

/var/log/secure #记录所有相关的登录日志,包含ssh登录日志last #用来列出目前与过去登录系统的用户相关信息 lastb  #显示登录失败的日志tail-f  /var/log/secure #实时监控登录日志

5.2 系统日志

/var/log/message #记录所有系统报错异常日志/var/log/boot.log #记录系统开机日志/var/log/dmesg #记录系统开机时内核产生的日志/var/log/cron  #记录计划任务执行日志

6 Linux有用命令

6.1  查找命令

which ls  #查找命令所在位置locate ls  #模糊查找文件,基于数据库速度快

find 【文件路径】 【条件】 【动作】 速度慢,可以基于文件属性就行查找

find / -name  #“pass*”支持通配符find / -iname  #不区分大小写find / -user  root  #根据文件宿主查找文件find / -perm -010  #查找具有写权限的文件find / -type d  #查看目录

6.2  lsof命令

lsof 用于查看指定进程文件或者目录打开的情况

lsof -c  进程名称  #显示指定进程打开的文件lsof -p  pid      #显示指定进程id打开的文件lsof +d /tmp   #显示tmp目录下文件被打开的情况lsof +D /tmp   #递归显示tmp目录下被打开的文件情况lsof -i:80   #显示监听80端口的进程

【应急响应】Linux环境黑客入侵应急与排查

6.3  strings命令

strings -a  -n 60  /xmrig.exe  #扫描二进制文件中连续60个字符的字符串,可以看到该程序是门罗币挖矿程序,过滤出来帮助文档和钱包地址。

【应急响应】Linux环境黑客入侵应急与排查

6.4  字符串处理

grep: 行提取命令

eg: grep "/bin/sh" /etc/passwd -n -v “root”

-i 忽略大小写

-n 显示行号

-v “root” 取反

cut: 列提取命令

eg: cut -d ":" -f 1,2 /etc/passwd

-d “:” 指定分隔符,默认制表符为分隔符

-f 列号  截取指定列

awk '条件1{动作1} 条件2{动作2}' 文件名 awk列提命令

eg:awk '{ printf $1 "t" $2 "n"} ' student.txt

1、print 会自动输出换行符n printf不会输出n

2、$0 存储文件名,$1 $2 $3 变量依次每列数据

3、BEGIN{FS=":"} 指定分隔符:或者 -F : 指定分隔符

条件:

1、一般用关系表达式作为条件,eg: BEGIN END

2、x>10

动作:

1、格式化输出 printf

2、流程控制语句

统计命令wc: wc [选项] 文件名 

eg: wc -l /etc/passwd

选项:

-l 只统计行数

-w 只统计单词数

-m 只统计字符数

【应急响应】Linux环境黑客入侵应急与排查

关注并回复“Linux环境黑客入侵应急与排查指南”

获取指南下载链接

【应急响应】Linux环境黑客入侵应急与排查安全资讯推荐 往期发布文章【应急响应】Linux环境黑客入侵应急与排查

安全资讯推荐

作者简介GuardCyberSec,致力于各行业企业信息安全深度思考,关注网络安全等级保护、法律法规解读、传统网络安全研究、工业安全研究、数据安全研究等,为网络安全建设出一份力。

< END >
信息安全ISecurity
致力于信息安全体系建设
【应急响应】Linux环境黑客入侵应急与排查
微信扫描二维码,关注我的公众号或者点击以下链接点击关注获得最新安全资讯

原文始发于微信公众号(信息安全ISecurity):【应急响应】Linux环境黑客入侵应急与排查

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月7日11:28:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【应急响应】Linux环境黑客入侵应急与排查https://cn-sec.com/archives/2714007.html

发表评论

匿名网友 填写信息