网络安全应急响应指导教程

admin 2024年12月25日10:40:41评论44 views字数 5327阅读17分45秒阅读模式

3.1、文件排查

(1)敏感目录的文件分析 类/tmp目录,命令目录 /usr/bin /usr/sbin等 ls 用来显示目标列表

-a   显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为隐藏,不会列出);
-C  多列显示输出结果。这是默认选项;
-l  以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-t  用文件和目录的更改时间排序;

(2) 查看tmp目录下的文件

ls –alt /tmp/

网络安全应急响应指导教程如图,发现多个异常文件,疑似挖矿程序病毒:

网络安全应急响应指导教程对已发现的恶意文件进行分析,查看559.sh脚本内容:脚本先是杀掉服务器上cpu占用大于20%的进程,然后从远程27.155.87.26(福建,黑客所控制的一个IDC服务器)下载了病毒程序并执行;

网络安全应急响应指导教程

(3) 查看开机启动项内容,/etc/init.d 是 /etc/rc.d/init.d 的软链接

ls -alt  /etc/init.d/
网络安全应急响应指导教程

(4) 按时间排序查看指定目录下文件

ls -alt | head -n 10

网络安全应急响应指导教程针对可疑文件可以使用stat进行创建修改时间、访问时间的详细查看,若修改时间距离事件日期接近,有线性关联,说明可能被篡改或者其他。

stat /etc/passwd
(1)Access Time:简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间。
(2)Modify Time:简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。 
(3)Change Time:简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数。
网络安全应急响应指导教程

(5) 查看历史命令记录文件~/.bash_history

查找~/.bash_history命令执行记录,主要分析是否有账户执行过恶意操作系统;命令在linux系统里,只要执行过命令的用户,那么在这个用户的HOME目录下,都会有一个.bash_history的文件记录着这个用户都执行过什么命令;

cat /root/.bash_history

网络安全应急响应指导教程

(6) 查看操作系统用户信息文件/etc/passwd

查找/etc/passwd文件, /etc/passwd这个文件是保存着这个linux系统所有用户的信息,通过查看这个文件,我们就可以尝试查找有没有攻击者所创建的用户,或者存在异常的用户。我们主要关注的是第3、4列的用户标识号和组标识号,和倒数一二列的用户主目录和命令解析程序。一般来说最后一列命令解析程序如果是设置为nologin的话,那么表示这个用户是不能登录的,所以可以结合我们上面所说的bash_history文件的排查方法。首先在/etc/passwd中查找命令解释程序不是nologin的用户,然后再到这些用户的用户主目录里,找到bash_history,去查看这个用户有没执行过恶意命令。

cat /etc/passwd 

网络安全应急响应指导教程

(7) 查看新增文件

find:在指定目录下查找文件

-type b/d/c/p/l/f查是块设备、目录、字符设备、管道、符号、链   接、普通文件
-mtime -n +n  按文件更改时间来查找文件,-n指n天以内,+n指n天前
-atime -n +n  按文件访问时间来查找文件,-n指n天以内,+n指n天前
-ctime -n +n  按文件创建时间来查找文件,-n指n天以内,+n指n天前

网络安全应急响应指导教程查找72小时内新增的文件 (PS:-ctime 内容未改变权限改变时候也可以查出)

find / -ctime 2

网络安全应急响应指导教程grep 一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来

-v 反转查找 
-E 使用正则表达式选项 
-n 输出包含匹配字符串的行数
--color=auto  标记匹配颜色

网络安全应急响应指导教程tail 查看档案的结尾,默认显示最后十行

tail -f /var/log/nps.log

-f 动态显示文件最新追加的内容;

网络安全应急响应指导教程

(8) 特殊权限的文件查看

查找777 的权限的文件

find / -perm 777 | more

网络安全应急响应指导教程

(9)隐藏的文件 (以 "."开头的具有隐藏属性的文件)PS:在文件分析过程中,手工排查频率较高的命令是 find grep ls 核心目的是为了关联推理出可疑文件

