Linxu环境黑客入侵应急与排查

admin 2024年2月15日19:30:22评论13 views字数 3872阅读12分54秒阅读模式

01

目录文件分析



1.1 系统用户排查

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

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

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

Linxu环境黑客入侵应急与排查

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

    ls -ls /etc/passw*

    ls -ls /etc/shado*

Linxu环境黑客入侵应急与排查

1.2 操作命令记录

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

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

Linxu环境黑客入侵应急与排查

    如果黑客使用history -c 将历史命令进行清除,可以查看宿主目录下的.bash_history文件进行查看。cat /用户名/.bash_history 查看指定用户的历史命令。

Linxu环境黑客入侵应急与排查

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  文件名 该命令可以查看文件生成的时间,对溯源排查起关键作用。

Linxu环境黑客入侵应急与排查

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

    stat  lost+found

    stat  /root/anaconda-ks.cfg


02

网络行为排查

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。

Linxu环境黑客入侵应急与排查

    如发现netstat定位出的pid有问题,可再通过 ps -aux |grep pid 可以进一步查看进程信息。

Linxu环境黑客入侵应急与排查

    并且可以进入虚拟文件目录查找该进程的可执行文件,使用ls  proc/pid grep -i exe命令,或者 file /proc/pid/exe

Linxu环境黑客入侵应急与排查

    lsof -i -PnR 查看网络通信情况,是否存在异常连接,并结合威胁情报分析。

Linxu环境黑客入侵应急与排查

2.3 网络流量分析

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

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

    tcpdump -i eth0 port 53 -vv

Linxu环境黑客入侵应急与排查


03

命令篡改分析

3.1 rpm命令校验

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

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

Linxu环境黑客入侵应急与排查
Linxu环境黑客入侵应急与排查

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

Linxu环境黑客入侵应急与排查

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

Linxu环境黑客入侵应急与排查

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


3.2 校验文件MD5值

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

Linxu环境黑客入侵应急与排查


04

系统启动项排查

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   检查自启服务

Linxu环境黑客入侵应急与排查

4.3 定时或计划任务

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

    crontab  –l  -u  root

    cat /var/spool/cron/*

    cat /etc/crontab

    cat /etc/cron.d/*

    cat /etc/cron.daiy/*

    cat /etc/cron.weekly/*

    cat /etc/cron.monthly/*


05

日志分析

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  记录计划任务执行日志


06

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端口的进程

Linxu环境黑客入侵应急与排查

6.3  strings命令

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

Linxu环境黑客入侵应急与排查

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 只统计字符数



点击蓝字关注我们




原文始发于微信公众号(零漏安全):Linxu环境黑客入侵应急与排查

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月15日19:30:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linxu环境黑客入侵应急与排查http://cn-sec.com/archives/2496414.html

发表评论

匿名网友 填写信息