Git Product home page Git Product logo

responder's Introduction

⛔ [DEPRECATED] Active at https://github.com/lgandx/Responder

Responder.py

LLMNR/NBT-NS/mDNS Poisoner

Author: Laurent Gaffie <[email protected] > http://www.spiderlabs.com

Intro

Responder an LLMNR, NBT-NS and MDNS poisoner. It will answer to specific NBT-NS (NetBIOS Name Service) queries based on their name suffix (see: http://support.microsoft.com/kb/163409). By default, the tool will only answer to File Server Service request, which is for SMB.

The concept behind this is to target our answers, and be stealthier on the network. This also helps to ensure that we don't break legitimate NBT-NS behavior. You can set the -r option via command line if you want to answer to the Workstation Service request name suffix.

Features

  • Built-in SMB Auth server.

Supports NTLMv1, NTLMv2 hashes with Extended Security NTLMSSP by default. Successfully tested from Windows 95 to Server 2012 RC, Samba and Mac OSX Lion. Clear text password is supported for NT4, and LM hashing downgrade when the --lm option is set. This functionality is enabled by default when the tool is launched.

  • Built-in MSSQL Auth server.

In order to redirect SQL Authentication to this tool, you will need to set the option -r (NBT-NS queries for SQL Server lookup are using the Workstation Service name suffix) for systems older than windows Vista (LLMNR will be used for Vista and higher). This server supports NTLMv1, LMv2 hashes. This functionality was successfully tested on Windows SQL Server 2005 & 2008.

  • Built-in HTTP Auth server.

In order to redirect HTTP Authentication to this tool, you will need to set the option -r for Windows version older than Vista (NBT-NS queries for HTTP server lookup are sent using the Workstation Service name suffix). For Vista and higher, LLMNR will be used. This server supports NTLMv1, NTLMv2 hashes and Basic Authentication. This server was successfully tested on IE 6 to IE 10, Firefox, Chrome, Safari.

Note: This module also works for WebDav NTLM authentication issued from Windows WebDav clients (WebClient). You can now send your custom files to a victim.

  • Built-in HTTPS Auth server.

Same as above. The folder certs/ contains 2 default keys, including a dummy private key. This is intentional, the purpose is to have Responder working out of the box. A script was added in case you need to generate your own self signed key pair.

  • Built-in LDAP Auth server.

In order to redirect LDAP Authentication to this tool, you will need to set the option -r for Windows version older than Vista (NBT-NS queries for HTTP server lookup are sent using the Workstation Service name suffix). For Vista and higher, LLMNR will be used. This server supports NTLMSSP hashes and Simple Authentication (clear text authentication). This server was successfully tested on Windows Support tool "ldp" and LdapAdmin.

  • Built-in FTP, POP3, IMAP, SMTP Auth servers.

This modules will collect clear text credentials.

  • Built-in DNS server.

This server will answer type A queries. This is really handy when it's combined with ARP spoofing.

  • Built-in WPAD Proxy Server.

This module will capture all HTTP requests from anyone launching Internet Explorer on the network if they have "Auto-detect settings" enabled. This module is highly effective. You can configure your custom PAC script in Responder.conf and inject HTML into the server's responses. See Responder.conf.

  • Browser Listener

This module allows to find the PDC in stealth mode.

  • Fingerprinting

When the option -f is used, Responder will fingerprint every host who issued an LLMNR/NBT-NS query. All capture modules still work while in fingerprint mode.

  • Icmp Redirect

    python tools/Icmp-Redirect.py

For MITM on Windows XP/2003 and earlier Domain members. This attack combined with the DNS module is pretty effective.

  • Rogue DHCP

    python tools/DHCP.py

DHCP Inform Spoofing. Allows you to let the real DHCP Server issue IP addresses, and then send a DHCP Inform answer to set your IP address as a primary DNS server, and your own WPAD URL.

  • Analyze mode.

This module allows you to see NBT-NS, BROWSER, LLMNR, DNS requests on the network without poisoning any responses. Also, you can map domains, MSSQL servers, workstations passively, see if ICMP Redirects attacks are plausible on your subnet.

Hashes

All hashes are printed to stdout and dumped in an unique file John Jumbo compliant, using this format:

(MODULE_NAME)-(HASH_TYPE)-(CLIENT_IP).txt

Log files are located in the "logs/" folder. Hashes will be logged and printed only once per user per hash type, unless you are using the Verbose mode (-v).

  • Responder will logs all its activity to Responder-Session.log
  • Analyze mode will be logged to Analyze-Session.log
  • Poisoning will be logged to Poisoners-Session.log

Additionally, all captured hashed are logged into an SQLite database which you can configure in Responder.conf

Considerations

  • This tool listens on several ports: UDP 137, UDP 138, UDP 53, UDP/TCP 389,TCP 1433, TCP 80, TCP 139, TCP 445, TCP 21, TCP 3141,TCP 25, TCP 110, TCP 587 and Multicast UDP 5553.

  • If you run Samba on your system, stop smbd and nmbd and all other services listening on these ports.

  • For Ubuntu users:

Edit this file /etc/NetworkManager/NetworkManager.conf and comment the line: dns=dnsmasq. Then kill dnsmasq with this command (as root): killall dnsmasq -9

  • Any rogue server can be turned off in Responder.conf.

  • This tool is not meant to work on Windows.

  • For OSX, please note: Responder must be launched with an IP address for the -i flag (e.g. -i YOUR_IP_ADDR). There is no native support in OSX for custom interface binding. Using -i en1 will not work. Also to run Responder with the best experience, run the following as root:

    launchcl unload /System/Library/LaunchDaemons/com.apple.Kerberos.kdc.plist

    launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

    launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist

    launchctl unload /System/Library/LaunchDaemons/com.apple.netbiosd.plist

Usage

First of all, please take a look at Responder.conf and tweak it for your needs.

Running the tool:

./Responder.py [options]

Typical Usage Example:

./Responder.py -I eth0 -wrf

Options:

  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -A, --analyze         Analyze mode. This option allows you to see NBT-NS,
                        BROWSER, LLMNR requests without responding.
  -I eth0, --interface=eth0
                        Network interface to use
  -b, --basic           Return a Basic HTTP authentication. Default: NTLM
  -r, --wredir          Enable answers for netbios wredir suffix queries.
                        Answering to wredir will likely break stuff on the
                        network. Default: False
  -d, --NBTNSdomain     Enable answers for netbios domain suffix queries.
                        Answering to domain suffixes will likely break stuff
                        on the network. Default: False
  -f, --fingerprint     This option allows you to fingerprint a host that
                        issued an NBT-NS or LLMNR query.
  -w, --wpad            Start the WPAD rogue proxy server. Default value is
                        False
  -u UPSTREAM_PROXY, --upstream-proxy=UPSTREAM_PROXY
                        Upstream HTTP proxy used by the rogue WPAD Proxy for
                        outgoing requests (format: host:port)
  -F, --ForceWpadAuth   Force NTLM/Basic authentication on wpad.dat file
                        retrieval. This may cause a login prompt. Default:
                        False
  --lm                  Force LM hashing downgrade for Windows XP/2003 and
                        earlier. Default: False
  -v, --verbose         Increase verbosity.

Copyright

NBT-NS/LLMNR Responder Created by Laurent Gaffie Copyright (C) 2013 Trustwave Holdings, Inc.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

responder's People

Contributors

antonioherraizs avatar greenwolf avatar hlein avatar hubertcba avatar ihamburglar avatar jrmdev avatar jvoisin avatar lanjelot avatar lgandx avatar mandreko avatar mattlowe avatar mubix avatar ravenium avatar valdikss avatar vysec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

responder's Issues

[Bug] No destination on the HTTP/SMB/MSSQL/FTP/LDAP credentials

Hi responder developers Staff! :)

