目录
讲在前面
笔者在今年年初接触到该工具,一直未抽出空对工具的使用做一次翻译和自己的总结,目前将此工具的使用做如下翻译性的总结。同时笔者对此工具开始二次开发,在开发的过程中笔者将不断的分享域内安全渗透技术总结、C#开发备忘录、以及Windows底层协议和基本排错的文章
工具简介
pingcastle(安全堡垒)是一款由法国安全技术专家开发专注域内安全评估和资产收集的商业性工具,目前存在商业版和免费版可使用,本文介绍免费版的使用方法和参数的直译
使用
一、安装
解压安装包后如下所示,运行PingCastle.exe即可进入命令行选择不同参数
二、使用
1、可以选择双击运行进入交互模式
你想让我做什么?
=======================
使用交互模式。
不要忘记还有其他命令行开关,例如--help,您可以使用
1-healthcheck-评估域的风险
2-conso-将多个报告汇总到一个报告中
3-carto-构建所有互连域的地图
4-扫描仪-在工作站上执行特定的安全检查
5-高级-打开高级菜单
0-退出
===============================
这是PingCastle的主要功能。 在几分钟之内,它会生成一份报告,为您提供有关Active Directory安全性的概述。 您也可以使用现有的信任链接在其他域上生成此报告。
2、也可以选择命令行搭配参数运行
1-healthcheck-安全检查
双击直接运行显示如下
选择一个域或服务器
========================
请指定要调查的域或服务器(默认值:xxxxx.com) //此处默认为当前域,选择好后回车稍后便在当前目录生成两份格式的评估报告,生成宝报告后,程序退出。
搭配参数运行如下
基本扫描命令
PingCastle.exe --healthcheck
更多该命令参数:
--healthcheck:执行安全检查(步骤1)
--api-endpoint <>:通过调用api上传报告,例如:http://server
--api-key <key>:使用已注册的api密钥
--explore-trust:在运行安全检查之后,在目录林的域上,对除目录林和目录林信任域之外的所有受信任域执行hc
--explore-forest-trust:在森林的根域上,运行状况检查之后,对发现的所有森林信任进行hc
--explore-trust和--explore-forest-trust可一起运行
--explore-exception <domains>:逗号分隔的不会自动探索的域的值
--encrypt:使用存储在.config文件中的RSA密钥对xml报告的内容进行加密
--level <级别>:指定在xml文件中找到的数据量 例如:--level Full,Normal,Light (default: Normal)
--no-enum-limit:删除HTML报告中最多100个用户的限制
--reachable:将可访问域添加到发现的域列表中
--sendXmlTo <电子邮件>:将xml报告发送到邮箱(以逗号分隔的电子邮件)
--sendHtmlTo <电子邮件>:将html报告发送到邮箱
--sendAllTo <电子邮件>:将html报告发送到邮箱
--notifyMail <电子邮件>:在收到邮件时添加电子邮件通知
--smtplogin <用户>:允许smtp凭据...
--smtppass <pass>:...在命令行中输入
--smtptls:如果在465和587以外的其他端口上使用,则在SMTP中启用TLS / SSL
--skip-null-session:不测试空会话
--webdirectory <dir>:将xml报告上传到webdav服务器
--webuser <用户>:可选的用户名和密码
--webpassword <密码>
--I-swear-I-paid-win7-support:毫无意义
我们可以看到如下生成的报告内容非常成熟,其将当前扫描域的安全风险以指标图显示。该指标并且由如下图四个小指标统计而来。风险越小,指标趋向于绿色。风险越大,指标趋向于红色。而如下图所示的也包括此工具检测的风险类型,针对每一个风险类型按照不同的颜色划分不同的安全级别
2-conso-将多个报告汇总到一个报告中
笔者在运行该命令时,当前目录生成了四个htlm文件,分别将第一条命令生成的报告内容拆分为不同的内容进行存储。
双击选择该项后回车直接运行
命令行运行参数
PingCastle.exe --hc-conso
更多参数
--hc-conso:合并多个运行状况检查xml报告(步骤2)
--center-on <domain>:在此域上将简化图居中
默认是链接最多的域
--xmls <路径>:指定包含xml的路径(默认值:当前目录)
--filter-date <日期>:过滤日期之后生成的报告。
3-carto-构建所有互连域的地图
选择该项后回车即可将当前存在信任关系的域内网络拓扑图绘制出来
命令行运行参数:PingCastle.exe --carto
4-扫描-在工作站上执行特定的安全检查
交互模式选择相应的编号即可
命令行参数如下所示
选择扫描类型
警告:同时检查多个工作站可能会引发安全警报。
aclcheck \\检查域内的ACL
antivirus \\检查域内未安装已知防病毒软件的计算机,它用于检测不受保护的计算机,也可以检查域内具有未知防病毒功能的计算机
export_user \\导出AD域内所有用户及其创建日期,上次登录和上次密码更改。
foreignusers \\使用信任机制枚举位于其他域中的用户,例如距离太远的域
laps_bitlocker \\检查是否为域中的所有计算机启用LAPS(本地管理员密码解决方案)或BitLocker(Windows磁盘加密)功能
localadmin \\枚举计算机的本地管理员
nullsession \\检查是否启用了空会话并提供示例。
nullsession-trust \\检查可以通过空会话进行通信的域信任列表
oxidbindings \\通过Oxid Resolver(DCOM的一部分)列出计算机的所有IP。无需身份验证,用于查找其他网络
remote \\检查计算机上是否安装了远程桌面解决方案
share \\列出计算机上的共享列表,并显示不同的共享是否可以由所有人访问
smb \\扫描计算机可用的smb版本并显示smb协议是否启动
smb3querynetwork \\使用SMB3协议列出计算机所对应的和接口速度。需要身份验证,可用于查找其他网络
spooler \\检查域内各个主机上是否开放了打印机服务
startup \\获取计算机的上次启动日期。可用于确定是否已应用最新补丁
zerologon \\检验是否存在ZeroLogon漏洞。注意:必须在域内测试。域信任
5-高级-打开高级菜单
1-protocol-更改用于查询AD的协议(ADWSThenLDAP(默认)仅ADWS,LDAP,LDAPThenADWS)
2-hcrules-生成包含PingCastle应用的所有规则的报告
3-generatekey-生成用于加密和解密报告的RSA密钥
4-noenumlimit-删除运行状况检查报告中的100个项目限制
--encrypt-解密xml报告
6-regenerate-基于xml报告重新生成html报告
7-log-启用日志记录(禁用日志)
0-退出
总结
目前笔者介绍部分参数,当然还有其他未能概括进来的子参数,笔者上述介绍的参数能够满足大部分中小企业的内网资产收集