ls /etc -ar | grep "^."
网络安全应急响应指导教程

3.2、进程排查

(1)使用top命令 实时动态地查看系统的整体运行情况,主要分析CPU和内存多的进程,是一个综合了多方信息监测系统性能和运行信息的实用工具

网络安全应急响应指导教程字段含义如下表:

网络安全应急响应指导教程

(2)用netstat 网络 连接命令,分析可疑端口、可疑IP、可疑PID及程序进程

netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。选项参数如下:

-a  显示所有连线中的Socket。 
-n  直接使用IP地址,而不通过域名服务器。
-t  显示TCP传输协议的连线状况。
-u  显示UDP传输协议的连线状况。
-v  显示指令执行过程。
-p  显示正在使用Socket的程序识别码和程序名称。
-s  显示网络工作信息统计表。

netstat –antlp | more

网络安全应急响应指导教程如图,可查看到本地mysql数据库有外部连接行为:

网络安全应急响应指导教程

(3)根据netstat 定位出的pid,使用ps命令,分析进程

ps aux | grep pid | grep –v grep
网络安全应急响应指导教程

先用neststat查看外联进程,然后使用ps命令查看对应进程信息及所在位置

可以使用lsof -i:1677 查看指定端口对应的程序

lsof(list openfiles)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息。

(4)使用ls 以及 stat 查看系统命令是否被替换

两种思路: 1、查看命令目录最近的时间排序 2、根据确定时间去匹配

ls -alt /usr/bin | head -10
ls -al /bin /usr/bin /usr/sbin/ /sbin/ | grep "Jan 15"
备注:如果日期数字<10,中间需要两个空格。比如1月1日,grep “Jan 1”
网络安全应急响应指导教程

3.3、系统信息排查

(1)查看分析history ,曾经的命令操作痕迹,以便进一步排查溯源。运气好有可能通过记录关联到如下信息:

a) wget 远程某主机(域名&IP)的远控文件;
b) 尝试连接内网某主机(ssh scp),便于分析攻击者意图;
c) 打包某敏感数据或代码,tar zip 类命令
d) 对系统进行配置,包括命令修改、远控木马类,可找到攻击者关联信息…
cat /root/.bash_history
网络安全应急响应指导教程

(2)查看分析用户相关分析

a) useradd userdel 的命令时间变化(stat),以及是否包含可疑信息
b) cat /etc/passwd 分析可疑帐号,可登录帐号
查看UID为0的帐号➜➜➜awk -F: '{if($3==0)print $1}' /etc/passwd
查看能够登录的帐号➜➜➜cat /etc/passwd | grep -E "/bin/bash$"

PS:UID为0的帐号也不一定都是可疑帐号,Freebsd默认存在toor帐号,且uid为0.(toor 在BSD官网解释为root替代帐号,属于可信帐号);
网络安全应急响应指导教程

(3)查看分析任务计划

crontab -u  <-l, -r, -e>

通过crontab –l 查看当前的任务计划有哪些,是否有后门木马程序启动相关信息; 查看etc目录任务计划相关文件,ls /etc/cron*

网络安全应急响应指导教程

(4)查看linux 开机启动程序

查看rc.local文件(/etc/init.d/rc.local /etc/rc.local)

ls –alt /etc/init.d/

(5)查看系统用户登录信息

a)使用lastlog命令,系统中所有用户最近一次登录信息。

网络安全应急响应指导教程

b) 使用lastb命令,用于显示用户错误的登录列表;

网络安全应急响应指导教程

3.4、后门排查

通过文件内容中的危险函数,去找到网站中的web后门。最常见的Webshell文件内容中常见的恶意函数:

PHP
Eval、System、assert、……

JSP
getRunTime、 FileOutputStream、……