The responder do not save the ip/host destination that the credentials are for.
This is important because you can obtain "the keys" but you don't know for which "door" are. ;)

Thanks for this POC and tool! 👍

Fefafefa

Add ability to support cred capture from non-local subnets

As an attack machine's ports will already be utilized in this attack, if other attacks like webshells, meterpreter sessions or remote commands are established, using Responder to gather those creds would alleviate the need for another IP address for the attacker to have to stand up.

List any requests

It'd be nice to know what is being requested on HTTP, HTTPS and SMB (the file, GET, or POST)

For instance:

HTTP REQUEST: GET /uberfile.text - Responded with NTLM 401

WebDAV support - Binary push

Allowing for a specified set of extensions (.pdf, .exe, .docx) if requested via HTTP (WebDAV or otherwise) be replaced with their malicious counterparts on the attackers system with on the fly name/change referencing.

Exception happened during processing of request from ...

I am getting a lot of these errors (every few seconds to once a min). Any suggestions as to what I can do about these errors or if I shouldn't worry about them?

Exception happened during processing of request from ('<Redacted IP>', 57628)
Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 599, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 655, in __init__
    self.handle()
  File "/home/<Redacted Username>/Applications/Windows/Responder/servers/HTTP_Proxy.py", line 214, in handle
    self.__base_handle()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 340, in handle
    self.handle_one_request()
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 310, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/usr/lib/python2.7/socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
error: [Errno 104] Connection reset by peer

