All Projects → compewter → Copycat

compewter / Copycat

Universal MITM web server

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Copycat

Bettercap
DEPRECATED, bettercap developement moved here: https://github.com/bettercap/bettercap
Stars: ✭ 2,518 (+2443.43%)
Mutual labels:  mitm, man-in-the-middle
Proxy.py
⚡⚡⚡Fast, Lightweight, Pluggable, TLS interception capable proxy server focused on Network monitoring, controls & Application development, testing, debugging
Stars: ✭ 1,291 (+1204.04%)
Mutual labels:  mitm, man-in-the-middle
man-in-the-middle
Modify requests, inject JavaScript and CSS into pages
Stars: ✭ 74 (-25.25%)
Mutual labels:  mitm, man-in-the-middle
Striptls
proxy poc implementation of STARTTLS stripping attacks
Stars: ✭ 163 (+64.65%)
Mutual labels:  mitm, man-in-the-middle
Mitmf
Framework for Man-In-The-Middle attacks
Stars: ✭ 3,277 (+3210.1%)
Mutual labels:  mitm, man-in-the-middle
ESP-Bug
ESP8266 based WiFi implant to remotely track the presence of certain people or devices via a simple web interface
Stars: ✭ 78 (-21.21%)
Mutual labels:  mitm, man-in-the-middle
mps
MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. MPS 是一个高性能HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket代理
Stars: ✭ 64 (-35.35%)
Mutual labels:  mitm, man-in-the-middle
mitm-play
Man in the middle using Playwright
Stars: ✭ 13 (-86.87%)
Mutual labels:  mitm, man-in-the-middle
Wirespy
Framework designed to automate various wireless networks attacks (the project was presented on Pentester Academy TV's toolbox in 2017).
Stars: ✭ 293 (+195.96%)
Mutual labels:  mitm, man-in-the-middle
Wifi Pumpkin Deprecated
DEPRECATED, wifipumpkin3 -> https://github.com/P0cL4bs/wifipumpkin3
Stars: ✭ 2,964 (+2893.94%)
Mutual labels:  mitm, man-in-the-middle
Ssh Mitm
SSH man-in-the-middle tool
Stars: ✭ 1,328 (+1241.41%)
Mutual labels:  mitm, man-in-the-middle
Pokemon Go Mitm
🎁 Pokemon Go MITM Proxy - Intercepts the traffic between your Pokemon Go app and their servers, decodes the protocol and gives you a handy tool to enrich your own game experience on the fly.
Stars: ✭ 475 (+379.8%)
Mutual labels:  mitm, man-in-the-middle
Apk Mitm
🤖 A CLI application that automatically prepares Android APK files for HTTPS inspection
Stars: ✭ 893 (+802.02%)
Mutual labels:  mitm, man-in-the-middle
Thc Ipv6
IPv6 attack toolkit
Stars: ✭ 673 (+579.8%)
Mutual labels:  man-in-the-middle
Seth
Perform a MitM attack and extract clear text credentials from RDP connections
Stars: ✭ 1,084 (+994.95%)
Mutual labels:  mitm
Injectify
Perform advanced MiTM attacks on websites with ease 💉
Stars: ✭ 612 (+518.18%)
Mutual labels:  mitm
Awesome Network Stuff
Resources about network security, including: Proxy/GFW/ReverseProxy/Tunnel/VPN/Tor/I2P, and MiTM/PortKnocking/NetworkSniff/NetworkAnalysis/etc。More than 1700 open source tools for now. Post incoming.
Stars: ✭ 578 (+483.84%)
Mutual labels:  mitm
Omeglemiddleman
Lets you connect strangers to each other, and intercept messages AKA Man in the Middle Attack
Stars: ✭ 85 (-14.14%)
Mutual labels:  mitm
Dns Mitm
A minimal DNS service that can provide spoofed replies
Stars: ✭ 54 (-45.45%)
Mutual labels:  mitm
Websploit
Websploit is a high level MITM framework
Stars: ✭ 573 (+478.79%)
Mutual labels:  mitm

CopyCat

CopyCat is a Node.js based universal MITM web server. Used with DNS spoofing or another redirect attack, this server will act as a MITM for web traffic between the victim and a real server.

Here's an example of a google search going through CopyCat as a gif. For ants...

Most often we see DNS spoofing used to redirect victims to an attackers server hosting a static clone of the spoofed domain's login page. But this server will forward all traffic between the victim and the spoofed domain allowing an attacker to sit in as the MITM while the victim interacts with the real domain. This also allows the attacker to inject scripts and manipulate the victim's interactions with the intended web server.

All urls are hijacked inside the HTML response from the server causing all traffic to be rerouted back through the server (provided you have a redirect attack for those domains as well).

This is currently only configured to work with fake subdomains of real domains. If the server you are trying to spoof uses HSTS with the includeSubdomains argument the victim's browser will attempt to upgrade to HTTPS. The option to allow spoofing domains without using a subdomain will be released at a later time.

Configuration

After cloning or downloading this repo, look at the .env file in the root directory. This is where you set the subdomains to their corresponding real prefixes. The default prefix map is:

{
  'http://': 'us-west-1',
  'https://': 'us-west-2',
  'http://www.': 'us-west-3',
  'https://www.': 'us-west-4'
}

Example url translations:
https://facebook.com -> http://us-west-2.facebook.com
https://www.google.com -> http://us-west-4.google.com

Installation

Requires Node.js v6+ to run.

$ cd /path/to/repo
$ npm install
$ sudo node server.js

What's Happening?

The attacker directs the victim to the spoofed domain for example http://us-west-4.facebook.com. Using DNS spoofing this request is sent to this server. It recognizes the pattern "us-west-4" means this should be a request to https://www.facebook.com. A session is either generated or looked up and associated with the request. The server makes a request to that domain. When a response is received, it hijacks any urls in the HTML to be their spoofed counterpart to ensure those requests are sent back through this server. Any cookies from the real domain are attached to the victims session to be used with future requests. Security headers are modified or deleted to allow content to render properly. A script is injected into the HTML before responding. This client side script (public/hijacks.js) overwrites the native XMLHttpRequest.open method to hijack the requested url. It also traverses the DOM looking for elements which request content and hijacks their urls in case they were added client side or slipped past the server side url hijaking function. The end result being a functioning version of the spoofed domain.

What can I do with it?

This is nothing more than a functioning platform for being a MITM with web requests. The potential to use this with other attacks is there. You completely own this domain and can run whatever arbitrary scripts you'd like, or even inject a BeEF hook. If they're going through this server you have complete control of the victim's experience.

What's Next?

Stay tuned for updates to VeAL. Once that platform is there to manage victim sessions, you will be able to view and manipulate victim's sessions with ease. I'm working on a prototype of a remote viewing attack. This will mirror all mouse movements, keystrokes, and DOM elements from the victims allowing you to remotely watch the session as its happening as a sort of terrifying surveillance tool. This of course wouldn't be limited to this MITM server so it wont be found here.
In addition to viewing live, I don't see why you couldn't record a session to be viewed later.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].