ASP
eval、execute、 ExecuteGlobal、……
find /var/www/html/ -type f -name  '*.php'|xargs grep 'eval' |more
除了通过grep去找webshell,我们还可以用类似 D盾之类的webshell查杀工具,把源码拖下来在本机查杀。
有时候黑客在上传完webshell后门,获取到自己想要的信息后,就会删除掉webshell,又或者遇到了一些变形过的webshell后门,我们的关键字没有搜索到,这时候通过文件去找到webshell的方法就不适用了。那么这个时候就只能通过分析web日志,来找到黑客的webshell文件。直接分析web日志的最直接方式就是通过web日志中的特征来判断是否存在恶意的webshell后门,比如上面列表展示的这些常见webshell会传递的get参数。常见webshell后门日志特征如下:
Darkblade:goaction=login
    JspSpy:o=login
    PhpSpy:action=phpinfo
    Regeorg: cmd=connect
Other:cmd=
不过这种方式能发现的问题不多,因为很多时候web后门接收参数的方式都是post,前面说了大部分中间件默认情况下只能记录get,如果需要记录post的话,就需要安装第三方模块。
Ps:常规黑客攻击流程,一个黑客通常通过web漏洞获取管理员密码进入后台,然后上传webshell,这个webshell文件在以前的访问记录是没有的,那么我们就可以通过统计每天访客所访问过的动态脚本文件,来列出每天新增加的文件入口的记录,快速查找webshell后门,最后我们可以根据统计低频访问的动态脚本文件,来找出可能是webshell的文件,因为一般来说webshell的访问ip只有几个,并且访问的次数也不多,那么根据这个分析模型,我们就可以发现可能是恶意的动态脚本文件。此排查需要懂一点了解编程,作为思路了解。

3.5、日志排查

Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息。大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 /etc/syslogd 或/etc/rsyslog.d,默认配置文件为 /etc/syslog.conf 或 rsyslog.conf,任何希望生成日志的程序都可以向 syslog 发送信息。
Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对管理员了解系统的运行状态是非常有用的,所以应该把它们写到日志文件中去。完成这个过程的程序就是syslog。syslog可以根据日志的类别和优先级将日志保存到不同的文件中。

4、实际案例分析

4.1、案例:信息泄露 (1)事件概述 某厂商公网一台服务器被通告与APT组织木马关联并接收其它组织单位的被盗数据。 (2)事件分析

1)通过VNC远程访问服务器,查看当前连接状态,并未发现异常连接:
网络安全应急响应指导教程
2)经与客户确认,该服务器为公网提供FTP服务,但本身没有做SNAT不允许主动连接互联网,确认没有异常外连行为。
继续排查FTP日志,发现用户”reuter02”存在不同IP的登录行为,”124.74.64.38”该IP归属地为上海,经与用户确认该账户不应该出现本次登录行为,继续过滤该IP对应的所有用户登录,发现该IP还登录过”as_reporter01”这个用户:
网络安全应急响应指导教程
3)分别针对这两个用户查看对应的上传日志和所对应的上传目录发现”as_reporter01”用户的非标准上传目录中存在大量文件,其中包含敏感信息:
网络安全应急响应指导教程

4)其中一个文件” FBBLCKICXE-log-(02.01.18-05.10.41)” 这些包含系统敏感信息的文件即为通告中的”被盗数据”,内容如下:

网络安全应急响应指导教程
(3)结论
经通过对服务器日志分析,判断本次事件主要用于服务器FTP用户口令泄漏,导致攻击者利用服务器FTP空间作为信息收集(盗取数据)的存储媒介。和管理员继续分析,为保证客户业务系统安全运行,并为客户提供相关处置建议:
a) 修改FTP用户”reuter02”、”as_reporter01”的用户口令
b) 禁止服务器主动发起外部连接请求,对于需要向外部服务器推送共享数据的,应使用白名单的方式,在出口防火墙加入相关策略,对主动连接IP范围进行限制;
原文链接:https://blog.csdn.net/qq1140037586/article/details/130582989

原文始发于微信公众号(富贵安全):纯手工写的,快泥煤的来看

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月25日10:40:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网络安全应急响应指导教程https://cn-sec.com/archives/3549941.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息