OSX SMB Replay Issue

Using the latest git commit on OSX 10.9.1, responder does not perform the SMB authentication and provide the NTLMv2 user and hash information.

Using the same copy on Kali linux, SMB authentication (NTLM) is returned successfully.

Default settings in responder.conf and OSX command line:

sudo ./responder.py -i 192.168.4.2

on Kali:

sudo ./responder.py -I eth0 -i 192.168.4.2

SMB doesn't seem to function as intended

Mentioned in #6 but I was unable to even forcefully get the SMB server to interact correctly with either windows (via Start->Run \attackerip\ and net use \attackerip\ipc$ ) or with Samba's smbclient.

As stated in #6 I get a "The specified server cannot perform the requested operation"

Feature: BeEF Injection (via the proxy)

Inserting BeEF hooks via the proxy would be an excellent feature to be able to optionally enable.

If there is some programmatic manner to talk to BeEF (to prevent double-hooking someone), all the better, but even still, being able to hook browsers while intercepting all their credentials would be a wonderful feature to have.

Enhancement request: SMB file serving support

So you're on a social engineering engagement, right?
And you want to do that trick where you link an image in an email via a UNC path so that outlook lobs a hash your way - except the image you include turns out to not exist and they get a broken link image in the email, and they get suspicious.

How about allowing responder to be pointed to a directory where you can put the image(s) or other files so things don't look broken? That would be kind of neat :D

Error while parsing SMB dialect

This seems to be occurring a lot too:

[*] [NBT-NS] Poisoned answer sent to 10.9.130.194 for name ISAPROXYSRV (service: Workstation/Redirector)
----------------------------------------
Exception happened during processing of request from ('10.9.137.84', 57438)
Traceback (most recent call last):
  File "/usr/lib64/python2.7/SocketServer.py", line 599, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib64/python2.7/SocketServer.py", line 655, in __init__
    self.handle()
  File "/home/byt3bl33d3r/Tools/responder/servers/SMB.py", line 233, in handle
    Body = SMBNegoKerbAns(Dialect=Parse_Nego_Dialect(data))
  File "/home/byt3bl33d3r/Tools/responder/servers/SMB.py", line 65, in Parse_Nego_Dialect
    if Dialect[10] == "NT LM 0.12":
IndexError: tuple index out of range

Error starting TCP server on port 443

hey i get this error on most networks " Error starting TCP server on port 443. Check that you have the necessary permissions (i.e. root), no other servers are running and the correct network interface is set in Responder.conf. " and sometimes its a different port. can someone help?

HTTP clear-text passwords need more information

It's great that I have the IP address that requested and gave credentials, but where they were trying to use those credentials against I am at a loss (I have this data since I'm testing in a lab but on engagement I wont)

A suggestion would be to capture all of the headers that the client sends as part of the auth to possibly capture cookies, Host: headers or other such items that may lead to the actual target of the request.

Ctrl-C not killing

On fully updated Kali 1.0 Ctrl-C no longer appears to kill it. It brings up the "Exiting..." message then just keeps on trucking indefinitely.

WPAD

Feature request to add a non-auth response and subsequent data file for wpad.dat requests

Import Errors running SMBRelay.py

