Skip to content
This repository was archived by the owner on Oct 17, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions core/parsers/__init__.py

This file was deleted.

6 changes: 0 additions & 6 deletions core/sprayers/__init__.py

This file was deleted.

2 changes: 0 additions & 2 deletions core/webhooks/__init__.py

This file was deleted.

82 changes: 82 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import setuptools

with open("README.md", "r") as fh:
long_description = fh.read()

setuptools.setup(
name="sprayingtoolkit",
version="0.0.1",
author="Foo Bar (@byt3bl33d3r)",
author_email="[email protected]",
description="Password spraying toolkit targetting Lync, Skype for Business and Outlook Web Access",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://gitlab.com/byt3bl33d3r/SprayingToolkit",
packages=setuptools.find_packages(),
classifiers=[
'Development Status :: 3 - Alpha',
'Intended Audience :: Information Technology',
'Intended Audience :: System Administrators',
'Topic :: Security',
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
],
python_requires='>=3.6',
install_requires=[
'PrettyTable',
'asn1crypto==0.24.0',
'blinker==1.4',
'boto3==1.9.210',
'botocore==1.12.210',
'brotlipy==0.7.0',
'certifi==2019.6.16',
'cffi==1.12.3',
'chardet==3.0.4',
'click==6.7',
'cryptography==2.3.1',
'docopt==0.6.2',
'docutils==0.15.2',
'h11==0.7.0',
'h2==3.1.1',
'hpack==3.0.0',
'hyperframe==5.2.0',
'idna==2.8',
'imapclient==2.1.0',
'jmespath==0.9.4',
'kaitaistruct==0.8',
'ldap3==2.5.2',
'lxml==4.4.1',
'mitmproxy==4.0.4',
'ntlm-auth==1.3.0',
'passlib==1.7.1',
'pyasn1==0.4.6',
'pycparser==2.19',
'pyopenssl==18.0.0',
'pyparsing==2.2.2',
'pyperclip==1.6.5',
'requests-ntlm==1.1.0',
'requests==2.22.0',
'ruamel.yaml==0.15.100',
's3transfer==0.2.1',
'six==1.12.0',
'sortedcontainers==2.0.5',
'termcolor==1.1.0',
'tornado==5.1.1',
'urllib3==1.25.3',
'urwid==2.0.1',
'wsproto==0.11.0',
],
entry_points={
'console_scripts': [
'atomizer=sprayingtoolkit.atomizer:main',
'spindrift=sprayingtoolkit.spindrift:main',
],
},
project_urls={ # Optional
'Bug Reports': 'https://github.com/byt3bl33d3r/SprayingToolkit/issues',
'Source': 'https://github.com/byt3bl33d3r/SprayingToolkit/',
},
)
File renamed without changes.
2 changes: 1 addition & 1 deletion aerosol.py → sprayingtoolkit/aerosol.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import boto3
import signal
import os
from core.utils.messages import print_info, print_good
from sprayingtoolkit.core.utils.messages import print_info, print_good
from mitmproxy import http, ctx
#from IPython import embed

Expand Down
13 changes: 8 additions & 5 deletions atomizer.py → sprayingtoolkit/atomizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@
from functools import partial
from pathlib import Path
from docopt import docopt
from core.utils.messages import *
from core.sprayers import Lync, OWA, IMAP
from core.utils.time import countdown_timer, get_utc_time
from core.webhooks import gchat, slack
from sprayingtoolkit.core.utils.messages import *
from sprayingtoolkit.core.sprayers import Lync, OWA, IMAP
from sprayingtoolkit.core.utils.time import countdown_timer, get_utc_time
from sprayingtoolkit.core.webhooks import gchat, slack


class Atomizer:
Expand Down Expand Up @@ -145,7 +145,7 @@ def remove_handlers(loop):
for sig in (signal.SIGINT, signal.SIGTERM):
loop.remove_signal_handler(sig)

if __name__ == "__main__":
def main():
args = docopt(__doc__, version="1.0.0dev")
loop = asyncio.get_event_loop()

