记一次真实的应急响应案例(1)

admin 2023年11月27日08:10:52评论45 views字数 3313阅读11分2秒阅读模式
收到阿里云通知,服务器正在对外发起攻击,需要排查具体情况。

记一次真实的应急响应案例(1)

恶意程序排查

一、网络排查

使用netstat -tunlap命令,发现一万多个ID是 28263、名称是bdgopoga的可疑进程,疑似正在口令爆破。后续需要排查出运行该进程的恶意程序,然后终止恶意进程、备份并删除恶意程序。
记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

发现未知IP登录SSH服务的root账号,进程ID是28231。排查发现该未知IP开放80端口,访问发现是某企业的,因此怀疑该未知IP是肉鸡跳板。后续需要终止该进程,并修改root密码、排查SSH后门账号和后门公钥。

记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

二、进程排查


01、网络进程排查


使用pstree -aps 28263命令,通过恶意进程的ID,获取该进程的完整进程树,后续需要终止全部相关进程,进程ID包括:28263、28370、29354、29355、15634、28371、28372、28373。
记一次真实的应急响应案例(1)
在该进程的完整进程树中,通过启动进程的命令CMD(sh -c /lib/pwyfkigjfcrm//magicPussyMommy || /lib/pwyfkigjfcrm//magicPussySon),和运行进程的程序EXE(如:/usr/lib/pwyfkigjfcrm/ScBr_x86_64),定位到恶意程序及其目录 /lib/pwyfkigjfcrm/,后续需要备份全部恶意程序后删除。 记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

02、所有进程排查


查看所有进程名称、启动进程的命令CMD,并未发现其它异常进程。 记一次真实的应急响应案例(1)

03、隐藏进程排查


发现ID是24977的可疑进程,启动进程的命令是rti。

记一次真实的应急响应案例(1)

排查发现该隐藏进程是前期排查到的恶意进程28263 bdgopoga的子进程,后续终止该进程时需要特别注意是否已被完全终止。
记一次真实的应急响应案例(1)

04、进程资源排查

查看所有进程消耗资源的情况,并未发现其它异常进程。
记一次真实的应急响应案例(1)

三、文件排查

01、时间点排查


通过恶意程序的ctime确定攻击者的活动时间,并由此排查攻击者创建、修改、查看过的文件(PS:查看过的文件=使用过的命令),来排查其它异常文件和行为。 记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

02、敏感目录排查


排查临时目录下的文件,未发现其它异常文件:
记一次真实的应急响应案例(1)

排查命令目录下的文件,未发现被恶意替换的命令:
记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

03、特权文件排查


排查特殊权限的文件,未发现其它异常文件:
记一次真实的应急响应案例(1)

四、文件分析


使用沙箱分析攻击者上传的恶意程序,发现是远控后门木马,后续需要备份后删除:
记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)

记一次真实的应急响应案例(1)


查看/lib/kbinmesuqnc/下的文件,与/lib/pwyfkigjfcrm/中的一致,后续需要全部删除。
记一次真实的应急响应案例(1)


查看被攻击期间修改过的authorized_keys文件,发现两个后门SSH公钥,后续需要删除 记一次真实的应急响应案例(1)


其它疑似异常文件并未发现异常情况。

后门排查

一、正在启用的后门排查

01、网络监听LISTEN


发现后门端口41297正在监听,进程ID是前期排查发现的28263,后续需要终止恶意进程,备份并删除恶意程序。
记一次真实的应急响应案例(1)

02、网络连接ESTABLISHED


发现攻击源IP地址120.76.25.59正在连接SSH服务,进程ID是28231。同时恶意程序还爆破成功另外2个下游受害者,进程ID是前期排查发现的28263。后续需要终止这些恶意进程,备份并删除相关恶意程序。
记一次真实的应急响应案例(1)

二、随时启用的后门排查

01、SSH账号


排查/etc/passwd和/etc/shadow文件,只有root一个UID是0的超级权限账户,只有root一个账户的shell是可以登录的/bin/bash,只有root一个账户有口令且不存在空口令账户,因此未发现后门。
记一次真实的应急响应案例(1)

02、SSH密钥


排查.ssh/authorized_keys文件,发现存在2个后门,后续需要全部清除。
记一次真实的应急响应案例(1)

三、条件启用的后门排查

01、定时任务


使用vim命令逐一排查定时任务,未发现后门任务。
记一次真实的应急响应案例(1)

02、启动项


排查启动项文件,未发现后门文件。
记一次真实的应急响应案例(1)

03、自启服务