Hello. I wanted to be running the latest version in Kali 2.0 so I installed via Git under my /opt directory. When trying to run SMBRelay.py I seem to be getting a lot of import errors as such:

python SMBRelay.py
Traceback (most recent call last):
File "SMBRelay.py", line 17, in
import sys, os, struct,re,socket,random, RelayPackets,optparse,thread
File "/opt/Responder/tools/RelayPackets.py", line 18, in
from odict import OrderedDict
ImportError: cannot import name OrderedDict

placing the odict.py script in the tools directory gives me this:
Traceback (most recent call last):
File "SMBRelay.py", line 18, in
from fingerprint import RunSmbFinger
ImportError: No module named fingerprint

placing the fingerprint.py script in the tools directory gives me this:
python SMBRelay.py
Traceback (most recent call last):
File "SMBRelay.py", line 18, in
from fingerprint import RunSmbFinger
File "/opt/Responder/tools/fingerprint.py", line 24, in
from utils import *
File "/opt/Responder/tools/utils.py", line 23, in
import settings

and finally placing settings.py in tools directory gives me this:
python SMBRelay.py
Traceback (most recent call last):
File "SMBRelay.py", line 18, in
from fingerprint import RunSmbFinger
File "/opt/Responder/tools/fingerprint.py", line 24, in
from utils import *
File "/opt/Responder/tools/utils.py", line 23, in
import settings
File "/opt/Responder/tools/settings.py", line 24, in
from utils import IsOsX
ImportError: cannot import name IsOsX

Error starting TCP server on port 80, 445, 139

Getting this TCP server starting error on port 80, 445, 139 ( Ubuntu 15.10 64 bit )

sudo python Responder.py -I wlp59s0

[+] Poisoners:
LLMNR [ON]
NBT-NS [ON]
DNS/MDNS [ON]

[+] Servers:
HTTP server [ON]
HTTPS server [ON]
WPAD proxy [OFF]
SMB server [ON]
Kerberos server [ON]
SQL server [ON]
FTP server [ON]
IMAP server [ON]
POP3 server [ON]
SMTP server [ON]
DNS server [ON]
LDAP server [ON]

[+] HTTP Options:
Always serving EXE [OFF]
Serving EXE [ON]
Serving HTML [OFF]
Upstream Proxy [OFF]

[+] Poisoning Options:
Analyze Mode [OFF]
Force WPAD auth [OFF]
Force Basic Auth [OFF]
Force LM downgrade [OFF]
Fingerprint hosts [OFF]

[+] Generic Options:
Responder NIC [wlp59s0]
Responder IP [192.168.100.13]
Challenge set [1122334455667788]

[!] Error starting TCP server on port 80, check permissions or other servers running.
[+] Listening for events...
[!] Error starting TCP server on port 445, check permissions or other servers running.
[!] Error starting TCP server on port 139, check permissions or other servers running.

netstat -antp

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8834 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:389 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:587 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:110 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:143 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5939 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:21 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:88 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:1433 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:25 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:443 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN -
tcp 0 0 192.168.100.13:46736 192.30.252.92:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52558 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52554 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:41924 192.30.252.88:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52560 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52556 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52552 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52562 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 0 0 192.168.100.13:52550 185.31.19.133:443 ESTABLISHED 23694/firefox
tcp 1 0 192.168.100.13:55518 91.189.89.144:80 CLOSE_WAIT 2309/ubuntu-geoip-p
tcp 0 0 192.168.100.13:56344 185.31.18.133:443 ESTABLISHED 23694/firefox
tcp6 0 0 :::8834 :::* LISTEN -
tcp6 0 0 :::139 :::* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 :::445 :::* LISTEN -
tcp6 1 0 ::1:59756 ::1:631 CLOSE_WAIT -
tcp6 1 0 ::1:59754 ::1:631 CLOSE_WAIT -

i am no expert, please advise.

struct parsing error in MDNS poisoner

Hi,
While testing the new changes out I've noticed this exception occurring a lot:

