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

dorkScanner - A Typical Search Engine Dork Scanner Scrapes Search Engines With Dorks That You Provide In Order To Find Vulnerable URLs

$
0
0

A typical search engine dork scanner that scrapes search engines with queries that you provide in order to find vulnerable URLs.

Introduction
Dorking is a technique used by newsrooms, investigative organisations, security auditors as well as tech savvy criminals to query various search engines for information hidden on public websites and vulnerabilities exposed by public servers. Dorking is a way of using search engines to their full capacity to penetrate web-based services to depths that are not necessarily visible at first.

Requirements
pip3 install -r requirements.txt

Usage
$ python3 dorkScanner.py --help
usage: dorkScanner.py [-h] [-q QUERY] [-e ENGINE] [-p PAGES] [-P PROCESSES]

optional arguments:
-h, --help show this help message and exit
-q QUERY, --query QUERY
Specify the Search Query within ''
-e ENGINE, --engine ENGINE
Specify the Search Engine (Google/Bing)
-p PAGES, --pages PAGES
Specify the Number of Pages (Default: 1)
-P PROCESSES, --processes PROCESSES
Specify the Number of Processes (Default: 2)

You can also specify the arguments inside the program:
Enter the Search Query: 
Choose the Search Engine (Google/Bing):

Tutorial




WordListGen - Super Simple Python Word List Generator For Fuzzing And Brute Forcing In Python

$
0
0

Super Simple Python Word List Generator for Password Cracking (Hashcat)!
I know what your are thinking. Why create another word list generator? Well, I needed something very simple I could modify on the fly to get the exact character generators for the task at hand. This script is fully functional in its own right, but intended to be modified during CTF's or pen testing engagements easily on the fly.

Python help documentation:
> wordlistgen.py -h
WordListGen: 0.2 Updated: June 2, 2019
usage: wordlistgen.py [-h] [-all] [-lower] [-upper] [-leet] [-swap] [-ntlm]
[-baseword] [-capitalize] [-orig] [-min MIN] [-max MAX]
[-inputfolder file] [-input file] [-output file]

WordListGen - Very Simple Word List Morpher - Creates a list of unique
words for fuzzing / brute forcing

optional arguments:
-h, --help show this help message and exit
-all Runs all word list morphers
-lower Lowercase each word on the input list
-upper Uppercase each word on the input list
-leet Leetspeak each word on the input list
-swap Swap the case of the word list
-ntlm Parse an NTLM Hash dump list for plaintext words to use
in a wordlist
-baseword Base words only (Post-process) Strips any numbers or
symbols from the generated word list
-capitalize Capitalize the first letter of the word list
-orig Include the original word from the word list
-min MIN Minimum word size (default: 4)
-max MAX Maximum word size (default: 32)
-inputfolder file Specify a folder of wordlists to crawl, process and
combine
-input file Input wordlist (default: wordlist.txt)
-output file Output wordlist (default: wordlistout.txt)

Example use and output
> wordlistgen.py -all
WordListGen: 0.2 Updated: June 2, 2019
DONE!
Wordlist input: wordlist.txt
Wordlist output: wordlistout.txt


Converting MBOX to Outlook Easily

$
0
0
Mail transfer is a common search query. Most commonly, users may migrate due to personal preferences, corporate policies, or support issues. Systems based on the MBOX format are tricky: you may easily export the files, but direct import to Outlook is impossible. That is unless you use the right tools.
MBOX is not a universal format: each system, from Gmail to Zimbra, stores data according to its unique standards. Learn more about MBOX to Outlook on https://www.outlooktransfer.com/products/mbox-to-outlook-transfer/ and discover the benefits of automation. With third-party aids, the clash of extensions is no longer an obstacle.


Guaranteed Accuracy

MS Outlook stores and reads data with the *.PST extension. Therefore, the conversion is unavoidable. Automation is the only method with guaranteed results. Client-specific tools are more than converters: they handle formatting, importing, and saving. Even transition from one OS to another is effortless: just move the source files between machines, and launch the wizard. The intuitive interface is understandable to everyone.
Overview of Solutions
Special transfer utilities are cutting-edge pieces of software. Do not be misguided by their simple appearance: a few buttons is all you need to succeed. Forget recurring charges: best transfer tools are bought once. This means the more transfers you conduct, the cheaper it is. Move as much mail and as often as necessary. 
Concise interface makes the programs suitable for all skill levels. You don’t have to be a pro: all subtypes of the format (e.g., *.MBOX and *.DBX) are handled, and specialist knowledge is not required. 
Another difficulty resolved by automation is the migration of attachments. These remain intact throughout the procedure, just like the messages themselves. Overall, the result is quick and accurate, and it requires little to no effort. The only manual step is a physical transfer between computers (when applicable).
Common Additional Benefits
Licensed software is more than a simple converter. It ticks all checkboxes at once: detection, extraction, conversion, and import are all automatic. 

  • Progress bars allow easy monitoring.
  • Export and import are both turbo fast.
  • Neither loss nor damage to your data is likely.
  • The result is fed into the Outlook profile directly.
  • Generate a standalone *.PST file or several *.EML files if necessary.
  • Tech support works 24/7.
  • All versions of Windows are supported.
  • All versions of Outlook from 2000 to 2019 (except Outlook Express) are supported. 

No extra tools are needed. Just specify the source folder and let the system handle the rest. In just a few clicks, all valuable data arrives in its destination unscathed. 


Word of Caution

If the contents of your mailbox are valuable, steer clear of manual attempts. Third-party tools are built especially for the task. They offer the only proven way to achieve impeccable accuracy. Manual tinkering may damage the data beyond repair. Download a licensed product from its official provider. First-class software is not just affordable: it is worth every penny. 









GIVINGSTORM - Infection Vector That Bypasses AV, IDS, And IPS

$
0
0
The beginnings of a C2 framework. Currently without all the C2 stuff so far. Generates a dual stage VBS infection vector, and a dual stage HTA infection vector. The variables take into account C2 addresses, Koadic/Empire payloads, and a few delivery mechanisms. The payload files are output to an aptly named directory "Payloads" that is created if not already present.

Installation & Usage
GIVINGSTORM is a breeze to use. Simply clone the directory, and cd into it.
For the HTA payload: python3 GIVINGSTORM.py -n Windows-Upgrade -p b64encodedpayload -c amazon.com/c2/domain

HTA Example


For the Macro Subroutine: python3 GIVINGSTORM.py -n Windows-Upgrade -e amazon.com/final/payload.exe

Macro Example



