Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d1fbda5fcd | ||
|
|
399d107473 | ||
|
|
682aa39879 | ||
|
|
933ea6000e | ||
|
|
7ef69015e1 | ||
|
|
f228aa0884 | ||
|
|
9afdbdd871 | ||
|
|
6f99d09d45 | ||
|
|
44c38958aa | ||
|
|
4e9b07fad2 | ||
|
|
11465748dc | ||
|
|
5a3a3f7918 | ||
|
|
d5a00b36fb | ||
|
|
6aa4bd0c91 | ||
|
|
2d2b5f89ce | ||
|
|
8995411c08 | ||
|
|
91617ea840 | ||
|
|
7013d8f51a | ||
|
|
190a603a7e | ||
|
|
c581a5364a | ||
|
|
ed52313b96 | ||
|
|
7d5e88b23d | ||
|
|
f33a9600e8 | ||
|
|
309160017f | ||
|
|
e9426feb58 | ||
|
|
bb330520a8 | ||
|
|
da5d88c842 | ||
|
|
62bc022cc7 |
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
github: [cr0hn]
|
||||
16
CHANGELOG
16
CHANGELOG
@@ -1,10 +1,20 @@
|
||||
Version 1.0.0
|
||||
Version 1.1.x
|
||||
=============
|
||||
|
||||
Internal modifications
|
||||
Improvements and fixes
|
||||
----------------------
|
||||
|
||||
- First release.
|
||||
- Performance improvements.
|
||||
- Many fixes and wild exceptions
|
||||
- Improved documentation
|
||||
|
||||
New features
|
||||
------------
|
||||
|
||||
- Added new module for authentication bruteforcer
|
||||
|
||||
Version 1.0.0
|
||||
=============
|
||||
|
||||
Improvements and fixes
|
||||
----------------------
|
||||
|
||||
@@ -13,5 +13,6 @@ global-exclude *.pyc
|
||||
global-exclude .git*
|
||||
global-exclude .DS_Store
|
||||
global-exclude .mailmap
|
||||
prune enteletaor_lib/doc*
|
||||
prune doc*
|
||||
|
||||
graft enteletaor_lib/resources/*
|
||||
33
README.rst
33
README.rst
@@ -2,7 +2,7 @@ Enteletaor
|
||||
==========
|
||||
|
||||
|
||||
.. figure:: doc/images/enteletaor-logo-300px.png
|
||||
.. figure:: https://raw.githubusercontent.com/cr0hn/enteletaor/master/doc/images/enteletaor-logo-300px.png
|
||||
:align: left
|
||||
|
||||
*Enteletaor: Message Queue & Broker Injection tool*
|
||||
@@ -21,17 +21,18 @@ Message Queue & Broker Injection tool that implements attacks to Redis, RabbitMQ
|
||||
|
||||
Some of the actions you can do:
|
||||
|
||||
- Listing remote tasks.
|
||||
- Read remote task content.
|
||||
- Disconnect remote clients from Redis server (even the admin!)
|
||||
- Inject tasks into remote processes.
|
||||
- Make a scan to discover open brokers.
|
||||
- Listing remote tasks.
|
||||
- Read remote task content.
|
||||
- Disconnect remote clients from Redis server (even the admin!)
|
||||
- Inject tasks into remote processes.
|
||||
- Make a scan to discover open brokers.
|
||||
- Try to discover user/passwords in auth protected brokers
|
||||
|
||||
Currently supported brokers are:
|
||||
|
||||
- RabbitMQ (or AMQP compatible).
|
||||
- ZeroMQ.
|
||||
- Redis.
|
||||
- RabbitMQ (or AMQP compatible).
|
||||
- ZeroMQ.
|
||||
- Redis.
|
||||
|
||||
See documentation for more information.
|
||||
|
||||
@@ -40,9 +41,17 @@ What's new?
|
||||
|
||||
This Enteletaor version, add a lot of new features and fixes, like:
|
||||
|
||||
.. note::
|
||||
|
||||
You can read entire list in CHANGELOG file.
|
||||
|
||||
Version 1.1.x
|
||||
+++++++++++++
|
||||
|
||||
- Many improvements and fixes
|
||||
- Added new module: **password bruteforcer**.
|
||||
|
||||
Version 1.0.0
|
||||
+++++++++++++
|
||||
|
||||
- First version released
|
||||
|
||||
You can read entire list in CHANGELOG file.
|
||||
- First version released
|
||||
23
__init__.py
23
__init__.py
@@ -1 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
@@ -1 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
@@ -1,79 +1,78 @@
|
||||
Advanced usage
|
||||
==============
|
||||
|
||||
Enteleteaor implements many attacks and options to interact with different brokers:
|
||||
Enteletaor implements some attacks and has many options to interact with different brokers:
|
||||
|
||||
- Redis
|
||||
- RabbitMQ (of AMQP compabible)
|
||||
- ZeroMQ
|
||||
|
||||
Also implements some attacks specifics for Redis server. This document try to collect this information.
|
||||
The tool also implements some specifics attacks for Redis server. This document try to collect this information.
|
||||
|
||||
There are the 3 type actions implemented:
|
||||
There are the 3 kind actions implemented:
|
||||
|
||||
- Scanning
|
||||
- Redis actions
|
||||
- Tasks actions
|
||||
|
||||
|
||||
Scanner
|
||||
-------
|
||||
|
||||
Enteleteaor implements a scanner to aims to detect open brokers. The scanning is implemented in pure python, with no external dependecies, like ``nmap``.
|
||||
Enteletaor implements a scanner that detects open brokers. The scanner is implemented in pure python, with no external dependecies, like ``nmap``.
|
||||
|
||||
The reason to implement a native scanner si because in ``nmap`` v7 no all scripts that detects open services works.
|
||||
The reason to implement a native scanner is because in ``nmap`` v7 no all scripts that detects open services works.
|
||||
|
||||
.. note::
|
||||
|
||||
You also can pass as target a hostname, not only and IP.
|
||||
You also can pass as target a domain, not only and IP.
|
||||
|
||||
Custom ports
|
||||
++++++++++++
|
||||
|
||||
As you can read in :doc:`quickstart` document, you can scan a single host or a network. Syntax is nmap-like.
|
||||
|
||||
You can specify other ports that enteleteaor default, using ``-p`` option:
|
||||
You can specify other ports that enteletaor default, using ``-p`` option:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor scan -t 10.10.0.10/16 -p 5550,5551
|
||||
# enteletaor scan -t 10.10.0.10/16 -p 5550,5551
|
||||
|
||||
Parallel scanning
|
||||
+++++++++++++++++
|
||||
|
||||
By default, enteleteaor runs 20 concurrent scanning. Internally it's implemented with greenlets threads. It means that are not "real" threads. You can think about greenlets thread as a lightweight version of threads.
|
||||
By default, enteletaor runs 20 concurrent scanning. Internally it's implemented with *greenlets* threads. It means that are not "real" Python threads. You can think about greenlets thread as a lightweight version of threads.
|
||||
|
||||
We recommend can use 40 concurrent scanning threads. Don't worry for the overload of your system, green threads will made this possible without a hungry CPU process.
|
||||
I recommend to use 40 concurrent scanning threads. Don't worry for the overload of your system, green threads will made this possible without a hungry CPU process.
|
||||
|
||||
To change concurrency, you can use ``-c`` option:
|
||||
To change concurrency, we use ``-c`` option:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor scan -t 10.10.0.10/24 -c 40
|
||||
# enteletaor scan -t 10.10.0.10/24 -c 40
|
||||
|
||||
Saving results
|
||||
++++++++++++++
|
||||
|
||||
Enteleteaor can export scan results as a JSON format, using ``--output`` option:
|
||||
Enteletaor can export scan results as a JSON format, using ``--output`` option:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor scan -t 10.10.0.10 --output results
|
||||
# enteletaor scan -t 10.10.0.10 --output results
|
||||
|
||||
Or:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor scan -t 10.10.0.10 --output results.json
|
||||
# enteletaor scan -t 10.10.0.10 --output results.json
|
||||
|
||||
.. note::
|
||||
|
||||
If you don't indicate the file extension, enteleteaor will add it for you.
|
||||
If you don't indicate the file extension, enteletaor will add it for you.
|
||||
|
||||
Company lookup
|
||||
++++++++++++++
|
||||
|
||||
This is a bit strange option. Typing ``-o`` enteleteaor will try to lookup the company name in RIPE, get all the IP ranges registered for it and add to scan.
|
||||
This is a bit strange option. Typing ``-o`` enteletaor will try to lookup the company name in RIPE and get all IP ranges registered for it, adding then to scanner.
|
||||
|
||||
For example, if you try to get scan ``google.com`` it will 1465 new host:
|
||||
|
||||
@@ -111,17 +110,17 @@ For example, if you try to get scan ``google.com`` it will 1465 new host:
|
||||
Tasks
|
||||
-----
|
||||
|
||||
Currently you can do 4 sub-actions for tasks.
|
||||
Currently you can do 4 sub-actions for ``tasks`` command.
|
||||
|
||||
All of these actions are available only if broker is open. An open broker means that not credential are needed for connect to.
|
||||
All of these actions are available **only if broker is open**. An open broker means that not credential are needed for connect to.
|
||||
|
||||
.. note::
|
||||
|
||||
But.. what's a task? Oks, no problem, let's see:
|
||||
But.. **what's a task?** Oks, no problem, let's see:
|
||||
|
||||
When we use a process manager to handle background tasks they use an external communication system. This communication system usually is a broker.
|
||||
|
||||
The processes managers need this communication systems to send the information to be executed to the runner. Each runner is waiting for new information to process. and the broker permit delegate the exchange problems.
|
||||
The processes managers need this communication systems to send the information to the runner. Each runner is waiting for new information to process, and the broker permit delegate the exchange problems.
|
||||
|
||||
So, we call this in information a ``pending task``. This ``task`` is really some information waiting in the broker to be send to the runner.
|
||||
|
||||
@@ -131,11 +130,11 @@ Listing remote tasks
|
||||
Basic usage
|
||||
___________
|
||||
|
||||
If there are pending tasks in broker queue, we can analyze them. Enteleteaor allow us to list all tasks found. Although there is more than one task of each type in queue, only the task definition is displayed:
|
||||
If there are pending tasks in broker queue, we can analyze them. Enteletaor allow us to list all tasks found. Although there is more than one task of each type in queue, only the task definition is displayed:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor -v tasks list-tasks -t 10.10.0.10
|
||||
# enteletaor -v tasks list-tasks -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with server...
|
||||
[ * ] - Remote process found:
|
||||
@@ -151,15 +150,15 @@ We can see that broker has 2 task definition stored:
|
||||
Export Template
|
||||
_______________
|
||||
|
||||
Enteleteaor also permit inject new tasks to broker (see bellow). The way to inject them is to pass as input a JSON file with the information. Write this file must be a bit hard. To help us, enteleteaor can export a template.
|
||||
Enteletaor also permit inject new tasks to broker (see bellow). The way to inject them is to pass as input a JSON file with the information. Write this file must be a bit hard. To help us, enteletaor can export a template.
|
||||
|
||||
With this template, we only must fill the appropriate field:
|
||||
With this template, we only must fill the appropriate fields:
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
:emphasize-lines: 8
|
||||
|
||||
# enteleteaor -v tasks list-task -t 10.10.0.10 -T my_template -F tasks.send_mail
|
||||
# enteletaor -v tasks list-task -t 10.10.0.10 -T my_template -F tasks.send_mail
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with server...
|
||||
[ * ] - Remote process found:
|
||||
@@ -177,11 +176,11 @@ In this example only export the function ``tasks.send_mail``.
|
||||
Removing tasks
|
||||
++++++++++++++
|
||||
|
||||
We also can remove all pending task from the broker queue. It's so simple:
|
||||
We also can remove **all** pending task from the broker queue. It's so simple:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor tasks remove -t 10.10.0.10
|
||||
# enteletaor tasks remove -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with server...
|
||||
[ * ] - All tasks removed from '10.10.0.10'
|
||||
@@ -193,11 +192,11 @@ Dumping tasks content
|
||||
Basic usage
|
||||
___________
|
||||
|
||||
We can dump the content of tasks simply using raw-dump sub-command:
|
||||
We can dump the content of tasks simply using ``raw-dump` sub-command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor tasks raw-dump -t 10.10.0.10
|
||||
# enteletaor tasks raw-dump -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with server...
|
||||
[ * ] Found process information:
|
||||
@@ -229,13 +228,13 @@ We can dump the content of tasks simply using raw-dump sub-command:
|
||||
Streaming mode
|
||||
______________
|
||||
|
||||
Some time we could want to listen in real time new messages available in broker. If we use ``--streaming`` option, enteleteaor will wait for new messages:
|
||||
Some times we could want listen new messages available in broker in real time . If we use ``--streaming`` option, enteletaor will wait for new messages:
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
:emphasize-lines: 17-20
|
||||
|
||||
# enteleteaor tasks raw-dump -t 10.10.0.10 --streaming
|
||||
# enteletaor tasks raw-dump -t 10.10.0.10 --streaming
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with server...
|
||||
[ * ] Found process information:
|
||||
@@ -259,15 +258,15 @@ Some time we could want to listen in real time new messages available in broker.
|
||||
Output file
|
||||
___________
|
||||
|
||||
We can export results to CVS file using ``--output`` option. The reason to choose this format is because it permit real-time reading. In other words:
|
||||
We can export results to CSV file using ``--output`` option. The reason to choose this format is because it permit real-time reading. In other words:
|
||||
|
||||
Imagine you want to put enteleteaor in streaming mode and, at the same time, put another process to read the information from export file, CSV allow this because each line is independent of others.
|
||||
Imagine you want to put enteletaor in streaming mode and, at the same time, put another process to read the information from export file, CSV allow this because each line is independent of others.
|
||||
|
||||
Enteleteaor store CVS as *append* mode, so it will not overwriting old file content:
|
||||
Enteletaor writes in CSV as *append* mode, so it will not overwriting old file content:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor tasks raw-dump -t 10.10.0.10 --streaming --output dumped_server_file
|
||||
# enteletaor tasks raw-dump -t 10.10.0.10 --streaming --output dumped_server_file
|
||||
|
||||
And, in other console, we can write:
|
||||
|
||||
@@ -277,20 +276,20 @@ And, in other console, we can write:
|
||||
|
||||
.. note::
|
||||
|
||||
If not extension provided, enteleteaor automatically add .csv
|
||||
If not extension provided, enteletaor automatically add .csv
|
||||
|
||||
Inject new tasks
|
||||
++++++++++++++++
|
||||
|
||||
Finally, enteleteaor permit us to inject new tasks to the broker flow. The injection only accept one parameter: ``-f`` (``--function-file``).
|
||||
Finally, enteletaor permit us to inject new tasks to the broker flow. The injection only accept one parameter: ``-f`` (``--function-file``).
|
||||
|
||||
This parameter need a JSON file as input with the function parameters. Do you remember `Export template`_ option of the list-tasks sub-command?
|
||||
This parameter need a JSON as input file with the function parameters. Do you remember `Export template`_ option of the list-tasks sub-command?
|
||||
|
||||
One we have the JSON file, we can inject the new process:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor tasks inject -f my_template.json
|
||||
# enteletaor tasks inject -f my_template.json
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Building process...
|
||||
[ * ] - Trying to connect with server...
|
||||
@@ -299,7 +298,6 @@ One we have the JSON file, we can inject the new process:
|
||||
[ * ] Done!
|
||||
|
||||
|
||||
|
||||
Redis
|
||||
-----
|
||||
|
||||
@@ -336,7 +334,7 @@ This command need as input the client to disconnect. Client must be as format: I
|
||||
:linenos:
|
||||
:emphasize-lines: 7,13
|
||||
|
||||
# enteleteaor redis connected -t 10.10.0.10
|
||||
# enteletaor redis connected -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] Connected users to '10.10.0.10':
|
||||
[ * ] - 10.10.0.2:52748 (DB: 0)
|
||||
@@ -346,7 +344,7 @@ This command need as input the client to disconnect. Client must be as format: I
|
||||
[ * ] - 10.10.0.2:51200 (DB: 0)
|
||||
[ * ] Done!
|
||||
|
||||
# enteleteaor redis disconnect -t 10.10.0.10 -c 127.0.0.1:42262
|
||||
# enteletaor redis disconnect -t 10.10.0.10 -c 127.0.0.1:42262
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Client '127.0.0.1:42264' was disconnected
|
||||
[ * ] Done!
|
||||
@@ -354,11 +352,11 @@ This command need as input the client to disconnect. Client must be as format: I
|
||||
Disconnect all users
|
||||
____________________
|
||||
|
||||
If you want to disconnect all connected users, enteleteaor has the shortcut ``--all``:
|
||||
If you want to disconnect all connected users, enteletaor has the shortcut ``--all``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis disconnect -t 10.10.0.10 --all
|
||||
# enteletaor redis disconnect -t 10.10.0.10 --all
|
||||
|
||||
Discovering DBs
|
||||
+++++++++++++++
|
||||
@@ -367,7 +365,7 @@ By default Redis has 16 databases, but you can add as many as you need. If the d
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis discover-dbs -t 10.10.0.10
|
||||
# enteletaor redis discover-dbs -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] Discovered '10.10.0.10' DBs at '16':
|
||||
[ * ] - DB0 - 4 keys
|
||||
@@ -399,7 +397,7 @@ One of more interesting thing is display information stored in redis and has the
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis dump -t 10.10.0.10
|
||||
# enteletaor redis dump -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with redis server...
|
||||
[ * ] "b'unacked'":
|
||||
@@ -457,7 +455,7 @@ Don't worry if above console output is a bit heavy, we can export results to a J
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis dump -t 10.10.0.10 -e dumped_info
|
||||
# enteletaor redis dump -t 10.10.0.10 -e dumped_info
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with redis server...
|
||||
[ * ] - Storing information into 'results.json'
|
||||
@@ -511,7 +509,7 @@ Don't worry if above console output is a bit heavy, we can export results to a J
|
||||
|
||||
.. note::
|
||||
|
||||
We don't need to put the extension .json to file. If extension is missing, enteleteaor will add it.
|
||||
We don't need to put the extension .json to file. If extension is missing, enteletaor will add it.
|
||||
|
||||
Hide screen output
|
||||
__________________
|
||||
@@ -520,7 +518,7 @@ If you don't want to display information into screen (useful when Redis contains
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis dump -t 10.10.0.10 -e dumped_info --no-screen
|
||||
# enteletaor redis dump -t 10.10.0.10 -e dumped_info --no-screen
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with redis server...
|
||||
[ * ] - Storing information into 'results.json'
|
||||
@@ -534,14 +532,14 @@ Redis is commonly used as a centralized cache system. We can handle this cache s
|
||||
Finding cache keys
|
||||
__________________
|
||||
|
||||
First step is find possible cache keys in Redis. Enteleteaor has the option ``--search`` that will try to find this keys:
|
||||
First step is find possible cache keys in Redis. Enteletaor has the option ``--search`` that will try to find this keys:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis cache -t 10.10.0.10
|
||||
# enteletaor redis cache -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] Looking for caches in '10.10.0.10'...
|
||||
[ * ] - Possible cache found in key: b'flask_cache_view//'
|
||||
[ * ] - Possible cache found in key: 'flask_cache_view//'
|
||||
[ * ] Done!
|
||||
|
||||
Dumping all cache keys
|
||||
@@ -551,10 +549,10 @@ If we want to dump, as raw-way, possible cache keys (not only locate) we omit th
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis cache -t 10.10.0.10
|
||||
# enteletaor redis cache -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Listing cache information:
|
||||
[ * ] -> Key: 'b'flask_cache_view//'' -
|
||||
[ * ] -> Key: 'flask_cache_view//'
|
||||
[ * ] -> Content:
|
||||
!X<!--
|
||||
Author: WebThemez
|
||||
@@ -581,10 +579,10 @@ We can dump only an specific key:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis cache -t 10.10.0.10 --cache-key "flask_cache_view//"
|
||||
# enteletaor redis cache -t 10.10.0.10 --cache-key "flask_cache_view//"
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Listing cache information:
|
||||
[ * ] -> Key: 'b'flask_cache_view//'' -
|
||||
[ * ] -> Key: 'flask_cache_view//'
|
||||
[ * ] -> Content:
|
||||
!X<!--
|
||||
Author: WebThemez
|
||||
@@ -607,13 +605,13 @@ We can dump only an specific key:
|
||||
Basic cache poisoning
|
||||
_____________________
|
||||
|
||||
Enteleteaor permit us to poison the cache. To enable the cache we need to enable it with option ``-P``.
|
||||
Enteletaor permit us to poison the cache. To enable the cache poisoning we need to enable it with option ``-P``.
|
||||
|
||||
By default, enteleteaor will try to inject an HTML <script> tag with an alert message:
|
||||
By default, enteletaor will try to inject an HTML <script> tag with an alert message: "You are vulnerable to broker injection".
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis cache -P -t 10.10.0.1
|
||||
# enteletaor redis cache -P -t 10.10.0.1
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Trying to connect with redis server...
|
||||
[ * ] - Poisoning enabled
|
||||
@@ -631,7 +629,7 @@ Using ``--payload`` option. This option need a file with the script:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis cache -P -t 10.10.0.10 --payload "<script>document.write('Say cheeeeers')</script>"
|
||||
# enteletaor redis cache -P -t 10.10.0.10 --payload "<script>document.write('Say cheeeeers')</script>"
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Poisoning enabled
|
||||
[ * ] - Poisoned cache key 'b'flask_cache_view//'' at server '10.10.0.10'
|
||||
@@ -642,7 +640,7 @@ Using ``--payload`` option. This option need a file with the script:
|
||||
.. code-block:: bash
|
||||
|
||||
# echo "<script>document.write('Say cheeeeers')</script>" > my_payload.txt
|
||||
# enteleteaor redis cache -P -t 10.10.0.10 --file-payload my_payload.txt
|
||||
# enteletaor redis cache -P -t 10.10.0.10 --file-payload my_payload.txt
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Poisoning enabled
|
||||
[ * ] - Poisoned cache key 'b'flask_cache_view//'' at server '10.10.0.10'
|
||||
@@ -656,8 +654,90 @@ Finally, we can replace entire content of cache key using option ``--replace-htm
|
||||
.. code-block:: bash
|
||||
|
||||
# echo "<html><head><title>Replaced content</title></head><body><h1>Say cheeeeers again :)</h1></body></html>" > new_html.html
|
||||
# enteleteaor redis cache -P -t 10.10.0.10 --replace-html new_html.html
|
||||
# enteletaor redis cache -P -t 10.10.0.10 --replace-html new_html.html
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Poisoning enabled
|
||||
[ * ] - Poisoned cache key 'flask_cache_view//' at server '10.10.0.10'
|
||||
[ * ] Done!
|
||||
|
||||
|
||||
Password brute forcer
|
||||
---------------------
|
||||
|
||||
Listing wordlist
|
||||
++++++++++++++++
|
||||
|
||||
Enteletaor has some wordlist embedded. If you want to show them, you must write:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute wordlist
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Available wordlists:
|
||||
[ * ] > 10_million_password_list_top_100
|
||||
[ * ] > 10_million_password_list_top_1000
|
||||
[ * ] > 10_million_password_list_top_10000
|
||||
[ * ] > 10_million_password_list_top_100000
|
||||
[ * ] Done!
|
||||
|
||||
The wordlist names could be used as input for the password module.
|
||||
|
||||
Discovering passwords
|
||||
+++++++++++++++++++++
|
||||
|
||||
We can try to discover remote passwords using enteletaor. To do this, we need a wordlist with passwords that we want to test. If we don't have any wordlist we can use one of embedded.
|
||||
|
||||
Basic usage
|
||||
___________
|
||||
|
||||
Using default options, enteletaor se the wordlist ``10_million_password_list_top_1000``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute password -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Detected 'Redis' server with 'auth'.
|
||||
[ * ] - Starting bruteforcer using wordlist : '/Users/Dani/Documents/Projects/enteletaor/enteletaor_lib/resources/wordlist/10_million_password_list_top_1000.txt'
|
||||
[ * ] Done!
|
||||
|
||||
.. note::
|
||||
|
||||
We also can set remote server port using option ``-p``.
|
||||
|
||||
Specifying wordlist
|
||||
___________________
|
||||
|
||||
We can set an external wordlist, with the option ``-w``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute password -t 10.10.0.10 -w /home/user/my_wordlist.txt
|
||||
|
||||
Or use a different embedded:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute password -t 10.10.0.10 -w 10_million_password_list_top_100000
|
||||
|
||||
Setting concurrency
|
||||
___________________
|
||||
|
||||
We also can specify the number os concurrent test we want to do, using option ``-c``.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute password -t 10.10.0.10 -w 10_million_password_list_top_100000 -c 20
|
||||
|
||||
Setting remote user
|
||||
___________________
|
||||
|
||||
Currently enteletaor doesn't support brute forcer for users, so for servers that need user/password we must set the **user**, using option ``-u``:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute password -t 10.10.0.10 -p 5672 -u admin
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Detected 'RabbitMQ' server with 'auth'.
|
||||
[ * ] - Set user to 'admin'
|
||||
[ * ] - Starting bruteforcer using wordlist : '/Users/Dani/Documents/Projects/enteletaor/enteletaor_lib/resources/wordlist/10_million_password_list_top_1000.txt'
|
||||
[ * ] Done!
|
||||
|
||||
@@ -26,7 +26,7 @@ Enteletaor is a message Queue & Broker Injection tool.
|
||||
Quick project description
|
||||
-------------------------
|
||||
|
||||
Enteleteaor is a tool that can handle information from open brokers.
|
||||
Enteletaor is a tool that can handle information from open brokers.
|
||||
|
||||
Some of the actions you can do:
|
||||
|
||||
@@ -57,4 +57,4 @@ Content Index
|
||||
Licence
|
||||
-------
|
||||
|
||||
I believe in freedom, so Enteletaor is released under BSD license.
|
||||
I believe in freedom, so Enteletaor is released under BSD license.
|
||||
|
||||
@@ -6,8 +6,8 @@ Dependencies
|
||||
|
||||
First you be sure you have installed this packages:
|
||||
|
||||
Python 2 & 3
|
||||
++++++++++++
|
||||
For Python 2 & 3
|
||||
++++++++++++++++
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
@@ -31,7 +31,7 @@ Python 2 only
|
||||
Installation from PIP (recommended)
|
||||
-----------------------------------
|
||||
|
||||
The easiest way to install enteleteaor is from Pypi. To do this, only run:
|
||||
The easiest way to install enteletaor is from Pypi. To do this, only run:
|
||||
|
||||
Python 2
|
||||
++++++++
|
||||
@@ -47,21 +47,21 @@ Python 3
|
||||
|
||||
# python3 -m pip install enteletaor
|
||||
|
||||
Then run enteleteaor writing:
|
||||
Then run enteletaor writing:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor -h
|
||||
# enteletaor -h
|
||||
|
||||
or, in Python 3:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor3 -h
|
||||
# enteletaor3 -h
|
||||
|
||||
.. note::
|
||||
|
||||
Remember that, if you install enteleteaor in **Python 3** executable will be called **enteletaor3** -> ending in **3**.
|
||||
Remember that, if you install enteletaor in **Python 3** executable will be called **enteletaor3** -> ending in **3**.
|
||||
|
||||
If you install in **Python 2** executable will be **enteletaor**, without 3.
|
||||
|
||||
@@ -72,7 +72,7 @@ Also, you can download source code from github using git:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://github.com/cr0hn/enteleteaor.git enteleteaor
|
||||
git clone https://github.com/cr0hn/enteletaor.git enteletaor
|
||||
|
||||
Next you need to install dependencies from ``requirements.txt``:
|
||||
|
||||
@@ -80,15 +80,14 @@ Next you need to install dependencies from ``requirements.txt``:
|
||||
|
||||
pip install -r requirements.txt
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
If you're not running enteleteaor in a virtualenv, probably you need to be root to install requirements. So, you can use ``sudo`` command.
|
||||
If you're not running enteletaor in a virtualenv, probably you need to be root to install requirements. So, you can use ``sudo`` command.
|
||||
|
||||
Finally you can run enteleteaor:
|
||||
Finally you can run enteletaor:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# cd enteleteaor_lib
|
||||
# python enteleteaor.py -h
|
||||
# cd enteletaor_lib
|
||||
# python enteletaor.py -h
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
Quick Start
|
||||
===========
|
||||
|
||||
Enteleteaor have 3 super commands available:
|
||||
Enteletaor have 3 super commands available:
|
||||
|
||||
- scan: scanner that discover open brokers.
|
||||
- scan: Discover open brokers.
|
||||
- tasks: handle remote tasks.
|
||||
- redis: specific actions for Redis server.
|
||||
|
||||
This document contains an overview of enteleteaor with some examples for each super commands. If you want learn more, visit the :doc:`attacks`.
|
||||
This document contains an overview of enteletaor with some examples for each super commands. If you want learn more visit the :doc:`advanced`.
|
||||
|
||||
Python versions
|
||||
---------------
|
||||
|
||||
Enteleteaor can run in Python 2.7.x and 3.x. Python 3 is recommended, but you cand use python 2.7 without any problem.
|
||||
Enteletaor can run in Python 2.7.x and 3.x. Python 3 is recommended, but you can use python 2.7 without problem.
|
||||
|
||||
Getting help
|
||||
------------
|
||||
@@ -23,7 +23,7 @@ Super commands ``tasks`` and ``redis`` has many sub-options, you can get help us
|
||||
:linenos:
|
||||
:emphasize-lines: 9-14
|
||||
|
||||
# enteleteaor scan -h
|
||||
# enteletaor scan -h
|
||||
usage: enteletaor.py redis [-h]
|
||||
{info,disconnect,dump,cache,discover-dbs,connected}
|
||||
...
|
||||
@@ -45,28 +45,28 @@ Super commands ``tasks`` and ``redis`` has many sub-options, you can get help us
|
||||
Setting verbosity level
|
||||
-----------------------
|
||||
|
||||
Enteleteaor has 5 levels of verbosity, you can setup adding ``-v`` to command line:
|
||||
Enteletaor has 5 verbosity levels. You can modify level adding ``-v`` to command line:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor -v scan -t 10.10.0.10
|
||||
# enteleteaor -vvvv scan -t 10.10.0.10
|
||||
# enteletaor -v scan -t 10.10.0.10
|
||||
# enteletaor -vvvv scan -t 10.10.0.10
|
||||
|
||||
.. note::
|
||||
|
||||
Be careful to put ``-v`` between enteleteaor and top action:
|
||||
Be careful to put ``-v`` between enteletaor and top action:
|
||||
|
||||
- enteleteaor -vv scan ... -> **GOOD**
|
||||
- enteleteaor scan -vv ... -> **BAD**
|
||||
- enteletaor -vv scan ... -> **GOOD**
|
||||
- enteletaor scan -vv ... -> **BAD**
|
||||
|
||||
Quick scan
|
||||
----------
|
||||
|
||||
Quickly you make try to discover if some host has open brokers running that:
|
||||
You can try to discover if some host has open brokers running running:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor -v scan -t 10.10.0.10
|
||||
# enteletaor -v scan -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Number of targets to analyze: 1
|
||||
[ * ] - Starting scan
|
||||
@@ -81,11 +81,11 @@ Quickly you make try to discover if some host has open brokers running that:
|
||||
[ * ] * 5555/TCP [ZeroMQ]
|
||||
[ * ] Done!
|
||||
|
||||
You can also analyze an entire network:
|
||||
Also we can analyze an entire network:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor scan -t 10.10.0.10/24
|
||||
# enteletaor scan -t 10.10.0.10/24
|
||||
|
||||
|
||||
Remote tasks
|
||||
@@ -94,19 +94,23 @@ Remote tasks
|
||||
Listing remote tasks
|
||||
++++++++++++++++++++
|
||||
|
||||
With enteleteaor you can handle remote tasks, for example, you can list pending tasks making:
|
||||
With enteletaor you can handle remote tasks, for example, you can list pending tasks doing:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor -v tasks list-tasks -t 10.10.0.10
|
||||
# enteletaor -v tasks list-tasks -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Remote process found:
|
||||
[ * ] -> tasks.send_mail (param_0:str, param_1:str, param_2:str)
|
||||
[ * ] Done!
|
||||
|
||||
Enteleteaor is telling us that has discovered a task, called ``tasks.send_mail`` with 3 parameters, and what type has in each position.
|
||||
Enteletaor is telling us that it has discovered a task, called ``tasks.send_mail`` with 3 parameters, and the type of parameter by their position.
|
||||
|
||||
The tool can't discover the parameter name, thus indicate the position. This tasks can match with this programing function, i.e:
|
||||
.. note::
|
||||
|
||||
The tool can't discover the parameter name, thus indicate the position.
|
||||
|
||||
This task can match with this programing function, i.e:
|
||||
|
||||
.. code-block:: python
|
||||
:linenos:
|
||||
@@ -125,16 +129,16 @@ The tool can't discover the parameter name, thus indicate the position. This tas
|
||||
"""
|
||||
# Code that send the e-mail
|
||||
|
||||
Dump tasks content
|
||||
++++++++++++++++++
|
||||
Dumping tasks content
|
||||
+++++++++++++++++++++
|
||||
|
||||
Enteleteaor not only permit us to list remote tasks, it also can dump the tasks content:
|
||||
Enteletaor not only permit us listing remote tasks, it also can dump their content:
|
||||
|
||||
.. code-block:: bash
|
||||
:linenos:
|
||||
:emphasize-lines: 6-8,12-14,18-20
|
||||
|
||||
# enteleteaor tasks raw-dump -t 10.10.0.10
|
||||
# enteletaor tasks raw-dump -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] Found process information:
|
||||
[ * ] - Remote process name: 'tasks.send_mail'
|
||||
@@ -160,16 +164,16 @@ Enteleteaor not only permit us to list remote tasks, it also can dump the tasks
|
||||
Redis
|
||||
-----
|
||||
|
||||
Redis is a powerful software, with many options, so it can a specific super command.
|
||||
Redis is a powerful software, with many options, so it has a specific super command.
|
||||
|
||||
Getting remove Redis info
|
||||
+++++++++++++++++++++++++
|
||||
|
||||
If you want to list remote Redis server information, only type:
|
||||
If you want list remote Redis server information, only type:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis info -t 10.10.0.10
|
||||
# enteletaor redis info -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] Config for server '10.10.0.10':
|
||||
[ * ] - appendonly: no
|
||||
@@ -188,7 +192,7 @@ We can also list all connected users to Redis server. A user could be a web appl
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteleteaor redis connected -t 10.10.0.10
|
||||
# enteletaor redis connected -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] Connected users to '10.10.0.10':
|
||||
[ * ] - 10.10.0.2:52748 (DB: 0)
|
||||
@@ -198,4 +202,18 @@ We can also list all connected users to Redis server. A user could be a web appl
|
||||
[ * ] - 10.10.0.2:53095 (DB: 0)
|
||||
[ * ] Done!
|
||||
|
||||
Localhost addresses usually are local monitoring or admin.
|
||||
Localhost addresses usually is a local monitoring system or admin.
|
||||
|
||||
Brute forcer
|
||||
------------
|
||||
|
||||
Enteletaor has a module to help us to recover passwords for remote servers. Usage is so simple:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# enteletaor brute password -t 10.10.0.10
|
||||
[ * ] Starting Enteletaor execution
|
||||
[ * ] - Detected 'Redis' server with 'auth'.
|
||||
[ * ] - Starting bruteforcer using wordlist : '/Users/Dani/Documents/Projects/enteletaor/enteletaor_lib/resources/wordlist/10_million_password_list_top_1000.txt'
|
||||
[ * ] Done!
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Run Boot loader
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
"""
|
||||
This file contains API calls and Data
|
||||
|
||||
@@ -1,9 +1,32 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
__tool_name__ = "enteletaor"
|
||||
__author__ = "Daniel Garcia (cr0hn) - @ggdaniel"
|
||||
__site__ = "https://github.com/cr0hn/enteletaor"
|
||||
__version__ = "1.0.0"
|
||||
__version__ = "1.1.1"
|
||||
__banner__ = """
|
||||
``
|
||||
`````..``
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
"""
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
@@ -1,2 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
@@ -1 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
@@ -1,2 +1,24 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
def boot_loader():
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import logging
|
||||
@@ -116,7 +139,7 @@ def build_arg_parser(config=None, modules=None, parser=None):
|
||||
if x == "default":
|
||||
continue
|
||||
|
||||
sub_help = y['help']
|
||||
sub_help = y.get('help', "")
|
||||
sub_action = y.get('cmd_args', None)
|
||||
|
||||
sub_sub_parser = sub_module_actions.add_parser(x, help=sub_help)
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
import logging.handlers
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
"""
|
||||
This module contains common data information
|
||||
@@ -83,7 +106,10 @@ class CommonData(Model):
|
||||
def __repr__(self):
|
||||
r = []
|
||||
for x, v in six.iteritems(self.vars):
|
||||
r.append("%s: %s" % (x, str(v)))
|
||||
try:
|
||||
r.append("%s: %s" % (x, str(v)))
|
||||
except TypeError:
|
||||
r.append("%s: %s" % (x, str(v.data)))
|
||||
|
||||
return "\n".join(r)
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
"""
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
67
enteletaor_lib/modules/brute/__init__.py
Normal file
67
enteletaor_lib/modules/brute/__init__.py
Normal file
@@ -0,0 +1,67 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
from .. import IModule
|
||||
|
||||
from ...libs.core.structs import CommonData
|
||||
from ...libs.core.models import StringField, IntegerField, FloatField
|
||||
|
||||
from .cmd_brute_main import cmd_brute_main
|
||||
from .cmd_list_wordlists import cmd_list_wordlists
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
class ModuleModel(CommonData):
|
||||
port = StringField(default="6379")
|
||||
target = StringField()
|
||||
wordlist = StringField(default="10_million_password_list_top_1000")
|
||||
user = StringField(label="user for login to (optional)")
|
||||
concurrency = IntegerField(label="maximum parallels scans", default=10)
|
||||
timeout = FloatField(label="timeout for socket connections", default=0.2)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
class BruteProcessModule(IModule):
|
||||
"""
|
||||
Try to extract information from remote processes
|
||||
"""
|
||||
__model__ = ModuleModel
|
||||
__submodules__ = {
|
||||
'password': dict(
|
||||
help="do password brute forcer discover over the brokers/MQ",
|
||||
action=cmd_brute_main
|
||||
),
|
||||
'wordlist': dict(
|
||||
help="list internal available wordlist",
|
||||
action=cmd_list_wordlists
|
||||
),
|
||||
}
|
||||
|
||||
name = "brute"
|
||||
description = "try to discover valid passwords in remote brorkers/MQ"
|
||||
89
enteletaor_lib/modules/brute/authers.py
Normal file
89
enteletaor_lib/modules/brute/authers.py
Normal file
@@ -0,0 +1,89 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import zmq
|
||||
import redis
|
||||
import socket
|
||||
import redis.exceptions
|
||||
import logging
|
||||
|
||||
import amqp.connection
|
||||
|
||||
from .exceptions import AuthRequired
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# These 3 functions determinate if server has listen one of these services:
|
||||
# - Redis server
|
||||
# - RabbitMQ server
|
||||
# - ZeroMQ PUB/SUB pattern
|
||||
#
|
||||
# Each function try to connect or do some action and determinate if service
|
||||
# is on or not.
|
||||
# --------------------------------------------------------------------------
|
||||
def brute_redis(host, port=6379, user=None, password=None, db=0):
|
||||
|
||||
try:
|
||||
redis.StrictRedis(host=host,
|
||||
port=int(port),
|
||||
socket_connect_timeout=1,
|
||||
socket_timeout=1,
|
||||
password=password,
|
||||
db=db).ping()
|
||||
return True
|
||||
|
||||
except redis.exceptions.ResponseError as e:
|
||||
if str(e).startswith("NOAUTH"):
|
||||
raise AuthRequired()
|
||||
else:
|
||||
return False
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def brute_amqp(host, port=5672, user=None, password=None, db=0):
|
||||
|
||||
host_and_port = "%s:%s" % (host, port)
|
||||
user_name = "guest" if user is None else user
|
||||
user_password = "guest" if password is None else password
|
||||
|
||||
timeout = 0.2
|
||||
try:
|
||||
amqp.connection.Connection(host=host_and_port,
|
||||
userid=user_name,
|
||||
password=user_password,
|
||||
connect_timeout=timeout,
|
||||
read_timeout=timeout,
|
||||
socket_timeout=timeout).connected
|
||||
return True
|
||||
except socket.timeout as e:
|
||||
raise AuthRequired()
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def brute_zmq(host, port=5555, user=None, password=None, db=0):
|
||||
|
||||
context = zmq.Context()
|
||||
|
||||
# Configure
|
||||
socket = context.socket(zmq.SUB)
|
||||
socket.setsockopt(zmq.SUBSCRIBE, b"") # All topics
|
||||
socket.setsockopt(zmq.LINGER, 0) # All topics
|
||||
socket.RCVTIMEO = 1000 # timeout: 1 sec
|
||||
|
||||
# Connect
|
||||
socket.connect("tcp://%s:%s" % (host, port))
|
||||
|
||||
# Try to receive
|
||||
try:
|
||||
socket.recv()
|
||||
|
||||
return True
|
||||
except Exception:
|
||||
return False
|
||||
finally:
|
||||
socket.close()
|
||||
98
enteletaor_lib/modules/brute/cmd_brute_main.py
Normal file
98
enteletaor_lib/modules/brute/cmd_brute_main.py
Normal file
@@ -0,0 +1,98 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import os
|
||||
import six
|
||||
import logging
|
||||
|
||||
from .utils import get_server_type
|
||||
|
||||
if six.PY2:
|
||||
from .cracker import cracking
|
||||
else:
|
||||
# from .cracker3 import cracking
|
||||
from .cracker import cracking
|
||||
|
||||
# Reconfigure AMQP LOGGER
|
||||
logging.getLogger('amqp').setLevel(100)
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def cmd_brute_main(config):
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Check requisites
|
||||
# --------------------------------------------------------------------------
|
||||
if not config.target:
|
||||
logging.error(" <!> target option, '-t', is required")
|
||||
return
|
||||
if not config.wordlist:
|
||||
logging.error(" <!> wordlist option, '-w', is required")
|
||||
return
|
||||
|
||||
# Fix wordlist path
|
||||
if not os.path.exists(config.wordlist):
|
||||
wordlist_base = os.path.join(os.path.dirname(__file__),
|
||||
"..",
|
||||
"..",
|
||||
"resources",
|
||||
"wordlist")
|
||||
|
||||
# Try to find into internal wordlists
|
||||
internal_wordlists = [x for x in os.listdir(os.path.abspath(wordlist_base)) if "readme" not in x.lower()]
|
||||
|
||||
wordlist_choice = "%s.txt" % config.wordlist if ".txt" not in config.wordlist else config.wordlist
|
||||
|
||||
# Is wordlist available?
|
||||
if wordlist_choice not in internal_wordlists:
|
||||
log.error(" <!> Wordlist '%s' not found." % wordlist_choice)
|
||||
return
|
||||
|
||||
# Fix wordlist path
|
||||
config.wordlist = os.path.abspath(os.path.join(wordlist_base, wordlist_choice))
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Preparing scan
|
||||
# --------------------------------------------------------------------------
|
||||
server_type, status, port = get_server_type(config)
|
||||
|
||||
if status != "closed":
|
||||
log.error(" - Detected '%s' server with '%s'." % ('unknown' if server_type is None else server_type, status))
|
||||
|
||||
if server_type.lower() == "rabbitmq":
|
||||
log.error(" - Set user to '%s'" % config.user)
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Do brute
|
||||
# --------------------------------------------------------------------------
|
||||
if status == "auth":
|
||||
log.error(" - Starting bruteforcer using wordlist: '%s'" % config.wordlist)
|
||||
cracking(server_type, port, config)
|
||||
elif status == "open":
|
||||
log.error(" - '%s' '%s' server is open. No password cracking need" % (server_type, config.target))
|
||||
else:
|
||||
log.error(" - Not detected brokers in '%s'." % config.target)
|
||||
20
enteletaor_lib/modules/brute/cmd_list_wordlists.py
Normal file
20
enteletaor_lib/modules/brute/cmd_list_wordlists.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
import logging
|
||||
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def cmd_list_wordlists(config):
|
||||
"""
|
||||
Get all internal wordlist
|
||||
"""
|
||||
base_wordlists = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "resources", "wordlist"))
|
||||
|
||||
log.error(" - Available wordlists:")
|
||||
for w in os.listdir(base_wordlists):
|
||||
if "readme" not in w.lower():
|
||||
log.error(" > %s" % w[:w.find(".txt")])
|
||||
160
enteletaor_lib/modules/brute/cracker.py
Normal file
160
enteletaor_lib/modules/brute/cracker.py
Normal file
@@ -0,0 +1,160 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import os
|
||||
import logging
|
||||
import threading
|
||||
|
||||
import eventlet
|
||||
|
||||
from eventlet import tpool
|
||||
|
||||
from .authers import brute_redis, brute_amqp, brute_zmq
|
||||
from .exceptions import AuthRequired
|
||||
|
||||
FOUND = None
|
||||
THREADS = []
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
# Path thread library
|
||||
eventlet.monkey_patch(socket=True, select=True, thread=True)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
class FoundPassword(Exception):
|
||||
pass
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Runners
|
||||
# ----------------------------------------------------------------------
|
||||
def find_password_sem(fn, sem, host, port, user, password, db):
|
||||
global FOUND
|
||||
|
||||
try:
|
||||
if fn(host, port, user, password, None) is True:
|
||||
FOUND = "%s: %s%s" % (host, "", password)
|
||||
except AuthRequired:
|
||||
pass
|
||||
|
||||
sem.release()
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def find_password(fn, host, port, user, password, db):
|
||||
global FOUND
|
||||
|
||||
try:
|
||||
if fn(host, port, user, password, db) is True:
|
||||
FOUND = "%s - %s%s" % (host, "%s/" % user, password)
|
||||
except AuthRequired:
|
||||
pass
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Workers function
|
||||
# ----------------------------------------------------------------------
|
||||
def cracking_threads(fn, port, config):
|
||||
global FOUND
|
||||
global THREADS
|
||||
|
||||
th = []
|
||||
sem = threading.BoundedSemaphore(config.concurrency)
|
||||
|
||||
with open(config.wordlist, "r") as f:
|
||||
for i, password in enumerate(f.readlines()):
|
||||
password = password.replace("\n", "")
|
||||
|
||||
# log.debug(" -- Testing '%s'" % password)
|
||||
|
||||
if FOUND is not None:
|
||||
break
|
||||
|
||||
# Launch password
|
||||
t = threading.Thread(target=find_password_sem, args=(fn, sem, config.target, port, config.user, password, None, ))
|
||||
|
||||
th.append(t)
|
||||
|
||||
sem.acquire()
|
||||
t.start()
|
||||
|
||||
if (i % 500) == 0:
|
||||
log.info(" >> %s passwords tested" % i)
|
||||
|
||||
# Wait for ending
|
||||
for x in th:
|
||||
x.join()
|
||||
|
||||
if FOUND is not None:
|
||||
log.error(" - Password found: %s" % FOUND)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def cracking_evenlets(fn, port, config):
|
||||
|
||||
global FOUND
|
||||
|
||||
os.getenv("EVENTLET_THREADPOOL_SIZE", config.concurrency)
|
||||
|
||||
try:
|
||||
with open(config.wordlist, "r") as f:
|
||||
for i, password in enumerate(f.readlines()):
|
||||
password = password.replace("\n", "")
|
||||
|
||||
log.debug(" >> Testing %s" % password)
|
||||
|
||||
if FOUND is not None:
|
||||
break
|
||||
|
||||
tpool.execute(find_password, fn, config.target, port, config.user, password, None)
|
||||
|
||||
if (i % 500) == 0:
|
||||
log.info(" >> %s passwords tested" % i)
|
||||
|
||||
except FoundPassword as e:
|
||||
log.error(" - Credentials found: %s" % e)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def cracking(server_type, port, config):
|
||||
|
||||
crackers = {
|
||||
'redis': (brute_redis, cracking_evenlets),
|
||||
'rabbitmq': (brute_amqp, cracking_threads),
|
||||
'zeromq': (brute_zmq, cracking_evenlets)
|
||||
}
|
||||
|
||||
mode, fn = crackers[server_type.lower()]
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Check requisites
|
||||
# --------------------------------------------------------------------------
|
||||
if server_type.lower() == "rabbitmq":
|
||||
if config.user is None:
|
||||
log.error(" - Username is required for this server.")
|
||||
return
|
||||
|
||||
fn(mode, port, config)
|
||||
29
enteletaor_lib/modules/brute/cracker3.py
Normal file
29
enteletaor_lib/modules/brute/cracker3.py
Normal file
@@ -0,0 +1,29 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def cracking(server_type, port, config):
|
||||
print(server_type)
|
||||
30
enteletaor_lib/modules/brute/exceptions.py
Normal file
30
enteletaor_lib/modules/brute/exceptions.py
Normal file
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
class AuthRequired(Exception):
|
||||
pass
|
||||
136
enteletaor_lib/modules/brute/patch.py
Normal file
136
enteletaor_lib/modules/brute/patch.py
Normal file
@@ -0,0 +1,136 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
"""
|
||||
This file contains monkey patches for
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
|
||||
def new_transport_init(self, host, connect_timeout):
|
||||
|
||||
import errno
|
||||
import re
|
||||
import socket
|
||||
import ssl
|
||||
|
||||
# Jython does not have this attribute
|
||||
try:
|
||||
from socket import SOL_TCP
|
||||
except ImportError: # pragma: no cover
|
||||
from socket import IPPROTO_TCP as SOL_TCP # noqa
|
||||
|
||||
try:
|
||||
from ssl import SSLError
|
||||
except ImportError:
|
||||
class SSLError(Exception): # noqa
|
||||
pass
|
||||
|
||||
from struct import pack, unpack
|
||||
|
||||
from amqp.exceptions import UnexpectedFrame
|
||||
from amqp.utils import get_errno, set_cloexec
|
||||
|
||||
_UNAVAIL = errno.EAGAIN, errno.EINTR, errno.ENOENT
|
||||
|
||||
AMQP_PORT = 5672
|
||||
|
||||
EMPTY_BUFFER = bytes()
|
||||
|
||||
# Yes, Advanced Message Queuing Protocol Protocol is redundant
|
||||
AMQP_PROTOCOL_HEADER = 'AMQP\x01\x01\x00\x09'.encode('latin_1')
|
||||
|
||||
# Match things like: [fe80::1]:5432, from RFC 2732
|
||||
IPV6_LITERAL = re.compile(r'\[([\.0-9a-f:]+)\](?::(\d+))?')
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# __init__ content:
|
||||
# --------------------------------------------------------------------------
|
||||
self.connected = True
|
||||
msg = None
|
||||
port = AMQP_PORT
|
||||
|
||||
m = IPV6_LITERAL.match(host)
|
||||
if m:
|
||||
host = m.group(1)
|
||||
if m.group(2):
|
||||
port = int(m.group(2))
|
||||
else:
|
||||
if ':' in host:
|
||||
host, port = host.rsplit(':', 1)
|
||||
port = int(port)
|
||||
|
||||
self.sock = None
|
||||
last_err = None
|
||||
for res in socket.getaddrinfo(host, port, 0,
|
||||
socket.SOCK_STREAM, SOL_TCP):
|
||||
af, socktype, proto, canonname, sa = res
|
||||
try:
|
||||
self.sock = socket.socket(af, socktype, proto)
|
||||
try:
|
||||
set_cloexec(self.sock, True)
|
||||
except NotImplementedError:
|
||||
pass
|
||||
self.sock.settimeout(connect_timeout)
|
||||
self.sock.connect(sa)
|
||||
except socket.error as exc:
|
||||
msg = exc
|
||||
self.sock.close()
|
||||
self.sock = None
|
||||
last_err = msg
|
||||
continue
|
||||
break
|
||||
|
||||
if not self.sock:
|
||||
# Didn't connect, return the most recent error message
|
||||
raise socket.error(last_err)
|
||||
|
||||
try:
|
||||
# self.sock.settimeout(None)
|
||||
self.sock.setsockopt(SOL_TCP, socket.TCP_NODELAY, 1)
|
||||
self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
||||
|
||||
self._setup_transport()
|
||||
|
||||
self._write(AMQP_PROTOCOL_HEADER)
|
||||
except (OSError, IOError, socket.error) as exc:
|
||||
if get_errno(exc) not in _UNAVAIL:
|
||||
self.connected = False
|
||||
raise
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# amqlib
|
||||
# --------------------------------------------------------------------------
|
||||
def patch_transport():
|
||||
"""
|
||||
This function path transport constructor to fix timeout in sockets
|
||||
"""
|
||||
|
||||
from amqp.transport import _AbstractTransport
|
||||
|
||||
_AbstractTransport.__init__ = new_transport_init
|
||||
118
enteletaor_lib/modules/brute/utils.py
Normal file
118
enteletaor_lib/modules/brute/utils.py
Normal file
@@ -0,0 +1,118 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import six
|
||||
import socket
|
||||
import logging
|
||||
|
||||
from .patch import patch_transport
|
||||
from .exceptions import AuthRequired
|
||||
from .authers import brute_amqp, brute_redis, brute_zmq
|
||||
|
||||
# Monkey patch for AMQP lib
|
||||
patch_transport()
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def is_rabbit(host, port, user, password, config):
|
||||
"""
|
||||
Custom detection of RabbitMQ servers
|
||||
"""
|
||||
s = socket.socket()
|
||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
s.connect((host, int(port)))
|
||||
s.send(b"A\r\n\r\n\r\n\r\n\r\n\r\n")
|
||||
data = (s.recv(1000000))
|
||||
|
||||
if b"AMQP" in data:
|
||||
# Oks, its a RabbitMQ!
|
||||
try:
|
||||
brute_amqp(host, port, user, password)
|
||||
|
||||
return True
|
||||
except socket.timeout:
|
||||
raise AuthRequired()
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
def get_server_type(config):
|
||||
"""
|
||||
Get server type and if it's open or closed.
|
||||
|
||||
Returns server type and their status as format: (TYPE, STATUS, port), where:
|
||||
|
||||
- TYPE: redis/zeromq/amqp
|
||||
- STATUS: open/closed/auth
|
||||
|
||||
:return: type of server as format: (type, status, port)
|
||||
:rtype: (str, str, int)
|
||||
"""
|
||||
handlers = {
|
||||
'Redis': brute_redis,
|
||||
'RabbitMQ': is_rabbit,
|
||||
'ZeroMQ': brute_zmq
|
||||
}
|
||||
|
||||
host = config.target
|
||||
port = config.port
|
||||
user = config.user
|
||||
password = None
|
||||
result = -1
|
||||
|
||||
log.warning(" > Analyzing host '%s' with port '%s' " % (host, port))
|
||||
|
||||
try:
|
||||
|
||||
# Try to check if port is open
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
s.settimeout(config.timeout)
|
||||
|
||||
result = s.connect_ex((host, int(port)))
|
||||
|
||||
except socket.gaierror as e:
|
||||
log.debug("%s error: %s" % (port, e))
|
||||
finally:
|
||||
s.close()
|
||||
|
||||
# Is port open?
|
||||
if result == 0:
|
||||
log.info(" <i> Port '%s' is open in '%s'" % (port, host))
|
||||
|
||||
# Check each serve
|
||||
for server_type, handle in six.iteritems(handlers):
|
||||
|
||||
try:
|
||||
if handle(host, port, user, password, config) is True:
|
||||
return server_type, "open", port
|
||||
|
||||
except AuthRequired:
|
||||
return server_type, "auth", port
|
||||
else:
|
||||
return None, "closed", port
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
"""
|
||||
This file contains command line actions for argparser
|
||||
"""
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import redis
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import redis
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import redis
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import redis
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import json
|
||||
@@ -57,87 +80,93 @@ def _decode_object(val, ident=5):
|
||||
"""
|
||||
_new_ident = ident + 1
|
||||
|
||||
for k, v in six.iteritems(val):
|
||||
# convert value to original type -> JSON
|
||||
try:
|
||||
_transformed_info = json.loads(v.decode("utf-8"))
|
||||
except (binascii.Error, AttributeError, ValueError):
|
||||
_transformed_info = v
|
||||
|
||||
# --------------------------------------------------------------------------
|
||||
# Try to display in "human" format
|
||||
# --------------------------------------------------------------------------
|
||||
if isinstance(_transformed_info, list):
|
||||
|
||||
log.error('%s"%s":' % (" " * ident, k))
|
||||
|
||||
for x in _transformed_info:
|
||||
if isinstance(x, dict):
|
||||
# Open data
|
||||
log.error("%s{" % (" " * _new_ident))
|
||||
|
||||
_decode_object(x, _new_ident + 2)
|
||||
|
||||
log.error("%s}" % (" " * _new_ident))
|
||||
|
||||
else:
|
||||
log.error('%s"%s"' % ((" " * ident), x))
|
||||
|
||||
# Dict handler
|
||||
elif isinstance(_transformed_info, dict):
|
||||
log.error('%s"%s":' % ((" " * ident), k))
|
||||
|
||||
log.error("%s{" % (" " * _new_ident))
|
||||
|
||||
_decode_object(v, _new_ident + 2)
|
||||
|
||||
log.error("%s}" % (" " * _new_ident))
|
||||
|
||||
# Basic type as value
|
||||
else:
|
||||
|
||||
try:
|
||||
for k, v in six.iteritems(val):
|
||||
# convert value to original type -> JSON
|
||||
try:
|
||||
use_obj = _transformed_info.encode()
|
||||
except (TypeError, AttributeError, binascii.Error):
|
||||
use_obj = _transformed_info
|
||||
_transformed_info = json.loads(v.decode("utf-8"))
|
||||
except (binascii.Error, AttributeError, ValueError):
|
||||
_transformed_info = v
|
||||
|
||||
# Is Pickle encoded?
|
||||
try:
|
||||
_pickle_decoded = loads(use_obj)
|
||||
# --------------------------------------------------------------------------
|
||||
# Try to display in "human" format
|
||||
# --------------------------------------------------------------------------
|
||||
if isinstance(_transformed_info, list):
|
||||
|
||||
# Is pickled
|
||||
log.error('%s"%s":' % (" " * ident, k))
|
||||
|
||||
for x in _transformed_info:
|
||||
if isinstance(x, dict):
|
||||
# Open data
|
||||
log.error("%s{" % (" " * _new_ident))
|
||||
|
||||
_decode_object(x, _new_ident + 2)
|
||||
|
||||
log.error("%s}" % (" " * _new_ident))
|
||||
|
||||
else:
|
||||
log.error('%s"%s"' % ((" " * ident), x))
|
||||
|
||||
# Dict handler
|
||||
elif isinstance(_transformed_info, dict):
|
||||
log.error('%s"%s":' % ((" " * ident), k))
|
||||
|
||||
log.error("%s{" % (" " * _new_ident))
|
||||
|
||||
_decode_object(_pickle_decoded, _new_ident + 2)
|
||||
_decode_object(v, _new_ident + 2)
|
||||
|
||||
log.error("%s}" % (" " * _new_ident))
|
||||
|
||||
except Exception as e:
|
||||
# Basic type as value
|
||||
else:
|
||||
|
||||
if "BadPickleGet" == e.__class__.__name__:
|
||||
log.info(
|
||||
" <!!> Can't decode value for key '%s' because Pickle protocol 3 o 4 used, and it's "
|
||||
"incompatible with Python 2" % k)
|
||||
|
||||
# Try again decoding in base64
|
||||
try:
|
||||
_b64_decoded = base64.decodebytes(use_obj)
|
||||
use_obj = _transformed_info.encode()
|
||||
except (TypeError, AttributeError, binascii.Error):
|
||||
use_obj = _transformed_info
|
||||
|
||||
# Is Pickle encoded?
|
||||
try:
|
||||
_pickle_decoded = loads(use_obj)
|
||||
|
||||
# Is pickled
|
||||
log.error('%s"%s":' % ((" " * ident), k))
|
||||
|
||||
log.error("%s{" % (" " * _new_ident))
|
||||
|
||||
_decode_object(loads(_b64_decoded), _new_ident + 2)
|
||||
_decode_object(_pickle_decoded, _new_ident + 2)
|
||||
|
||||
log.error("%s}" % (" " * _new_ident))
|
||||
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
|
||||
# Transform is not possible -> plain string
|
||||
log.error('%s"%s": "%s"' % ((" " * ident), k, use_obj))
|
||||
if "BadPickleGet" == e.__class__.__name__:
|
||||
log.info(
|
||||
" <!!> Can't decode value for key '%s' because Pickle protocol 3 o 4 used, and it's "
|
||||
"incompatible with Python 2" % k)
|
||||
|
||||
# Try again decoding in base64
|
||||
try:
|
||||
_b64_decoded = base64.decodebytes(use_obj)
|
||||
|
||||
# Is pickled
|
||||
log.error('%s"%s":' % ((" " * ident), k))
|
||||
|
||||
log.error("%s{" % (" " * _new_ident))
|
||||
|
||||
_decode_object(loads(_b64_decoded), _new_ident + 2)
|
||||
|
||||
log.error("%s}" % (" " * _new_ident))
|
||||
|
||||
except Exception:
|
||||
|
||||
# Transform is not possible -> plain string
|
||||
log.error('%s"%s": "%s"' % ((" " * ident), k, use_obj))
|
||||
|
||||
except AttributeError:
|
||||
|
||||
# Transform is not possible -> plain string
|
||||
log.error('%s"%s": "%s"' % ((" " * ident), k, use_obj))
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
@@ -160,7 +189,6 @@ def action_redis_dump(config):
|
||||
|
||||
if config.export_results:
|
||||
export_file = open(export_file_name, "w")
|
||||
log.error(" - Storing information into '%s'" % export_file_name)
|
||||
elif config.no_screen is True:
|
||||
log.error(" <!> If results will not be displayed, you must to indicate output file for results.")
|
||||
return
|
||||
@@ -186,4 +214,5 @@ def action_redis_dump(config):
|
||||
|
||||
# Close file descriptor
|
||||
if export_file is not None:
|
||||
log.error(" - Storing information into '%s'" % export_file_name)
|
||||
export_file.close()
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import redis
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import redis
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
"""
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import zmq
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
|
||||
import logging
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
"""
|
||||
This file contains command line actions for argparser
|
||||
|
||||
@@ -1,5 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import uuid
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import os
|
||||
import six
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
import csv
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
|
||||
@@ -1,4 +1,27 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Enteletaor - https://github.com/cr0hn/enteletaor
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
||||
# following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
|
||||
# products derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
import six
|
||||
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
123456
|
||||
password
|
||||
12345678
|
||||
qwerty
|
||||
123456789
|
||||
12345
|
||||
1234
|
||||
111111
|
||||
1234567
|
||||
dragon
|
||||
123123
|
||||
baseball
|
||||
abc123
|
||||
football
|
||||
monkey
|
||||
letmein
|
||||
696969
|
||||
shadow
|
||||
master
|
||||
666666
|
||||
qwertyuiop
|
||||
123321
|
||||
mustang
|
||||
1234567890
|
||||
michael
|
||||
654321
|
||||
pussy
|
||||
superman
|
||||
1qaz2wsx
|
||||
7777777
|
||||
fuckyou
|
||||
121212
|
||||
000000
|
||||
qazwsx
|
||||
123qwe
|
||||
killer
|
||||
trustno1
|
||||
jordan
|
||||
jennifer
|
||||
zxcvbnm
|
||||
asdfgh
|
||||
hunter
|
||||
buster
|
||||
soccer
|
||||
harley
|
||||
batman
|
||||
andrew
|
||||
tigger
|
||||
sunshine
|
||||
iloveyou
|
||||
fuckme
|
||||
2000
|
||||
charlie
|
||||
robert
|
||||
thomas
|
||||
hockey
|
||||
ranger
|
||||
daniel
|
||||
starwars
|
||||
klaster
|
||||
112233
|
||||
george
|
||||
asshole
|
||||
computer
|
||||
michelle
|
||||
jessica
|
||||
pepper
|
||||
1111
|
||||
zxcvbn
|
||||
555555
|
||||
11111111
|
||||
131313
|
||||
freedom
|
||||
777777
|
||||
pass
|
||||
fuck
|
||||
maggie
|
||||
159753
|
||||
aaaaaa
|
||||
ginger
|
||||
princess
|
||||
joshua
|
||||
cheese
|
||||
amanda
|
||||
summer
|
||||
love
|
||||
ashley
|
||||
6969
|
||||
nicole
|
||||
chelsea
|
||||
biteme
|
||||
matthew
|
||||
access
|
||||
yankees
|
||||
987654321
|
||||
dallas
|
||||
austin
|
||||
thunder
|
||||
taylor
|
||||
matrix
|
||||
File diff suppressed because it is too large
Load Diff
10000
enteletaor_lib/resources/wordlist/10_million_password_list_top_10000.txt
Normal file
10000
enteletaor_lib/resources/wordlist/10_million_password_list_top_10000.txt
Normal file
File diff suppressed because it is too large
Load Diff
100000
enteletaor_lib/resources/wordlist/10_million_password_list_top_100000.txt
Normal file
100000
enteletaor_lib/resources/wordlist/10_million_password_list_top_100000.txt
Normal file
File diff suppressed because it is too large
Load Diff
1
enteletaor_lib/resources/wordlist/README.txt
Normal file
1
enteletaor_lib/resources/wordlist/README.txt
Normal file
@@ -0,0 +1 @@
|
||||
# Wordlist project page: https://github.com/danielmiessler/SecLists/tree/master/Passwords
|
||||
21
hooks.md
21
hooks.md
@@ -1,21 +0,0 @@
|
||||
# Hooks indentificados
|
||||
|
||||
|
||||
## Config
|
||||
|
||||
- Cuando se ha cargado la configuración de ejecucución -> tras el parseo
|
||||
|
||||
|
||||
## Módulos
|
||||
|
||||
- Antes de que se carguen los módulos
|
||||
- Cuando se caga cada módulos
|
||||
- Cuando se han acabado de cargar todos los módulos
|
||||
- Antes de que se ejecute un módulo
|
||||
- Después de que se ejecute en módulo
|
||||
|
||||
## Librerías
|
||||
|
||||
- Antes de que se carguen las librerías
|
||||
- Cada vez que se carga una librería
|
||||
- Cuando se han acabado de cargar todas las librerías
|
||||
Reference in New Issue
Block a user