Exception happened during processing of request from ('10.9.138.189', 5353)
Traceback (most recent call last):
[Analyze mode: NBT-NS] Request by 10.9.142.218 for WPAD, ignoring
  File "/usr/lib64/python2.7/SocketServer.py", line 599, in process_request_thread
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.7/SocketServer.py", line 334, in finish_request
[Analyze mode: LLMNR] Request by 169.254.155.18 for wpad, ignoring
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib64/python2.7/SocketServer.py", line 655, in __init__
    self.handle()
  File "/home/byt3bl33d3r/Tools/responder/poisoners/MDNS.py", line 46, in handle
[Analyze mode: LLMNR] Request by 10.9.142.185 for isaproxysrv, ignoring
    Request_Name = Parse_MDNS_Name(data)
  File "/home/byt3bl33d3r/Tools/responder/poisoners/MDNS.py", line 27, in Parse_MDNS_Name
    NameLen = struct.unpack('>B',data[0])[0]
IndexError: string index out of range

Notification of requests

Tried running the tool and testing it, I see it spoofing on the wire, but when I use a VM to directly hit it on \myattackipaddress\share1 or otherwise I get the error "The specified server cannot perform the requested operation" with no notification on the the attack side that anything has just occured.

can't listen on some ports (5353,5355)

Hi,

on 2 different kali machines, running as root, i get the following error.

Error starting UDP server on port 5353. Check that you have the necessary permissions (i.e. root), no other servers are running and the correct network interface is set in Responder.conf.
Error starting UDP server on port 5355. Check that you have the necessary permissions (i.e. root), no other servers are running and the correct network interface is set in Responder.conf.

Croot@kali-vm:~/Responder#

i've tried using the built in version and cloning from git.
nothing is actually listening on these ports


root@kali-vm:~/Responder# netstat -a | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp6 0 0 [::]:http [::]:* LISTEN
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 837 /tmp/.ICE-unix/3925
unix 2 [ ACC ] STREAM LISTENING 17152 /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 18866 /tmp/pulse-tbWWOQ4ywjyT/native
unix 2 [ ACC ] STREAM LISTENING 18868 /tmp/pulse-tbWWOQ4ywjyT/dbus-socket
unix 2 [ ACC ] STREAM LISTENING 836 @/tmp/.ICE-unix/3925
unix 2 [ ACC ] STREAM LISTENING 20560 @/tmp/dbus-YVTEc5ZfjE
unix 2 [ ACC ] STREAM LISTENING 14297 @/tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 14298 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 18622 @/tmp/gdm-session-ryoyfIWr
unix 2 [ ACC ] STREAM LISTENING 1794 /tmp/ssh-LPmWpZuQdB9t/agent.3925
unix 2 [ ACC ] STREAM LISTENING 18810 /root/.cache/keyring-rHRhJk/gpg
unix 2 [ ACC ] STREAM LISTENING 15236 @/tmp/dbus-gxyqmSDBCW
unix 2 [ ACC ] STREAM LISTENING 14266 /var/run/pcscd/pcscd.comm
unix 2 [ ACC ] STREAM LISTENING 15198 /root/.cache/keyring-rHRhJk/control
unix 2 [ ACC ] STREAM LISTENING 18811 /root/.cache/keyring-rHRhJk/ssh
unix 2 [ ACC ] STREAM LISTENING 18812 /root/.cache/keyring-rHRhJk/pkcs11
unix 2 [ ACC ] SEQPACKET LISTENING 11492 /run/udev/control


any idea what could be causing this ?
Thanks,
Roy

Question regarding use

Hi, this is more of a question rather than a bug. How do you use this program on the LAN of a compromised machine? Say you have your Kali box somewhere on the Internet and you compromise a workstation in the internal network with a client side attack. You have access to that machine now, say with Meterpreter. How do you use this tool on the compromised target's LAN? I believe this is a common scenario and probably has a simply answer, but all the demos of this tool I read seemed to have the Kali box already on the LAN. Thanks.

Responder redirect not working?

My IP is 192.168.179.133

I want to poison requests to 192.168.179.100

python Responder.py -I eth0 -i 192.168.179.100

Does not work, it takes my IP of 192.168.179.133 and responds with that instead.

ISATAP

Support for isatap attacks after isatap response spoofing

Can't start the app

I was getting the following error on an older version and after pulling the latest this morning.

