分享个我觉得还不错的工具给大家,斗象开源的 - ARL(Asset Reconnaissance Lighthouse)资产侦察灯塔,这个工具大概有以下功能:
域名资产发现和整理
IP/IP 段资产整理
端口扫描和服务识别
WEB 站点指纹识别
资产分组管理和搜索
任务策略配置
计划任务和周期任务
Github 关键字监控
域名/IP 资产监控
站点变化监控
文件泄漏等风险检测
nuclei PoC 调用
WebInfoHunter 调用和监控
Docker 部署
文档建议是裸机安,但我为了写文章方便直接启一台云服务器用 Docker 跑算例,部署命令:
cd /opt/
mkdir docker_arl
wget -O docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6.2/docker.zip
cd docker_arl
unzip -o docker.zip
docker volume create arl_db
docker compose pull
docker compose up -d
看起来没问题,用一下试试看吧~
启动并扫描
ARL 的默认端口5003,默认用户名密码admin/arlpass,访问 https://ip:5003 就能登陆,登录上去就能用了。由于 ARL 更偏重于信息收集和资产管理,它是为内部资产管理或者是渗透前期踩点而生的。我们可以扫描一个域名下的站点、子域名、IP、SSL证书、服务类型、有哪些文件泄露。我以自己常去下载电影的网站 btbtt 为例,做一次扫描,重点看文件泄露:
还有其他功能大家看文档就行了,这工具用起来还是蛮简单的:
https://tophanttechnology.github.io/ARL-doc/
如何添加 PoC
ARL 集成的 ARL-NPoC 工具项目在这里:
https://github.com/1c3z/ARL-NPoC
而机器上的 ARL-NPoC 路径是:
添加 PoC 在plugin目录下即可:
PoC 具体怎么写呢?主要代码流程就是先定义一个插件的类,然后使用函数__init__(self)写出这个插件的一些信息,具体实现过程在verify函数中实现。直接对照内置的插件写,模仿就行了:
from xing.core.ServiceBrutePlugin import ServiceBrutePlugin
from xing.core import PluginType, SchemeType
class Plugin(ServiceBrutePlugin):
def __init__(self):
super(Plugin, self).__init__()
self.plugin_type = PluginType.BRUTE
self.vul_name = "RDP 弱口令"
self.app_name = 'rdp'
self.scheme = [SchemeType.RDP]
self.username_file = "username_rdp.txt"
self.password_file = "password_rdp.txt"
def service_brute(self):
return self._crack_user_pass()
Github 监控
用 API + token 监控关键字
WIH - WebInfoHunter
ARL 集成了 WIH,主要用他来扫描敏感信息,如果有需要加入的规则可以修改:
弱口令爆破
策略设置中可以选择弱口令爆破,只不过不能换字典,如果要换字典只能替换默认字典或者修改默认字典。