排查自启服务,未发现可疑自启服务。
记一次真实的应急响应案例(1)

04、命令别名


排查命令别名,未发现可疑命令别名。
记一次真实的应急响应案例(1)

溯源排查

一、系统日志排查

01、安全日志secure


攻击源IP地址120.76.25.59,于2020-11-22 00:54:50开始爆破SSH口令,36分钟后,于2020-11-22 01:30:45爆破成功。
总共爆破502次,其中500次爆破adm账号失败,1次爆破root账号失败,1次爆破root账号成功。成功获得SSH服务root账户的密码。
记一次真实的应急响应案例(1)


备注:是我练习篡改ctime时把服务器时间改成2020-11-22的,详见:《应急响应中的文件时间:mtime、atime、ctime》。同时为了练习应急把SSH设成弱口令,结果忘了把服务器时间改回来就被入侵了。
通过查看相关恶意进程的启动时间,可以知道真实入侵时间是在2023-11-22 10:38:38前后。
记一次真实的应急响应案例(1)

02、登录日志last系列

使用last(/var/log/wtmp)查看用户成功登录系统的信息,使用lastb查看用户失败登录系统的信息(/var/log/btmp)、使用lastlog(/var/log/lastlog)查看用户最后登录系统的信息,使用w(/var/run/utmp)查看用户正在登录系统的信息,均未发现异常。
记一次真实的应急响应案例(1)

03、命令日志history

~/.bash_history文件没有发现攻击者的命令日志。

二、中间件日志排查

没有运行中间件服务,不涉及中间件日志排查。

三、数据库日志排查

没有运行数据库服务,不涉及数据库日志排查。

四、安全产品日志排查

没有部署安全检测产品,不涉及安全产品日志排查。

五、流量排查

没有部署流量采集产品,不涉及流量排查。

六、溯源结论

01、2020-11-22 00:54:50

攻击源IP地址120.76.25.59,于2020-11-22 00:54:50开始爆破SSH口令。

02、2020-11-22 01:30:45

36分钟后,于2020-11-22 01:30:45爆破成功。总共爆破502次,其中500次爆破adm账号失败,1次爆破root账号失败,1次爆破root账号成功,最后成功获得SSH服务root账户的密码。 记一次真实的应急响应案例(1)

通过查看相关恶意进程的启动时间,可以知道真实入侵时间是在2023-11-22 10:38:38前后。
记一次真实的应急响应案例(1)

03、2020-11-22 01:30:47

2秒钟后,攻击者于2020-11-22 01:30:47在/lib/pwyfkigjfcrm/目录上传恶意程序。
记一次真实的应急响应案例(1)

04、2020-11-22 02:00:02

30分钟后,攻击者于2020-11-22 02:00:02至02:00:06在/lib/kbinmesuqnc/下备份恶意程序。 记一次真实的应急响应案例(1)

05、2020-11-22 02:00:06

0秒钟后,攻击者于2020-11-22 02:00:06在authorized_keys中创建后门密钥。
记一次真实的应急响应案例(1)

后续待办

序号

待办

原因

方法

1

终止进程:28263、28370、29354、29355、15634、28371、28372、28373。

1、28263是恶意进程bdgopoga,其它是bdgopoga的子进程;

2、后门端口41297正在监听,进程ID是28263。

3、28263正在进行口令爆破,替攻击者寻找新的肉鸡。

kill -9 28263

kill -9 28370

kill -9 29354

kill -9 29355

kill -9 15634

kill -9 28371

kill -9 28372

kill -9 28373

2

终止进程:28231。

是攻击源IP地址登录SSH服务的root账号的进程;

kill -9 28231

3

删除目录:/lib/pwyfkigjfcrm/、/lib/kbinmesuqnc/。

是恶意程序的存放目录

rm -rf /lib/pwyfkigjfcrm/

rm -rf /lib/kbinmesuqnc/

4

删除文件:authorized_keys。

存在两个后门SSH公钥

rm -rf ~/.ssh/authorized_keys

5

修改SSH服务的root账号的密码

Root账号被攻击者爆破后成功

passwd root

使用netstat -tunlap命令检查,发现网络恢复正常:
记一次真实的应急响应案例(1)


使用pstree -asp命令检查,发现进程没删干净,使用kill -9重新删除: 记一次真实的应急响应案例(1)

原文始发于微信公众号(OneMoreThink):记一次真实的应急响应案例(1)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年11月27日08:10:52
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次真实的应急响应案例(1)https://cn-sec.com/archives/2241934.html

发表评论

匿名网友 填写信息