The only option I'm passing is -i with the IP address of the only interface which is up. The machine has 6 interfaces but only one is up and only one has an IP.

Running as root and no other apps running taking up any ports.


Serving Executable via HTTP&WPAD is:OFF
Always Serving a Specific File via HTTP&WPAD is:OFF

Traceback (most recent call last):
File "Responder.py", line 1556, in
main()
File "Responder.py", line 1550, in main
thread.start_new(RunLLMNR())
File "Responder.py", line 752, in RunLLMNR
Join = sock.setsockopt(socket.IPPROTO_IP,socket.IP_ADD_MEMBERSHIP,inet_aton(MADDR) + inet_aton(ALL))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 19] No such device

WebDAV support - Cred Stealing

WebDAV is finiky about what and when authentication is performed, I believe OPTIONS and PROPFIND headers need to be available without auth first, then auth can be performed. Allowing for these two items before the initiation could yeild more creds

Icmp-Redirect.py doesn't work

It give a lot of errors like this:

Traceback (most recent call last):
  File "./Icmp-Redirect.py", line 65, in <module>
    AlternateGwAddr = FindLocalIP(Interface)
NameError: name 'Interface' is not defined

And so on.

NTLMv1 hash captured not accurate

Used responder in my test lab to capture NTLMv1 hash, it wasn't working when I tried to use it to pass the hash with psexec metaploit module. I logged in with psexec using the password, dumped the hash to compare, and the hash values are different. Would there be a reason responder wouldn't pull the correct hash values?

WebDAV doesn't seem to work anymore

I thought this was working, but it seems that request w/ the OPTIONS header is getting hit with an auth wall now"

OPTIONS /stuff/ HTTP/1.1
Connection: Keep-Alive
User-Agent: Microsoft-WebDAV-MiniRedir/6.1.7601
translate: f
Host: 192.168.1.100

Results in this:

HTTP/1.1 401 Unauthorized
Server: Microsoft-IIS/6.0
Date: Wed, 12 Sep 2012 13:06:55 GMT
Content-Type: text/html
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Content-Length: 0

Feature Request: Configure DNS forwarder

Make that if you are MITM the DNS server allow an exclusion list that gets forwarded on to a real DNS server.

Such as

dns_forwarder = 8.8.8.8, 4.2.2.2
# All sub domains of excluded domains are automatically excluded as well.
# For example: google.com means that www.google.com is excluded but if www.google.com is specified, docs.google.com is spoofed.
forwarded_domains = example.com, google.com, facebook.com

Bug: python ./Responder.py -i 192.168.2.10 -b 1 -s On -r 0

Going by the exact usage, setting the b switch to 1 produces an error.

root@kali:/opt/responder# python ./Responder.py -i 192.168.2.10 -b 1 -s On -r 0
Usage: python ./Responder.py -i 10.20.30.40 -b 1 -s On -r 0

./Responder.py: error: option -b: invalid choice: '1' (choose from 'On', 'ON', 'Off', 'OFF')

Has OSX Support gone now ?

Hey guys, I just pulled down a new version of Responder I see it no longer works on Mac (Yosemite)

It's failing to find interfaces

( en0 does exist)
[!] Error: en0: Interface not found nulls-MacBook-Air:Responder null$

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 28:cf:e9:4d:90:11 inet 192.168.1.107 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::2acf:e9ff:fe4d:9011%en0 prefixlen 64 scopeid 0x4 nd6 options=1<PERFORMNUD> media: autoselect status: active

I'll have to go back to the metasploit modules huh ?

Feature: Respond for specific hostnames

I noticed that some A/V / IDS have started sending out obviously bogus hostname requests (mostly random alphanumeric strings) to try to catch NBNS/LLMNR response spoofing on the network. Could you add the ability to just respond to requests for specific hostnames?

Error starting SSL server on port 443 on Kali Rolling distro

This is probably a rookie move and something simple I'm overlooking but I'm receiving this error on the new Kali Linux rolling distro.

"Error starting SSL server on port 443"

"netstat -lnpt" output shows nothing is listening on 443.

#netstat -lnpt
#Active Internet connections (only servers)
#Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

SSLv3

