Kali Linux

Coercer : A Python Script To Automatically Coerce A Windows Server To Authenticate On An Arbitrary Machine

Coercer is a python script to automatically coerce a Windows server to authenticate on an arbitrary machine through 9 methods.

Features

  • Automatically detects open SMB pipes on the remote machine.
  • Calls one by one all the vulnerable RPC functions to coerce the server to authenticate on an arbitrary machine.
  • Analyze mode with --analyze, which only lists the vulnerable protocols and functions listening, without performing a coerced authentication.
  • Perform coerce attack on a list of targets from a file with --targets-file
  • Coerce to a WebDAV target with --webdav-host and --webdav-port

Installation

You can now install it from pypi (latest version is ) with this command:

sudo python3 -m pip install coercer

Usage

$ ./Coercer.py -h
_ / / _ ___ _ / / / _ \/ _ \/ / / _ \/ /
/ // // / / / / // / / v1.6 _/_/___// __/___// by @podalirius
usage: Coercer.py [-h] [-u USERNAME] [-p PASSWORD] [-d DOMAIN] [–hashes [LMHASH]:NTHASH] [–no-pass] [-v] [-a] [-k] [–dc-ip ip address] [-l LISTENER] [-wh WEBDAV_HOST] [-wp WEBDAV_PORT]
(-t TARGET | -f TARGETS_FILE) [–target-ip ip address]
Automatic windows authentication coercer over various RPC calls.
options:
-h, –help show this help message and exit
-u USERNAME, –username USERNAME
Username to authenticate to the endpoint.
-p PASSWORD, –password PASSWORD
Password to authenticate to the endpoint. (if omitted, it will be asked unless -no-pass is specified)
-d DOMAIN, –domain DOMAIN
Windows domain name to authenticate to the endpoint.
–hashes [LMHASH]:NTHASH
NT/LM hashes (LM hash can be empty)
–no-pass Don’t ask for password (useful for -k)
-v, –verbose Verbose mode (default: False)
-a, –analyze Analyze mode (default: Attack mode)
-k, –kerberos Use Kerberos authentication. Grabs credentials from ccache file (KRB5CCNAME) based on target parameters. If valid credentials cannot be found, it will use the ones specified in the
command line
–dc-ip ip address IP Address of the domain controller. If omitted it will use the domain part (FQDN) specified in the target parameter
-t TARGET, –target TARGET
IP address or hostname of the target machine
-f TARGETS_FILE, –targets-file TARGETS_FILE
IP address or hostname of the target machine
–target-ip ip address
IP Address of the target machine. If omitted it will use whatever was specified as target. This is useful when target is the NetBIOS name or Kerberos name and you cannot resolve it
-l LISTENER, –listener LISTENER
IP address or hostname of the listener machine
-wh WEBDAV_HOST, –webdav-host WEBDAV_HOST
WebDAV IP of the server to authenticate to.
-wp WEBDAV_PORT, –webdav-port WEBDAV_PORT
WebDAV port of the server to authenticate to.

Coerced WebDAV authentication demonstration

If you want to trigger an HTTP authentication, you can use WebDAV with --webdav-host and the netdbios name of your attacking machine!

Example output

In attack mode (without --analyze option) you get the following output:

After all the RPC calls, you get plenty of authentications in Responder:

R K

Recent Posts

Install Pip on Ubuntu 18.04: Python 3 and Python 2 Setup Guide

Pip is the official package manager for Python and the standard way to install libraries from…

4 days ago

Install R on Ubuntu 18.04 from CRAN: Statistical Computing Setup

R is an open-source programming language and environment built for statistical computing and data visualization. It…

4 days ago

Install Jenkins on Ubuntu 18.04: CI/CD Server Setup Guide

Jenkins is an open-source automation server that makes it easy to build CI/CD pipelines. Continuous integration…

4 days ago

Install Android Studio on Ubuntu 18.04 with Snap and OpenJDK 8

Android Studio is the official IDE for Android development, built on JetBrains' IntelliJ IDEA platform. It…

4 days ago

Install and Configure GitLab on Ubuntu 18.04 with Omnibus

GitLab is a web-based, open-source Git repository manager written in Ruby. It includes built-in tools for…

4 days ago

Install Anaconda on Ubuntu 18.04: Python Data Science Setup Guide

Anaconda is the most widely used Python distribution for data science and machine learning. It bundles…

5 days ago