All Projects → thobbs → pure-sasl

thobbs / pure-sasl

Licence: MIT license
A pure python SASL client

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to pure-sasl

modules
Mesos modules examples and open source modules outside of the Apache Mesos source tree.
Stars: ✭ 26 (-18.75%)
Mutual labels:  sasl, kerberos
kerby
Go wrapper for Kerberos GSSAPI
Stars: ✭ 33 (+3.13%)
Mutual labels:  kerberos
KerberosRun
A little tool to play with Kerberos.
Stars: ✭ 59 (+84.38%)
Mutual labels:  kerberos
omniauth-kerberos
OmniAuth strategy for kerberos authentication.
Stars: ✭ 13 (-59.37%)
Mutual labels:  kerberos
Evil Winrm
The ultimate WinRM shell for hacking/pentesting
Stars: ✭ 2,251 (+6934.38%)
Mutual labels:  kerberos
docker-kdc
Docker container generator for a Kerberos KDC.
Stars: ✭ 46 (+43.75%)
Mutual labels:  kerberos
windows-lab
Windows Automated Lab with Vagrant
Stars: ✭ 78 (+143.75%)
Mutual labels:  kerberos
go-spnego
Wraps gokrb5 and sspi libraries to provide cross-platform way to make HTTP calls with Kerberos authentication
Stars: ✭ 20 (-37.5%)
Mutual labels:  kerberos
beanshooter
JMX enumeration and attacking tool.
Stars: ✭ 172 (+437.5%)
Mutual labels:  sasl
Limnoria
A robust, full-featured, and user/programmer-friendly Python IRC bot, with many existing plugins. Successor of the well-known Supybot.
Stars: ✭ 578 (+1706.25%)
Mutual labels:  sasl
Cheat-Sheet---Active-Directory
This cheat sheet contains common enumeration and attack methods for Windows Active Directory with the use of powershell.
Stars: ✭ 154 (+381.25%)
Mutual labels:  kerberos
nsspi
A C# / .Net interface to the Win32 SSPI authentication API
Stars: ✭ 60 (+87.5%)
Mutual labels:  kerberos
saslprep
SASLprep: Stringprep Profile for User Names and Passwords.
Stars: ✭ 17 (-46.87%)
Mutual labels:  sasl
Impacket
Impacket is a collection of Python classes for working with network protocols.
Stars: ✭ 8,037 (+25015.63%)
Mutual labels:  kerberos
python-krbcontext
A Kerberos context manager
Stars: ✭ 23 (-28.12%)
Mutual labels:  kerberos
code
~/code – tools distributed across all of my systems
Stars: ✭ 73 (+128.13%)
Mutual labels:  kerberos
sieve-connect
A client for the MANAGESIEVE Protocol
Stars: ✭ 60 (+87.5%)
Mutual labels:  sasl
proxyplease
Cross-platform proxy selection with optional native authentication negotiation
Stars: ✭ 37 (+15.63%)
Mutual labels:  kerberos
vault-plugin-auth-kerberos
[DEPRECATED] Plugin for Hashicorp Vault enabling Kerberos authentication
Stars: ✭ 36 (+12.5%)
Mutual labels:  kerberos
jupyterhub-kdcauthenticator
A Kerberos authenticator module for the JupyterHub platform
Stars: ✭ 22 (-31.25%)
Mutual labels:  kerberos

pure-sasl

https://travis-ci.org/thobbs/pure-sasl.png?branch=master

pure-sasl is a pure python client-side SASL implementation.

At the moment, it supports the following mechanisms: ANONYMOUS, PLAIN, EXTERNAL, CRAM-MD5, DIGEST-MD5, and GSSAPI. Support for other mechanisms may be added in the future. Only GSSAPI supports a QOP higher than auth. Always use TLS!

Both Python 2 and Python 3 are supported.

Example Usage

from puresasl.client import SASLClient

sasl = SASLClient('somehost2', 'customprotocol')
conn = get_connection_to('somehost2')
available_mechs = conn.get_mechanisms()
sasl.choose_mechanism(available_mechs, allow_anonymous=False)
while True:
    status, challenge = conn.get_challenge()
    if status == 'COMPLETE':
        break
    elif status == 'OK':
        response = sasl.process(challenge)
        conn.send_response(response)
    else:
        raise Exception(status)

if not sasl.complete:
    raise Exception("SASL negotiation did not complete")

# begin normal communication
encoded = conn.fetch_data()
decoded = sasl.unwrap(encoded)
response = process_data(decoded)
conn.send_data(sasl.wrap(response))

License

Some of the mechanisms and utility functions are based on work done by David Alan Cridland and Lance Stout in Suelta: https://github.com/dwd/Suelta

pure-sasl is open source under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].