Is there a way to disable SSLv3 in responder? I'm getting this:

Unable to Connect Securely

Firefox cannot guarantee the safety of your data because it uses SSLv3, a broken security protocol.
Advanced info: ssl_error_unsupported_version

Chrome/Firefox/IE same deal

Include Telnet?

could this log telnet attempts and user/pass?

almost like a honeypot?

Error on launch

Traceback (most recent call last):
File "Responder.py", line 1539, in
main()
File "Responder.py", line 1533, in main
thread.start_new(RunLLMNR())
File "Responder.py", line 766, in RunLLMNR
raise
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Tried with multiple python versions, missing packages maybe?

Edit:

If RespondTo is set to any value other than null, it throws the error.

Error starting TCP server on port 443.

root@kali:~# responder -i 172.18.233.45 -I eth0 -wrf
NBT Name Service/LLMNR Responder 2.0.
Please send bugs/comments to: [email protected]
To kill this script hit CRTL-C

[+]NBT-NS, LLMNR & MDNS responder started
[+]Loading Responder.conf File..
Global Parameters set:
Responder is bound to this interface: eth0
Challenge set: 1122334455667788
WPAD Proxy Server: True
WPAD script loaded: function FindProxyForURL(url, host){if ((host == "localhost") || shExpMatch(host, "localhost.") ||(host == "127.0.0.1") || isPlainHostName(host)) return "DIRECT"; if (dnsDomainIs(host, "RespProxySrv")||shExpMatch(host, "(.RespProxySrv|RespProxySrv)")) return "DIRECT"; return 'PROXY ISAProxySrv:3141; DIRECT';}
HTTP Server: ON
HTTPS Server: ON
SMB Server: ON
SMB LM support: False
Kerberos Server: ON
SQL Server: ON
FTP Server: ON
IMAP Server: ON
POP3 Server: ON
SMTP Server: ON
DNS Server: ON
LDAP Server: ON
FingerPrint hosts: True
Serving Executable via HTTP&WPAD: OFF
Always Serving a Specific File via HTTP&WPAD: OFF

Error starting TCP server on port 443. Check that you have the necessary permissions (i.e. root), no other servers are running and the correct network interface is set in Responder.conf.
^Croot@kali:~#

root@kali:~# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 24441/beam.smp

MSSQL.py Servers Code Error

Code error identified in MSSQL.py

NtHash = SSPIStart[NthashOffset:NthashOffset+NthashLen].encode("hex").upper()

should be

NTHash = SSPIStart[NthashOffset:NthashOffset+NthashLen].encode("hex").upper()

otherwise WriteHash function will fail.

Why remove the ability to not start services?

The last time I pulled the app there was the ability to disable services such as web and FTP but with the latest version I've just pulled the option to do this has been removed, why?

Responder IP Showing Wrong IP Address

Hello,

When I run Responder and provide my eth0 interface I see under Generic Options the "Responder IP" is showing the wrong IP address. It should be showing my 192.168 address that is currently setup on that interface but it's showing a different IP address that is related to the IP it receives when I'm in the office not the host only IP address.

Would there be a reason it won't let go of a previous IP address and not giving my current IP address that is on eth0?

Error Message

I am getting the below error message:

Exception happened during processing of request from ('X.X.X.X', 1185)
Traceback (most recent call last):
File "/usr/lib/python2.7/SocketServer.py", line 593, in process_request_thread
self.finish_request(request, client_address)
File "/usr/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/lib/python2.7/SocketServer.py", line 649, in init
self.handle()
File "Responder.py", line 218, in handle
Name = Decode_Name(data[13:45])
File "Responder.py", line 209, in Decode_Name
((ord(nbname[i+1]) - 0x41) & 0xf)))
ValueError: chr() arg not in range(256)

Add optional delay before sending response

(This is second-hand information from a co-worker, posting this on his behalf.)

In environments where there's no domain, running Responder can be dangerous as it may answer requests to valid resources faster than the real resource, causing a race condition and possible denial of service if Responder's packet arrives first.

Would it be possible to add an explicit delay option (e.g., ./Responder.py -d 1...) to give the real resource a chance to respond first? Even a delay of 1 second should be sufficient.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.