IPWarden是一个IP资产风险发现工具,确定目标IP/网段后即可循环扫描更新结果,扫描产生的数据结果均可通过API获取,方便调用加工。适合甲方安全人员管理公网/内网资产安全风险暴露面,渗透测试人员用于信息收集和攻击面探测。集成的工具有:nmap、masscan、TideFinger、xray。主要功能有: 1、主机、端口发现与风险端口整理 2、端口协议识别 3、Web站点发现 4、Web指纹信息收集(集成TideFinger) 5、Web管理后台识别 6、Xray漏洞扫描 7、SSL证书信息扫描 8、主页汇总数据生成柱状统计图 3 .mysql或mariadb,新建一个数据库,选择utf-8编码注意;如果扫描公网IP,注意不要在需要SNAT方式访问公网的服务器上部署,masscan扫描并发会影响出口占用1 .进入IPWarden路径下进行配置文件修改,工具有2个配置文件,为设置系统服务与数据库连接的serverConfig.py和设置扫描参数的scanConfig.pyserverConfig.py # 系统基础参数 API_PORT = 80 # 设置为希望开放的服务端口 # mysql配置 MYSQL_HOST = '127.0.0.1' # 此处修改为你的数据库IP地址 MYSQL_PORT = 3306 # 此处修改为数据库端口 MYSQL_USER = 'root' # 数据库连接用户名 MYSQL_PASSWORD = 'password' # 数据库连接密码 MYSQL_DATABASE = 'IPWarden' # 库名
scanConfig.py # masscan参数 SCAN_IP = '192.168.1.1,10.0.8.0/24,10.0.1.110-10.0.1.150' # 选择扫描的目标IP,同masscan参数格式 SCAN_PORT = '1-10000,11211,27017,27018,50000,50070,50030' # 设置扫描的端口范围,同masscan参数格式,首次扫描建议使用默认参数,后期可以改为1-65535 RATE = '5000' # 扫描线程 SCAN_WHITE_LIST = '192.168.3.4' # 不扫描的ip白名单,格式同SCAN_IP # 定义Web端口 WEB_PORT = ['80-90', '443', '3000-4000', '7000-10000'] # Web管理后台关键词 WEB_BACKSTAGE = ['login', 'admin', '登录', '管理后台', '系统后台', '管理系统'] # 风险端口白名单,配置例外,使用序号5api请求返回数据不包含以下ip:端口 RISK_PORT_WHITE_LIST = [['192.25.86.1x', '3306'],['192.25.86.13x', '22']] # 定义风险端口 RISK_PORT_LIST = ['21','22','3389'...] # 可采用配置文件中默认数据 2 .配置文件修改好后,进入IPWarden文件夹路径下使用如下命令后台执行runIPWarden.py开始循环监控,runIPWarden.py自带导入python依赖,如果导入出错建议更新pip3nohup python3 runIPWarden.py & 服务启动后,可通过 'http://ip:port' (配置文件默认80端口)访问主页,如果目标ip较多,第一次执行可能会持续数个小时结束第一轮才有数据可以访问,建议大半天再回来看结果,后续循环扫描可以不用管让它自己更新页面,更改配置文件需要重新执行如上命令重启3 .停止服务,使用如下命令执行IPWarden路径下kill.sh文件项目地址:https://github.com/EnnioX/IPWarden
|