コード例 #1
0
ファイル: test_ticket.py プロジェクト: zu1kbackup/Canvas
def test_ticket_ms14_068():
    try:
        cc1 = CCache()
        cc1.set_raw_data(ccache_ms14_068.decode('hex'))
        raw_ticket = cc1.get_ticket('krbtgt/%s@%s' % (DOMAIN, DOMAIN))
        if not raw_ticket:
            logging.error('No ticket found!')
            return False

        tktobj = Ticket(raw_ticket)
        enc_tgt = tktobj.get_encrypted_data()
        enc_tgt_type = tktobj.get_encryption_type()

        tgtobj = CCacheTGT()
        tgtobj.set_ciphertext(enc_tgt)
        tgtobj.set_key([enc_tgt_type, KRBTGT_NTLM.decode('hex')])
        tgtobj.set_mode(MODE_TGT)
        clear_tgt = tgtobj.decrypt()

        if USER in clear_tgt:
            return True
        else:
            return False

    except Exception as e:
        logging.error(e)
        return False