OWASP Threat Dragon - Cross-Platform Threat Modeling Application

$
0
0




Threat Dragon is a free, open-source, cross-platform threat modeling application including system diagramming and a rule engine to auto-generate threats/mitigations. It is an OWASP Incubator Project. The focus of the project is on great UX, a powerful rule engine and integration with other development lifecycle tools.

There is a good overview of threat modeling and risk assessment from OWASP, and this expands on what Threat Dragon will achieve:
  • designing the data flow diagram
  • automatic determining and ranking threats
  • suggested mitigations
  • entry of mitigations and counter measures
The application comes in two variants:
  1. A web application: For the web application, models files are stored in GitHub (other storage will become available). We are currently maintaining a working protoype in synch with the master code branch.
  2. A desktop application: This is based on Electron. There are installers available for both Windows and Mac OSX, as well as rpm and debian packages for Linux. For the desktop variant models are stored on the local filesystem.
End user help is available for both variants.
This repository contains the files for the desktop variant.

Local installation
For the latest versions of code between releases, npm can be used to install and run Threat Dragon locally:
git clone https://github.com/mike-goodwin/owasp-threat-dragon-desktop
npm install
Then to run it:
npm run start
Installers for OSX and Windows can be downloaded from the releases folder. In there you can also find packages for both Debian and Fedora Linux on AMD64 and X86-64bit platforms.

Screenshots
Here are a few screenshots of the app to give you a feel for what it looks like. First, the welcome screen


The diagramming screen:


And the threat editing screen


Contributing
PRs, feature requests, bug reports and feedback of any kind are very welcome. We are trying to keep the test coverage relatively high, so please try to include tests in any PRs and make PRs on the development branch.

Vulnerability disclosure
If you find a vulnerability in this project please let us know ASAP and we will fix it as a priority. For secure disclosure, please email mike.goodwin@owasp.org using the following PGP key:
Version: FlowCrypt 5.1.8 Gmail Encryption flowcrypt.com  Comment: Seamlessly send, receive and search encrypted email    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  Odp+4g==  =8d0U  -----END PGP PUBLIC KEY BLOCK-----  
If you are not a PGP user, you can easily send an encrypted email from https://flowcrypt.com/me/mikegoodwin

Project leader
Mike Goodwin (mike.goodwin@owasp.org)


ParamSpider - Mining Parameters From Dark Corners Of Web Archives

$
0
0

ParamSpider : Parameter miner for humans.


Key Features :
  • Finds parameters from web archives of the entered domain.
  • Finds parameters from subdomains as well.
  • Gives support to exclude urls with specific extensions.
  • Saves the output result in a nice and clean manner.
  • It mines the parameters from web archives (without interacting with the target host)

Usage instructions :
Note : Use python 3.7+

$ git clone https://github.com/devanshbatham/ParamSpider
$ cd ParamSpider
$ pip3 install -r requirements.txt
$ python3 paramspider.py --domain hackerone.com

Usage options :
1 - For a simple scan [without the --exclude parameter]
$ python3 paramspider.py --domain hackerone.com
-> Output ex : https://hackerone.com/test.php?q=FUZZ

2 - For excluding urls with specific extensions
$ python3 paramspider.py --domain hackerone.com --exclude php,jpg,svg

3 - For finding nested parameters
$ python3 paramspider.py --domain hackerone.com --level high
-> Output ex : https://hackerone.com/test.php?p=test&q=FUZZ

4 - Saving the results
$ python3 paramspider.py --domain hackerone.com --exclude php,jpg --output hackerone.txt

5 - Using with a custom placeholder text (default is FUZZ), e.g. don't add a placeholder
$ python3 paramspider.py --domain hackerone.com --placeholder FUZZ2

6 - Using the quiet mode (without printing the URLs on screen)
$ python3 paramspider.py --domain hackerone.com --quiet

7 - Exclude subdomains [for parameters from domain+subdomains, do not spe cify this argument]
$ python3 paramspider.py --domain hackerone.com --subs False

ParamSpider + GF (for massive pwnage)
Lets say you have already installed ParamSpider and now you want to filter out the juicy parameters from plethora of parameters. No worries you can easily do it using GF(by tomnomnom) .
Note : Make sure you have go properly installed on your machine .
Follow along this :
$ go get -u github.com/tomnomnom/gf
$ cp -r $GOPATH/src/github.com/tomnomnom/gf/examples ~/.gf

Note : Replace '/User/levi/go/bin/gf' with the path where gf binary is located in your system.

$ alias gf='/User/levi/go/bin/gf'
$ cd ~/.gf/