Expand Down Expand Up @@ -228,3 +228,6 @@ def remove_handlers(loop):
loop.run_until_complete(atomizer.atomize_user_as_pass(userfile))

atomizer.shutdown()

if __name__ == "__main__":
main()
File renamed without changes.
2 changes: 2 additions & 0 deletions sprayingtoolkit/core/parsers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from sprayingtoolkit.core.parsers.bing import bing
from sprayingtoolkit.core.parsers.google import google
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import lxml.html
from core.parsers.linkedin import linkedin_se_name_parser
from sprayingtoolkit.core.parsers.linkedin import linkedin_se_name_parser


def bing(content):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import lxml.html
from core.parsers.linkedin import linkedin_se_name_parser
from sprayingtoolkit.core.parsers.linkedin import linkedin_se_name_parser


def google(content):
Expand Down
6 changes: 6 additions & 0 deletions sprayingtoolkit/core/sprayers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import urllib3
from sprayingtoolkit.core.sprayers.lync import Lync
from sprayingtoolkit.core.sprayers.owa import OWA
from sprayingtoolkit.core.sprayers.imap import IMAP

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import logging
from core.utils.messages import print_good, print_bad
from sprayingtoolkit.core.utils.messages import print_good, print_bad
import imapclient

class IMAP:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import urllib.parse as urlparse
from datetime import timedelta
from requests.exceptions import ConnectionError
from core.utils.messages import *
from core.utils.time import simple_utc
from sprayingtoolkit.core.utils.messages import *
from sprayingtoolkit.core.utils.time import simple_utc
from lxml import etree
from datetime import datetime

Expand Down
4 changes: 2 additions & 2 deletions core/sprayers/owa.py → sprayingtoolkit/core/sprayers/owa.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
import requests
from requests_ntlm import HttpNtlmAuth
from requests.exceptions import ConnectionError
from core.utils.ntlmdecoder import ntlmdecode
from core.utils.messages import *
from sprayingtoolkit.core.utils.ntlmdecoder import ntlmdecode
from sprayingtoolkit.core.utils.messages import *


class OWA:
Expand Down
Empty file.
2 changes: 1 addition & 1 deletion core/utils/time.py → sprayingtoolkit/core/utils/time.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import time
from datetime import datetime
from datetime import timedelta, tzinfo
from core.utils.messages import print_info
from sprayingtoolkit.core.utils.messages import print_info

# https://stackoverflow.com/questions/19654578/python-utc-datetime-objects-iso-format-doesnt-include-z-zulu-or-zero-offset
# I have no clue what I'm doing here
Expand Down
2 changes: 2 additions & 0 deletions sprayingtoolkit/core/webhooks/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from sprayingtoolkit.core.webhooks.gchat import gchat
from sprayingtoolkit.core.webhooks.slack import slack
7 changes: 5 additions & 2 deletions spindrift.py → sprayingtoolkit/spindrift.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import sys
from docopt import docopt
from core.sprayers.owa import OWA
from sprayingtoolkit.core.sprayers.owa import OWA


def convert_to_ad_username(name, username_format, domain):
Expand All @@ -24,7 +24,7 @@ def convert_to_ad_username(name, username_format, domain):
print(f"{domain.upper()}\\{username.lower()}" if domain else username.lower())


if __name__ == '__main__':
def main():

args = docopt(__doc__)
contents = open(args['<file>']) if args['<file>'] else sys.stdin
Expand All @@ -40,3 +40,6 @@ def convert_to_ad_username(name, username_format, domain):

for line in contents:
convert_to_ad_username(line, args['--format'], domain)

if __name__ == '__main__':
main()
6 changes: 3 additions & 3 deletions vaporizer.py → sprayingtoolkit/vaporizer.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import signal
import asyncio
from core.parsers import bing, google
from core.utils.messages import print_good
from atomizer import Atomizer
from sprayingtoolkit.core.parsers import bing, google
from sprayingtoolkit.core.utils.messages import print_good
from sprayingtoolkit.atomizer import Atomizer
from termcolor import colored
from mitmproxy import ctx, exceptions, http

Expand Down