ipapocket
is a python library for interacting with FreeIPA network protocols. ipapocket
is focused on providing low-level programmatic access to protocols through a convenient object-oriented API, with which you can construct packets from scratch or parse them from raw data. ipapocket
also provides several tools as an example of what can be done with this library.
Due to lack of support for FreeIPA features in impacket and attempts to make a more user-friendly interface for interacting with kerberos (we plan to add more network protocols in the future).
WARNING: This version of the codebase is under active development so the API may change over time
Install it via pip
form GitHub:
pip install git+https://github.com/c2micro/ipapocket
Consider to use a Python virtual environment.
You can install the tools from the examples using pipx
:
pipx install git+https://github.com/c2micro/ipapocket
ipp-cve-2024-3183.py
: PoC for CVE-2024-3183. To crack hashes with AES256-SHA1 (etype 18) you can use this fork of hashcat with mode 32900
ipp-id2entry.py
: parse output of dbscan -f id2entry.db
and decrypt principals keys (can be used for creation of tickets)
ipp-get-tgt.py
: get AS-REP and save TGT to CCACHE (normal authentication flow with PASSWORD)
ipp-get-tgt-spake.py
: get AS-REP and save TGT to CCACHE (SPAKE hardened password)
ipp-get-tgs.py
: get TGS-REP and save TGS to CCACHE (only use TGT from KRB5CCNAME)
ipp-user-enum.py
: enumarate users via Kerberos
ipp-show-ccache.py
: describe credentials in CCACHE