Note : Paste JSON files(https://github.com/devanshbatham/ParamSpider/tree/master/gf_profiles) in ~/.gf/ folder

Now run ParamSpider and navigate to the output directory

$ gf redirect domain.txt //for potential open redirect/SSRF parameters
$ gf xss domain.txt //for potential xss vulnerable parameters
$ gf potential domain.txt //for xss + ssrf + open redirect parameters
$ gf wordpress domain.txt //for wordpress urls

[More GF profiles to be added in future]

Example :
$ python3 paramspider.py --domain bugcrowd.com --exclude woff,css,js,png,svg,php,jpg --output bugcrowd.txt


Note :
As it fetches the parameters from web archive data ,
so chances of false positives are high.

Contributing to ParamSpider :
  • Report bugs , missing best practices
  • Shoot my DM with new ideas
  • Make more GF profiles (.json files)
  • Help in Fixing bugs
  • Submit Pull requests

Twitter:
Say hello : 0xAsm0d3us


FinDOM-XSS - A Fast DOM Based XSS Vulnerability Scanner With Simplicity

$
0
0

FinDOM-XSS is a tool that allows you to finding for possible and/ potential DOM based XSSvulnerability in a fast manner.

Installation
$ git clone https://github.com/dwisiswant0/findom-xss.git
Dependencies:LinkFinder

Configuration
Change the value of LINKFINDER variable (on line 3) with your main LinkFinder file.

Usage
To run the tool on a target, just use the following command.
$ ./findom-xss.sh https://target.host/about-us.html
This will run the tool against target.host. Or if you have a list of targets you want to scan.
$ cat urls.txt | xargs -I % ./findom-xss.sh %
The second argument can be used to specify an output file.
$ ./findom-xss.sh https://target.host/about-us.html /path/to/output.txt
By default, output will be stored in the results/ directory in the repository with target.host.txt name.

Thanks


Santa - A Binary Whitelisting/Blacklisting System For macOS

$
0
0
Santa is a binary whitelisting/blacklisting system for macOS. It consists of a kernel extension (or a system extension on macOS 10.15+) that monitors for executions, a userland daemon that makes execution decisions based on the contents of a SQLite database, a GUI agent that notifies the user in case of a block decision and a command-line utility for managing the system and synchronizing the database with a server.
It is named Santa because it keeps track of binaries that are naughty or nice.
Santa is a project of Google's Macintosh Operations Team.

Docs
The Santa docs are stored in the Docs directory. A Read the Docs instance is available here: https://santa.readthedocs.io.
The docs include deployment options, details on how parts of Santa work and instructions for developing Santa itself.

Get Help
If you have questions or otherwise need help getting started, the santa-dev group is a great place.
If you believe you have a bug, feel free to report an issue and we'll respond as soon as we can.
If you believe you've found a vulnerability, please read the security policy for disclosure reporting.

Admin-Related Features
  • Multiple modes: In the default MONITOR mode, all binaries except those marked as blacklisted will be allowed to run, whilst being logged and recorded in the events database. In LOCKDOWN mode, only whitelisted binaries are allowed to run.
  • Event logging: When the kext is loaded, all binary launches are logged. When in either mode, all unknown or denied binaries are stored in the database to enable later aggregation.
  • Certificate-based rules, with override levels: Instead of relying on a binary's hash (or 'fingerprint'), executables can be whitelisted/blacklisted by their signing certificate. You can therefore trust/block all binaries by a given publisher that were signed with that cert across version updates. A binary can only be whitelisted by its certificate if its signature validates correctly, but a rule for a binary's fingerprint will override a decision for a certificate; i.e. you can whitelist a certificate while blacklisting a binary signed with that certificate, or vice-versa.
  • Path-based rules (via NSRegularExpression/ICU): This allows a similar feature to that found in Managed Client (the precursor to configuration profiles, which used the same implementation mechanism), Application Launch Restrictions via the mcxalr binary. This implementation carries the added benefit of being configurable via regex, and not relying on LaunchServices. As detailed in the wiki, when evaluating rules this holds the lowest precedence.
  • Failsafe cert rules: You cannot put in a deny rule that would block the certificate used to sign launchd, a.k.a. pid 1, and therefore all components used in macOS. The binaries in every OS update (and in some cases entire new versions) are therefore auto-whitelisted. This does not affect binaries from Apple's App Store, which use various certs that change regularly for common apps. Likewise, you cannot blacklist Santa itself, and Santa uses a distinct separate cert than other Google apps.

Intentions and Expectations
No single system or process will stop all attacks, or provide 100% security. Santa is written with the intention of helping protect users from themselves. People often download malware and trust it, giving the malware credentials, or allowing unknown software to exfiltrate more data about your system. As a centrally managed component, Santa can help stop the spread of malware among a large fleet of machines. Independently, Santa can aid in analyzing what is running on your computer.
Santa is part of a defense-in-depth strategy, and you should continue to protect hosts in whatever other ways you see fit.

Security and Performance-Related Features
  • In-kernel caching: whitelisted binaries are cached in the kernel so the processing required to make a request is only done if the binary isn't already cached.
  • Userland components validate each other: each of the userland components (the daemon, the GUI agent and the command-line utility) communicate with each other using XPC and check that their signing certificates are identical before any communication is accepted.
  • Kext uses only KPIs: the kernel extension only uses provided kernel programming interfaces to do its job. This means that the kext code should continue to work across OS versions.

Known Issues
  • Santa only blocks execution (execve and variants), it doesn't protect against dynamic libraries loaded with dlopen, libraries on disk that have been replaced, or libraries loaded using DYLD_INSERT_LIBRARIES. As of version 0.9.1 we do address __PAGEZERO missing issues that were exploited in some versions of macOS. We are working on also protecting against similar avenues of attack.
  • Kext communication security: the kext will only accept a connection from a single client at a time and said client must be running as root. We haven't yet found a good way to ensure the kext only accepts connections from a valid client.
  • Database protection: the SQLite database is installed with permissions so that only the root user can read/write it. We're considering approaches to secure this further.
  • Scripts: Santa is currently written to ignore any execution that isn't a binary. This is because after weighing the administration cost vs the benefit, we found it wasn't worthwhile. Additionally, a number of applications make use of temporary generated scripts, which we can't possibly whitelist and not doing so would cause problems. We're happy to revisit this (or at least make it an option) if it would be useful to others.

Sync Servers
  • The santactl command-line client includes a flag to synchronize with a management server, which uploads events that have occurred on the machine and downloads new rules. There are several open-source servers you can sync with:
    • Upvote - An AppEngine-based server that implements social voting to make managing a large fleet easier.
    • Moroz - A simple golang server that serves hardcoded rules from simple configuration files.
    • Zentral - A centralized service that pulls data from multiple sources and deploy configurations to multiple services.
  • Alternatively, santactl can configure rules locally (without a sync server).

Screenshots
A tool like Santa doesn't really lend itself to screenshots, so here's a video instead.


Kext Signing
Kernel extensions on macOS 10.9 and later must be signed using an Apple-provided Developer ID certificate with a kernel extension flag. Without it, the only way to load an extension is to enable kext-dev-mode or disable SIP, depending on the OS version.
There are two possible solutions for this, for distribution purposes:
  1. Use a pre-built, pre-signed version of the kext that we supply. Each time changes are made to the kext code we will update the pre-built version that you can make use of. This doesn't prevent you from making changes to the non-kext parts of Santa and distributing those. If you make changes to the kext and make a pull request, we can merge them in and distribute a new version of the pre-signed kext.
  2. Apply for your own kext signing certificate. Apple will only grant this for broad distribution within an organization, they won't issue them just for testing purposes.

Contributing
Patches to this project are very much welcome. Please see the CONTRIBUTING file.

Disclaimer
This is not an official Google product.



Debotnet - A Tiny Portable Tool For Controlling Windows 10's Many Privacy-Related Settings And Keep Your Personal Data Private

$
0
0

A free and portable tool for controlling Windows 10's many privacy-related settings and keep your personal data private.

Your preparation for the Net!
The Windows 10 default privacy settings leave a lot to be desired when it comes to protecting you and your private information. Whenever I set up a new computer or update a current setup for my family or job, I always carefully go through the privacy settings for each install, making sure to lock it down to make it as private as possible.
Windows 10 has raised several concerns about privacy due to the fact that it has a lot of telemetry and online features, which send your data (sensitive and not) to Microsoft and can't be disabled, which means Microsoft can:
  • Run software on your computer without your consent
  • Get data from your computer without your consent
  • Remove software and files from your computer without your consent
This qualifies Windows 10 as malware, and more specifically, a botnet.

Debotnet requires Windows 10 including both 32-bit and 64-bit versions.

You can read a more about the latest changes in my blog.

Features
  • Disable telemetry and online features, which send your data (sensitive and not) to Microsoft
  • Choose which unwanted functions you wish to disable
  • Debotnet will show you what it's doing. You have full control, because the executing code is not hard coded and can be viewed in a simple text editor
  • Simple scripting engine for adding custom privacy rules
  • Debug mode. E.g. the Test mode lets you see which values are twisted in registry or commands executed
  • Scripts updated on GitHub
  • Support for Ninite service, which allows you to download and install more than 70 popular apps for Windows
  • Support for Chocolatey Software, which has a massive community package repository of installs (more than 4,000 packages)
  • Download Windows 10 ISO files using Microsoft Media Creation Tool with command line switches, also through MCT Wrapper or just a PowerShell script
  • Integration of custom PowerShell debloating scrips, e.g W4RH4WK / Debloat-Windows-10, Sycnex / Windows10Debloater
  • Download deprecated Windows apps, e.g. Classic Calculator
  • Modern and familiar UI, with theme support
  • Small footprint. No installation required (Portable)

Usage
As above mentioned Debotnet's main tools (in this case the scripts for debotnetting Windows) are not hard coded. Debotnet is based upon simple .DS1 files which define exactly which registry keys, files and or/services should be disabled, blocked, deleted etc. and preserved by the program. These script files allows you to execute command-line tools and parameter and also simple PowerShell code.

Example
[Info]
ID=No more forced updates
Ver=1.0
Desc=This will notify when updates are available, and you decide when to install them.\n\nThe values added to registry with this script will prevent forced updates.
Dev=Federico Dossena
DevURL=https://github.com/adolfintel/Windows10-Privacy
WinVer=Compatible with Windows 10
Evaluation=Recommended
EvaluationColor=009e5e

[Code]
Task1=Try,query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate,STDOUT
Task2=Try,query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions,STDOUT
Task3=Try,query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay,STDOUT
Task4=Try,query "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime,STDOUT
File5=Reg,add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0 /f,STDOUT
File6=Reg,add "HKLM\SOFTWAR E\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d 2 /f,STDOUT
File7=Reg,add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay /t REG_DWORD /d 0 /f,STDOUT
File8=Reg,add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime /t REG_DWORD /d 3 /f,STDOUT

Download

Suggesting features / providing feedback
Please send me feedback or report an Issue on GitHub

Acknowledgments


Padding-Oracle-Attacker - CLI Tool And Library To Execute Padding Oracle Attacks Easily

$
0
0

CLI tool and library to execute padding oracle attacks easily, with support for concurrent network requests and an elegant UI.

Install
Make sure Node.js is installed, then run
$ npm install --global padding-oracle-attacker
or
$ yarn global add padding-oracle-attacker

CLI Usage
Usage
$ padding-oracle-attacker decrypt <url> hex:<ciphertext_hex> <block_size> <error> [options]
$ padding-oracle-attacker decrypt <url> b64:<ciphertext_b64> <block_size> <error> [options]

$ padding-oracle-attacker encrypt <url> <plaintext> <block_size> <error> [options]
$ padding-oracle-attacker encrypt <url> hex:<plaintext_hex> <block_size> <error> [options]

$ padding-oracle-attacker analyze <url> [<block_size>] [options]

Commands
decrypt Finds the plaintext (foobar) for given ciphertext (hex:0123abcd)
encrypt Finds the ciphertext (hex:abcd1234) for given plaintext (foo=bar)
analyze Helps find out if the URL is vulnerable or not, and
how the response differs when a decryption error occurs
(for the <error> argument)

Arguments
<url> URL to attack. Payload will be inserted at the end by default. To specify
a custom injection point, include {POPAYLOAD} in a header (-H),
request body (-d) or the URL
<block_size> Block size used by the encryption algorithm on the server
<error> The string present in response when decryption fails on the server.
Specify a string present in the HTTP response body (like PaddingException)
or status code of the HTTP response (like 400)

Options
-c, --concurrency Requests to be sent concurrently [default: 128]
--disable-cache Disable network cache. Saved to [default: false]
poattack-cache.json.gz.txt by default
-X, --method HTTP method to use while making request [default: GET]
-H, --header Headers to be sent with request.
-H 'Cookie: cookie1' -H 'User-Agent: Googlebot/2.1'
-d, --data Request body
JSON string: {"id": 101, "foo": "bar"}
URL encoded: id=101&foo=bar
Make sure to specify the Content-Type header.

-e, --payload-encoding Ciphertext payload encoding for {POPAYLOAD} [defa ult: hex]
base64 FooBar+/=
base64-urlsafe FooBar-_
hex deadbeef
hex-uppercase DEADBEEF
base64(xyz) Custom base64 ('xyz' represent characters for '+/=')

--dont-urlencode-payload Don't URL encode {POPAYLOAD} [default: false]

--start-from-1st-block Start processing from the first block instead [default: false]
of the last (only works with decrypt mode)

Examples
$ poattack decrypt http://localhost:2020/decrypt?ciphertext=
hex:e3e70d8599206647dbc96952aaa209d75b4e3c494842aa1aa8931f51505df2a8a184e99501914312e2c50320835404e9
16 400
$ poattack encrypt http://localhost:2020/decrypt?ciphertext= "foo bar 🦄" 16 400
$ poattack encrypt http://localhost :2020/decrypt?ciphertext= hex:666f6f2062617220f09fa684 16 400
$ poattack analyze http://localhost:2020/decrypt?ciphertext=

Aliases
poattack
padding-oracle-attack

Library API
const { decrypt, encrypt } = require('padding-oracle-attacker')
// or
import { decrypt, encrypt } from 'padding-oracle-attacker'

const { blockCount, totalSize, foundBytes, interBytes } = await decrypt(options)

const { blockCount, totalSize, foundBytes, interBytes, finalRequest } = await encrypt(options)

decrypt(options: Object): Promise

encrypt(options: Object): Promise

Required options

url: string
URL to attack. Payload will be appended at the end by default. To specify a custom injection point, include {POPAYLOAD} in the URL, a header (requestOptions.headers) or the request body (requestOptions.data)

blockSize: number
Block size used by the encryption algorithm on the server.

isDecryptionSuccess: ({ statusCode, headers, body }) => boolean
Function that returns true if the server response indicates decryption was successful.

ciphertext: Buffer (decrypt only)
Ciphertext to decrypt.

plaintext: Buffer (encrypt only)
Plaintext to encrypt. Padding will be added automatically. Example: Buffer.from('foo bar', 'utf8')

Optional options

concurrency: number = 128
Network requests to be sent concurrently.

isCacheEnabled: boolean = true
Responses are cached by default and saved to poattack-cache.json.gz.txt. Set to false to disable caching.

requestOptions: { method, headers, data }

requestOptions.method: string
HTTP method to use while making the request. GET by default. POST, PUT, DELETE are some valid options.

requestOptions.headers: { string: string }
Headers to be sent with request. Example: { 'Content-Type': 'application/x-www-form-urlencoded' }

requestOptions.body: string
Request body. Can be a JSON string, URL encoded params etc. Content-Type header has to be set manually.

logMode: 'full'|'minimal'|'none' = 'full'
full: Log everything to console (default)
minimal: Log only after start and completion to console
none: Log nothing to console

transformPayload: (ciphertext: Buffer) => string
Function to convert the ciphertext into a string when making a request. By default, ciphertext is encoded in hex and inserted at the injection point (URL end unless {POPAYLOAD} is present).

Optional options (decrypt only)

alreadyFound: Buffer
Plaintext bytes already known/found that can be skipped (from the end). If you provide a Buffer of ten bytes, the last ten bytes will be skipped.

initFirstPayloadBlockWithOrigBytes: boolean = false
Initialize first payload block with original ciphertext bytes instead of zeroes.
Example: abcdef12345678ff 1111111111111111 instead of 00000000000000ff 1111111111111111

startFromFirstBlock: boolean = false
Start processing from the first block instead of the last.

makeInitialRequest: boolean = true
Make an initial request with the original ciphertext provided and log server response to console to allow the user to make sure network requests are being sent correctly.

Optional options (encrypt only)

makeFinalRequest: boolean = true
After finding the ciphertext bytes for the new plaintext, make a final request with the found bytes and log the server response to console.

lastCiphertextBlock: Buffer
Custom ciphertext for the last block. Last block is just zeroes by default (000000000000000).

Developing
padding-oracle-attacker is written in TypeScript. If you'd like to modify the source files and run them, you can either compile the files into JS first and run them using node, or use ts-node.
Example: yarn build then node dist/cli ... or simply ts-node src/cli ...

yarn build or npm run build
Builds the TypeScript files inside the src directory to JS files and outputs them to the dist directory.

yarn clean or npm run clean
Deletes the dist directory.

yarn lint or npm run lint
Lints the files using eslint.

yarn test or npm run test
Lints and runs the tests using ava.

node test/helpers/vulnerable-server.js
Runs the test server which is vulnerable to padding oracle attacks at http://localhost:2020

Related


DroneSploit - Drone Pentesting Framework Console

$
0
0

This CLI framework is based on sploitkit and is an attempt to gather hacking techniques and exploits especially focused on drone hacking. For the ease of use, the interface has a layout that looks like Metasploit.
Black Hat Europe Arsenal 2019 presentation
Also see articles:

Setup
This project is available on PyPi and can be simply installed using Pip:
pip3 install dronesploit

Basics

Interface


Modules
This example shows an example of module for DroneSploit aimed to change the password or the SSID of a particular model of drone.



X64Dbg - An Open-Source X64/X32 Debugger For Windows

$
0
0

An open-source binary debugger for Windows, aimed at malware analysis and reverse engineering of executables you do not have the source code for. There are many features available and a comprehensive plugin system to add your own. You can find more information on the blog!

Screenshots



Installation & Usage
  1. Download a snapshot from GitHub, SourceForge or OSDN and extract it in a location your user has write access to.
  2. Optionally use x96dbg.exe to register a shell extension and add shortcuts to your desktop.
  3. You can now run x32\x32dbg.exe if you want to debug a 32-bit executable or x64\x64dbg.exe to debug a 64-bit executable! If you are unsure you can always run x96dbg.exe and chose your architecture there.
You can also compile x64dbg yourself with a few easy steps!

Contributing
This is a community effort and we accept pull requests! See the CONTRIBUTING document for more information. If you have any questions you can always contact us or open an issue. You can take a look at the easy issues to get started.

Credits

Developers

Code contributions
You can find an exhaustive list of GitHub contributors here.

Special Thanks
Without the help of many people and other open-source projects, it would not have been possible to make x64dbg what is it today, thank you!


Maskprocessor - High-Performance Word Generator With A Per-Position Configureable Charset

$
0
0

High-Performance word generator with a per-position configureable charset

Mask attack
Try all combinations from a given keyspace just like in Brute-Force attack, but more specific.

Advantage over Brute-Force
The reason for doing this and not to stick to the traditional Brute-Force is that we want to reduce the password candidate keyspace to a more efficient one.
Here is a single example. We want to crack the password: Julia1984
In traditional Brute-Force attack we require a charset that contains all upper-case letters, all lower-case letters and all digits (aka “mixalpha-numeric”). The Password length is 9, so we have to iterate through 62^9 (13.537.086.546.263.552) combinations. Lets say we crack with a rate of 100M/s, this requires more than 4 years to complete.
In Mask attack we know about humans and how they design passwords. The above password matches a simple but common pattern. A name and year appended to it. We can also configure the attack to try the upper-case letters only on the first position. It is very uncommon to see an upper-case letter only in the second or the third position. To make it short, with Mask attack we can reduce the keyspace to 522626262610101010 (237.627.520.000) combinations. With the same cracking rate of 100M/s, this requires just 40 minutes to complete.

Disadvantage compared to Brute-Force
There is none. One can argue that the above example is very specific but this does not matter. Even in mask attack we can configure our mask to use exactly the same keyspace as the Brute-Force attack does. The thing is just that this cannot work vice versa.

Masks
For each position of the generated password candidates we need to configure a placeholder. If a password we want to crack has the length 8, our mask must consist of 8 placeholders.
  • A mask is a simple string that configures the keyspace of the password candidate engine using placeholders.
  • A placeholder can be either a custom charset variable, a built-in charset variable or a static letter.
  • A variable is indicated by the ? letter followed by one of the built-in charset (l, u, d, s, a) or one of the custom charset variable names (1, 2, 3, 4).
  • A static letter is not indicated by a letter. An exception is if we want the static letter ? itself, which must be written as ??.

Built-in charsets
  • ?l = abcdefghijklmnopqrstuvwxyz
  • ?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • ?d = 0123456789
  • ?s = «space»!"#$%&'()*+,-./:;<=>?@[]^_`{|}~
  • ?a = ?l?u?d?s
  • ?b = 0x00 - 0xff

Custom charsets
There are four commandline-parameters to configure four custom charsets.
  • --custom-charset1=CS
  • --custom-charset2=CS
  • --custom-charset3=CS
  • --custom-charset4=CS
These commandline-parameters have four analogue shortcuts called -1, -2, -3 and -4. You can specify the chars directly on the command line.

Password length increment
A Mask attack is always specific to a password length. For example, if we use the mask ”?l?l?l?l?l?l?l?l” we can only crack a password of the length 8. But if the password we try to crack has the length 7 we will not find it. Thats why we have to repeat the attack several times, each time with one placeholder added to the mask. This is transparently automated by using the ”--increment” flag.
  • ?l
  • ?l?l
  • ?l?l?l
  • ?l?l?l?l
  • ?l?l?l?l?l
  • ?l?l?l?l?l?l
  • ?l?l?l?l?l?l?l
  • ?l?l?l?l?l?l?l?l

Performance
Currently, it is the world's fastest word generator. Here are some stats:
  • AMD Athlon™ 64 X2 Dual Core Processor 3800+: 75.80 M/s (per core)
  • AMD FX™-6100 Six-Core Processor: 138.20 M/s (per core)
  • Intel(R) Xeon(R) CPU X5650 @ 2.67GHz: 97.42 M/s (per core)
  • Intel(R) i7-920: 71.50 M/s (per core)
To avoid irregularities while testing, all output went into /dev/null.

Example
The following commands creates the following password candidates:
  • command: ?l?l?l?l?l?l?l?l
  • keyspace: aaaaaaaa - zzzzzzzz
  • command: -1 ?l?d ?1?1?1?1?1
  • keyspace: aaaaa - 99999
  • command: password?d
  • keyspace: password0 - password9
  • command: -1 ?l?u ?1?l?l?l?l?l19?d?d
  • keyspace: aaaaaa1900 - Zzzzzz1999
  • command: -1 ?dabcdef -2 ?l?u ?1?1?2?2?2?2?2
  • keyspace: 00aaaaa - ffZZZZZ
  • command: -1 efghijklmnop ?1?1?1
  • keyspace: eee - ppp

Compile
Simply run make

Binary distribution
Binaries for Linux, Windows and OSX: https://github.com/jsteube/maskprocessor/releases


Natlas - Scaling Network Scanning

$
0
0

You've got a lot of maps and they are getting pretty unruly. What do you do? You put them in a book and call it an atlas. This is like that, except it's a website and it's a collection of nmaps. The Natlas server doubles as a task manager for the agents to get work, allowing you to control the scanning scope in one centralized place.

Getting Started
To get started with your own deployment of Natlas, you're going to need a minimum of one server and one agent. The quickest way to accomplish this is to run an agent on the same host as the server. Installation instructions for the server and the agent are linked below in their associated readmes.
To begin with natlas:
$ cd /opt
$ git clone https://github.com/natlas/natlas.git
$ cd natlas
Alternatively, please download the respective tarballs from natlas/releases.
Once you've got the code in /opt/natlas, please continue to setup either the server, the agent, or both, depending on your use case.

natlas-server
The natlas-server is where the data gets stored and the web interface exists so that you can search through the data.
You can read more about setting up and running the server on the natlas-server/README.md

natlas-agent
The natlas-agent is what fetches work from the server and actually performs the scans.
You can read more about setting up and running the agent on the natlas-agent/README.md

Contributing
Please review CONTRIBUTING for guidelines on how to contribute to natlas.

Code Of Conduct
This project strives to adhere to the code of conduct outlined in CODE_OF_CONDUCT.md. Please review the code of conduct before contributing.

Security
Information about this project's security reporting guidelines as well as security related functionality are outlined in SECURITY.md

Acknowledgements

Disclaimer
Natlas is a platform which makes use of many other open source projects, many of which have their own licenses. Natlas does not claim ownership of any projects that it uses, and does not represent any of said projects. To the best of the Natlas Author's knowledge, the use of these tools in the Natlas platform is not violating any licenses. Natlas is a free and open source project that does not make, nor seeks to make, any revenue from the use of the other open source tools in use.
For further inquiry about licensing, please see the respective projects' licenses.


Capsulecorp-Pentest - Vagrant VirtualBox Environment For Conducting An Internal Network Penetration Test

$
0
0

Vagrant VirtualBox Environment For Conducting An Internal Network Penetration Test.

1. Capsulecorp Pentest
The Capsulecorp Pentest is a small virtual network managed by vagrant and ansible. It contains five virtual machines, including one Linux attacking system running xubuntu and 4 Windows 2019 servers configured with various vulnerable services. This project can be used to learn network penetration testing as a stand-alone environment but is ultimatly designed to compliment my book The Art of Network Penetration Testing

1.1. Current Funcionality
  • Active directory domain with one DC and 3 server members
    • Domain Controler: goku.capsulecorp.local
    • Server 01: vegeta.capsulecorp.local
    • Server 02: gohan.capsulecorp.local
    • Server 03: trunks.capsulecorp.local
  • Vulnerable Jenkins server on vegeta
  • Vulnerable Apache Tomcat server on trunks
  • Vulnerable MSSQL server on gohan
  • Xubuntu pentest system running XRDP.
    • Metasploit
    • CrackMapExec
    • Nmap
    • Remmina RDP client
    • RVM
    • Python/Pip/Pipenv
    • Impacket

1.2. Requirements
In order to use the Capsulecorp Pentest network you must have the following:

1.3. OSX Configuration
In order to manage Windows hosts you'll have to install pywinrm with pip inside the ansible virtual environment
source ~/ansible/bin/activate
pip install pywinrm
deactivate

2. Installation
For a detailed installation walkthrough check out the MacOS Setup Guide

2.1. Configure the windows hosts
The first thing you should do is bring up and provision Goku the domain controller. This system will likely take the longest to bring up because the dcpromo stuff just takes a while.
Bring up the VM
vagrant up goku
Provision the VM
vagrant provision goku
Repeat the above two commands for gohan, vageta and trunks.
...WARNING...
This section of the provision is expected to take a while because after a dcpromo it takes a long time for the system to reboot.
TASK [promotedc : Set a static address to 172.28.128.100] **********************
changed: [goku]

TASK [promotedc : Change hostname to goku] *************************************
ok: [goku]

TASK [promotedc : Install Active Directory Services] ***************************
ok: [goku]

TASK [promotedc : Promote goku to domain controller] ***************************
changed: [goku]

TASK [promotedc : Reboot after promotion] **************************************

2.2. Configure your pentest platform
Bring up the virtual machines using vagrant. First cd into the project directory, for example: cd ~/capsulecorp-pentes. Take note of the RDP port that gets forwarded to your localhost.
vagrant up pentest
Provision the pentest machine.
vagrant provision pentest
You can access your penitent machine either using your preferred RDP client to connect to the xrdp listener or via SSH with.
vagrant ssh pentest



WiFi Passview v4.0 - An Open Source Batch Script Based WiFi Passview For Windows!

$
0
0

WiFi Passview is an open-source batch script-based program that can recover your WiFi Password easily in seconds. This is for Windows OS only. Basically, this scripted program has the same function as other passview software such as webpassview and mailpassview. Visit Wiki
Disclaimer: WiFi Passview is NOT designed for malicious use! Please use this program responsibly!

How it Works
Basically, this is the shortcut and batch scripted file version of a popular WiFi password manager viewing method using the command prompt. This is how it works...
netsh wlan show profiles
When you use this tool, you are able to extract the WiFi passwords stored on the target machine in just seconds.
To learn more visit Wiki page...

Features
This simple tool offers you the following features...
  • Extract all available WiFi passwords stored in the target machine and can be done in just a seconds.
  • Extract password from specific target SSID.
  • Save extracted passwords.
  • Additional options.
  • No manual reading of Key Content, the tool will do that for you!
  • No need admin rights to run the program.
  • Standalone batch program.
  • Supports all languages.
  • Generate WLAN report. (requires admin privileges)
  • Upload collected passwords to the cloud. (powered by file.io api)
  • Customizable builds.

Usage
Download the repository and look for "wifi-passview-vX.X.X.bat" file and run it as ordinary *.bat file (no need to run it as administrator). All you have to do is to follow the on-screen instructions.
Read the official blog on How to Use WiFi Passview.
Wanna use for WiFi Hacking? Visit this exclusive post from the author.

Screenshots
Here's the screeshot of the program...


In Action
Here's how this tool works...



Don't forget to like, share, and subscribe to my channel!

White Label / Personalize / Custom / Development
  • Download the repository
  • Do "npm install" and "npm install gulp-cli -g && npm install gulp -D"
  • After that, edit the "./src/config.json" file for your customization or personalization.
  • When you think you are satisfy, just do "gulp build" or "gulp" to initiate the building process.
  • If you want to reset the building process just do "gulp cleandev".
  • If you are editing the "./src/core.bat" you can use "gulp test" it is a combination of "gulp build" and "gulp cleandev" so you can quickly quality check the production build.
  • Do "gulp --tasks" to see all available "gulp" commands.

Premium Version
Looking for the official "wifi-passview-vX.X.X.exe" version and wanna support the project?


FAQs
Q: Why you don't use the built-in netsh wlan export command?
I'm aware of that command, the only reason why I use findstr instead of that command is that to make the tool more user-level that does not require any admin rights. For example, if you are about to use the tool in a machine that you don't own then you're not able to use the tool. Got the idea? If the tool does not require admin rights then we can avoid the UAC prompt and we can use the tool more efficiently, the command netsh wlan show profiles do not require admin rights that's why we can still use that and capture the data and save it to file using the findstr command. Brilliant?
Visit FAQ section for more information.

Contributing
Contributions are welcome, create a pull request to dev branch of this repo and I will review your code.

Issues
If you're facing a problem in using WiFi Passview please let me know by creating an issue in this github repository. I'm happy to help you! Don't forget to provide some screenshot or error logs of it!

To Do
  • Extract WiFi Password Across Network (experimental)
  • More... (have suggestions? let me know!)

Supporters and Backers
  • ernest_bigelow, nanantakeshi, kerry_howell
Wanna see your name here? Just buy me a coffee!

License
WiFi Passview is licensed under GNU General Public License v3 - https://opensource.org/licenses/GPL-3.0

Author
This project is created by Waren Gonzaga for educational purposes.

</> with <3 by Waren Gonzaga


Saferwall - A Hackable Malware Sandbox For The 21St Century

$
0
0

Saferwall is an open source malware analysis platform.

It aims for the following goals:
  • Provide a collaborative platform to share samples among malware researchers.
  • Acts as a system expert, to help researchers generates an automated malware analysis report.
  • Hunting platform to find new malwares.
  • Quality ensurance for signature before releasing.


Features
  • Static analysis:
    • Crypto hashes, packer identification
    • Strings extraction
    • Portable Executable file parser
  • Multiple AV scanner which includes major antivirus vendors:
    VendorsstatusVendorsstatus
    AvastokFSecureok
    AviraokKasperskyok
    BitdefenderokMcAfeeok
    ClamAVokSophosok
    ComodookSymantecok
    ESETokWindows Defenderok

Installation
Saferwall take advantage of kubernetes for its high availability, scalibility and the huge ecosystem behind it.
Everything runs inside Kubernetes. You can either deploy it in the cloud or have it self hosted.
To make it easy to get a production grade Kubernetes cluster up and running, we use kops. It automatically provisions a kubernetes cluster hosted on AWS, GCE, DigitalOcean or OpenStack and also on bare metal. For the time being, only AWS is officially supported.
Steps to deploy in AWS: (This still needs to be improved)
  1. Clone the project: git clone https://github.com/saferwall/saferwall
  2. Using a debian linux, make sure build-essential are installed: sudo apt-get install build-essential.
  3. Rename the example.env to .env and fill the secrets according to which AVs you want to have.
  4. Install it: make saferwall.
  5. Edit the deployments/values.yaml to match your needs.
  6. Logs are found elasticsearch:
Built with:

Current architecture / Workflow:

Here is a basic workflow which happens during a file scan:
  • Frontend talks to the the backend via REST APIs.
  • Backend uploads samples to the object storage.
  • Backend pushes a message into the scanning queue.
  • Consumer fetches the file and copy it into to the nfs share avoiding to pull the sample on every container.
  • Consumer calls asynchronously scanning services (like AV scanners) via gRPC calls and waits for results.

Acknowledgements

Contributing
Please read docs/CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.


Tsunami - A General Purpose Network Security Scanner With An Extensible Plugin System For Detecting High Severity Vulnerabilities With High Confidence

$
0
0

Tsunami is a general-purpose network security scanner with an extensible plugin system for detecting high severity vulnerabilities with high confidence.
To learn more about Tsunami, visit our documentations.
Tsunami relies heavily on its plugin system to provide basic scanning capabilities. All publicly available Tsunami plugins are hosted in a separate google/tsunami-security-scanner-plugins repository.

Current Status
  • Currently Tsunami is in 'pre-alpha' release for developer preview.
  • Tsunami project is currently under active development. Do expect major API changes in the future.

Quick Start
To quickly get started with Tsunami scans,
  1. install the following required dependencies:
    nmap >= 7.80
    ncrack >= 0.7
  2. start a vulnerable application that can be identified by Tsunami, e.g. an unauthenticated Jupyter Notebook server. The easiest way is to use a docker image:
    docker run --name unauthenticated-jupyter-notebook -p 8888:8888 -d jupyter/base-notebook start-notebook.sh --NotebookApp.token=''
  3. execute the following command:
    bash -c "$(curl -sfL https://raw.githubusercontent.com/google/tsunami-security-scanner/master/quick_start.sh)"
The quick_start.sh script performs the following tasks:
  1. Clone the google/tsunami-security-scanner and google/tsunami-security-scanner-plugins repos into $HOME/tsunami/repos directory.
  2. Compile all Google Tsunami plugins and move all plugin jar files into $HOME/tsunami/plugins directory.
  3. Compile the Tsunami scanner Fat Jar file and move it into $HOME/tsunami directory.
  4. Move the tsunami.yaml example config into $HOME/tsunami directory.
  5. Print example Tsunami command for scanning 127.0.0.1 using the previously generated artifacts.

Contributing
Read how to contribute to Tsunami.

Disclaimers
Tsunami is not an official Google product.


Steganographer - Hide Files Or Data In Image Files

$
0
0

This Module will hide files inside images ( currenlty PNG ) and export the modified image to disk
The maximum size of file which can be hidden inside an image depends on the dimension of the image.
max_file_size = ( height_of_image * width_of_image * 6 / 8 ) bytes
'100k words.txt' is hidden in 'original_image.png' named as 'image_with_100k words.png'. Go and checkout if you can spot the difference between these two images. You can use this Module to extract '100k words.txt' from the 'image_with_100k words.png'

Example
Original Image


Modified Image


This image has 100k words hidden inside it!

How it works?

It is based on a simple principle that if we change the LSB ( Least Significant Bits ) of every Pixel, then the change will not be significant and will not be noticed by eyes.
So, this Module takes 2 bits of data from the file to be hidden and replaces the last 2 bits of one pixel with those 2 bits, and then move to next pixel. The maximum change in pixel can be 4 units, and the range of values in a PNG Image if (0,255), so this change will not be significant.
In a PNG Image, each pixel has 3 channels Red, Green and Blue. ( Some PNG Images have 1 or 4 channels, but this Program will convert them to 3 channels) A typical pixel in a PNG Image looks like :
a_pixel = (17,32,11)     # (RED, GREEN, BLUE)
So, we can save 3 times 2 bits in a Pixel, that means 6 bits per pixel. That leads us to the upper limit of the file size, that can be hidden in an image:
max_file_size = ( height_of_image * width_of_image * 6 / 8 ) bytes
Let's understand by taking an example. The data to be hidden is :
binary_data = 0b100111
Let's take the first two bits and replace them with the RED Channel of our 'a_pixel'.
a_pixel = (0b10001, 0b100000, 0b1011)   # binary representation of a_pixel values
# Let's change a_pixel's RED Channel
# 0b10001 -> 0b10010 ( First 2 bits are 10 )
a_pixel = (0b10010, 0b100000, 0b1011) # modified pixel
Let's again take 2 bits from binary_data and replace the last 2 bits of GREEN Channel with them.
a_pixel = (0b10010, 0b100000, 0b1011)
# Let's change a_pixel's GREEN Channel
# 0b100000 -> 0b100001 ( The 2 bits are 01 )
a_pixel = (0b10010, 0b100001, 0b1011) # modified pixel
Let's do this one more time with BLUE Channel and we will be done.
a_pixel = (0b10010, 0b100001, 0b1011)
# Let's change a_pixel's BLUE Channel
# 0b1011 -> 0b1011 ( The 2 bits are 11 ) ; Notice that the value wasn't changed this time
a_pixel = (0b10010, 0b100001, 0b1011) # pixel wasn't modified this time
So, we have hidden our 6 bit message in a pixel, let's see the changes in the pixel
a_pixel             = (0b10001, 0b100000, 0b1011) = (17, 32, 11)
a_pixel_with_data = (0b10010, 0b100001, 0b1011) = (18, 33, 11)
As we can see that the change is not even noticeable at the pixel level. The Module do this repeatedly until all our data is saved to the image.


NOTE : The noise in the photo is increased and if we use any photo editing software and compare it with the original image, then this image will have much more noise than the original image.
Solution for this problem : Never ever upload/share the original image to internet

Todos
  • Add support for JPEG Images
  • Add encryption option
  • Add auto detection of the name of file to be extracted


T14M4T - Automated Brute-Forcing Attack Tool

$
0
0
t14m4t is an automated brute-forcing attack tool, wrapper of THC-Hydra and Nmap Security Scanner.
t14m4t is scanning an user defined target (or a document containing targets) for open ports of services supported by t14m4t, and then starting brute-forcing attack against the services running on discovered ports, using lists of most commonly used weak credentials.

Installation:
Installation consists of cloning the repo and making t14m4t executable. THC-Hydra and Nmap Security Scanner are required in order to run t14m4t.
# git clone https://github.com/MS-WEB-BN/t14m4t/
# cd t14m4t
# sudo chmod +x t14m4t

Usage:
The only parameter t14m4t requires is the target identification (obviously). Target parameter can also be a file, where each target is separated by return. Number of threads if optional parameter, ranging from 1 to 64. If not defined, t14m4t runs the attack with 16 (default) threads.
# ./t14m4t <target> <number of threads>
Example:
# ./t14m4t 192.168.0.1 32
# ./t14m4t /targets/targetlist.txt 32

Supported services:
FTP | SSH | Telnet | SMTP | HTTP | POP3 | SMB | SNMP | LDAP | HTTPS | rexec | rlogin | rsh | IMAP | mssql | mysql | postgres | oracle | RDP | VNC | IRC

Demo:


Disclaimer:
Any actions and/or activities done by using t14m4t are solely your responsibility. The misuse of t14m4t can result in criminal charges brought against the persons in question. The author will not be held responsible in the event any criminal charges be brought against any individuals misusing t14m4t to break the law.


Viewing all 5816 articles
Browse latest View live


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