Skip to content
skelsec edited this page Dec 17, 2018 · 7 revisions

SUPER IMPORTANT NOTICE: THIS CODE IS PUBLIC BECAUSE THERE WERE REQUESTS TO DO SO, BUT PLEASE DO NOT USE IT FOR INTEGRATING ANYTHING IN YOUR OWN PROJECT YET BECAUSE IT'S NOT AT THAT STAGE

What is this?

Responder3 is a framework based on the awesome and well-known Responder app from lgandx. Think of it as Responder on steroids running on Python3 (3.7 minimum!) and utilizing Asyncio and actual protocol implementations. Huge KUDOS for lgandx for the original idea and implementation of the old responder tool!

It also includes machine-learning and blockchains and all the other hyped-up bullshit people like to hear nowadays (NOT TRUE, where is the strikeout in markdown?).

What can I use it for?

The original concept of Responder was for harvesting credentials over the network by poisoning unprotected broadcast name resolution protocols (eg. NetBIOS-NR, LLMNR, MDNS...) and setting up a dozen of different servers (eg. HTTP, FTP, SMTP...) hoping that the victim will try to connect to one of them after the poisoned DNS resolution is taken into account by whatever application or OS the victim is running. This project extends this idea by giving you an easy to use interface (config file, and individually usable python modules for setting up servers and/or protocol parsing) to set up servers that are capable of not just credential harvesting but also much more depending on the protocol. See examples page. You can use it as a honeypot on your internal network or on the internet (ya know.. for shits and giggles) You can easily roll a basic client for the protocol implemented. Example implementation for SOCKS5 proxy is already there.

Is it better than the original?

You decide. I mean I'm quite biased on this question.

Main differences between Responder3 and the original Responder

  • Runs on Python3 only. (Doesn't run on Python2, and never will)
  • Supports multiple platforms (main focus on Kali, Ubuntu, Windows, OSX. in this order.)
  • Asyncio coroutines for handing socket communication
  • Actual protocol parsing and basic server implementation, not just sending and matching on static blobs of binary data
  • Unified interface to bring up and configure servers
  • Unified logging module that is easily extensible by you! (Twitter extension and remote WebUI+DB extension is already implemented)
  • IPv6 ready on all protocols where it's applicable (wow... one must still mention this in 2018...)
  • Easy to implement logging plugins
  • Client-server management mode allows multiple clients to be controlled via a manager instance