Windows Gather ARP Scanner - Metasploit


This page contains detailed information about how to use the post/windows/gather/arp_scanner metasploit module. For list of all metasploit modules, visit the Metasploit Module Library.

Module Overview


Name: Windows Gather ARP Scanner
Module: post/windows/gather/arp_scanner
Source code: modules/post/windows/gather/arp_scanner.rb
Disclosure date: -
Last modification time: 2021-10-06 13:43:31 +0000
Supported architecture(s): -
Supported platform(s): Windows
Target service / protocol: -
Target network port(s): -
List of CVEs: -

This Module will perform an ARP scan for a given IP range through a Meterpreter Session.

Module Ranking and Traits


Module Ranking:

  • normal: The exploit is otherwise reliable, but depends on a specific version and can't (or doesn't) reliably autodetect. More information about ranking can be found here.

Basic Usage


There are two ways to execute this post module.

From the Meterpreter prompt

The first is by using the "run" command at the Meterpreter prompt. It allows you to run the post module against that specific session:

meterpreter > run post/windows/gather/arp_scanner

From the msf prompt

The second is by using the "use" command at the msf prompt. You will have to figure out which session ID to set manually. To list all session IDs, you can use the "sessions" command.

msf > use post/windows/gather/arp_scanner
msf post(arp_scanner) > show options
    ... show and set options ...
msf post(arp_scanner) > set SESSION session-id
msf post(arp_scanner) > exploit

If you wish to run the post against all sessions from framework, here is how:

1 - Create the following resource script:


framework.sessions.each_pair do |sid, session|
  run_single("use post/windows/gather/arp_scanner")
  run_single("set SESSION #{sid}")
  run_single("run")
end

2 - At the msf prompt, execute the above resource script:

msf > resource path-to-resource-script

Required Options


  • SESSION: The session to run this module on.

  • RHOSTS: The target address range or CIDR identifier

Knowledge Base


Vulnerable Application


This Module will perform an ARP scan for a given IP range through a Meterpreter Session.

Verification Steps


  1. Start msfconsole
  2. Get meterpreter session
  3. Do: use post/windows/gather/arp_scanner
  4. Do: set SESSION <session id>
  5. Do: run

Options


RHOSTS

The target address range or CIDR identifier.

SESSION

The session to run this module on.

THREADS

The number of concurrent threads.

Scenarios


Windows 7 (6.1 Build 7601, Service Pack 1).

  msf > use post/windows/gather/arp_scanner
  msf post(windows/gather/arp_scanner) > set SESSION 1
    SESSION => 1
  msf post(windows/gather/arp_scanner) > ifconfig
    [*] exec: ifconfig

    eth0: flags=4163  mtu 1500
          inet 192.168.1.3  netmask 255.255.255.0  broadcast 192.168.1.255
          inet6 fe80::44fe:c9ff:fe8e:1fad  prefixlen 64  scopeid 0x20
          ether 46:fe:c9:8e:1f:ad  txqueuelen 1000  (Ethernet)
          RX packets 27893  bytes 2923998 (2.7 MiB)
          RX errors 0  dropped 0  overruns 0  frame 0
          TX packets 19615  bytes 6060131 (5.7 MiB)
          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    lo: flags=73  mtu 65536
          inet 127.0.0.1  netmask 255.0.0.0
          loop  txqueuelen 1000  (Local Loopback)
          RX packets 152642  bytes 40401455 (38.5 MiB)
          RX errors 0  dropped 0  overruns 0  frame 0
          TX packets 152642  bytes 40401455 (38.5 MiB)
          TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  msf post(windows/gather/arp_scanner) > set THREADS 100
    THREADS => 100
  msf post(windows/gather/arp_scanner) > set RHOSTS 192.168.1.0/24
    RHOSTS => 192.168.1.0/24
  msf post(windows/gather/arp_scanner) > run

    [*] Running module against MSF-PC
    [*] ARP Scanning 192.168.1.0/24
    [+]     IP: 192.168.1.1 MAC 2a:34:70:bc:5d:bc (UNKNOWN)
    [+]     IP: 192.168.1.2 MAC f6:82:74:e7:58:25 (UNKNOWN)
    [+]     IP: 192.168.1.3 MAC 46:fe:c9:8e:1f:ad (UNKNOWN)
    [+]     IP: 192.168.1.4 MAC 96:56:23:ed:e1:bd (UNKNOWN)
    [*] Post module execution completed

Go back to menu.

Msfconsole Usage


Here is how the windows/gather/arp_scanner post exploitation module looks in the msfconsole:

msf6 > use post/windows/gather/arp_scanner

msf6 post(windows/gather/arp_scanner) > show info

       Name: Windows Gather ARP Scanner
     Module: post/windows/gather/arp_scanner
   Platform: Windows
       Arch: 
       Rank: Normal

Provided by:
  Carlos Perez <[email protected]>

Compatible session types:
  Meterpreter

Basic options:
  Name     Current Setting  Required  Description
  ----     ---------------  --------  -----------
  RHOSTS                    yes       The target address range or CIDR identifier
  SESSION                   yes       The session to run this module on.
  THREADS  10               no        The number of concurrent threads

Description:
  This Module will perform an ARP scan for a given IP range through a 
  Meterpreter Session.

Module Options


This is a complete list of options available in the windows/gather/arp_scanner post exploitation module:

msf6 post(windows/gather/arp_scanner) > show options

Module options (post/windows/gather/arp_scanner):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOSTS                    yes       The target address range or CIDR identifier
   SESSION                   yes       The session to run this module on.
   THREADS  10               no        The number of concurrent threads

Advanced Options


Here is a complete list of advanced options supported by the windows/gather/arp_scanner post exploitation module:

msf6 post(windows/gather/arp_scanner) > show advanced

Module advanced options (post/windows/gather/arp_scanner):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   VERBOSE    false            no        Enable detailed status messages
   WORKSPACE                   no        Specify the workspace for this module

Post Actions


This is a list of all post exploitation actions which the windows/gather/arp_scanner module can do:

msf6 post(windows/gather/arp_scanner) > show actions

Post actions:

   Name  Description
   ----  -----------

Evasion Options


Here is the full list of possible evasion options supported by the windows/gather/arp_scanner post exploitation module in order to evade defenses (e.g. Antivirus, EDR, Firewall, NIDS etc.):

msf6 post(windows/gather/arp_scanner) > show evasion

Module evasion options:

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------

Go back to menu.

Error Messages


This module may fail with the following error messages:

Error Messages

Check for the possible causes from the code snippets below found in the module source code. This can often times help in identifying the root cause of the problem.

NO_ERROR


Here is a relevant code snippet related to the "NO_ERROR" error message:

62:	          next if ip_text.nil?
63:	
64:	          h = ws.inet_addr(ip_text)
65:	          ip = h["return"]
66:	          h = iphlp.SendARP(ip, 0, 6, 6)
67:	          if h["return"] == client.railgun.const("NO_ERROR")
68:	            mac_text = h["pMacAddr"].unpack('C*').map { |e| "%02x" % e }.join(':')
69:	            company = OUI_LIST::lookup_oui_company_name(mac_text)
70:	            print_good("\tIP: #{ip_text} MAC #{mac_text} (#{company})")
71:	            report_host(:host => ip_text, :mac => mac_text)
72:	            next if company.nil?

Go back to menu.


Go back to menu.

See Also


Check also the following modules related to this module:

Authors


  • Carlos Perez <carlos_perez[at]darkoperator.com>

Version


This page has been produced using Metasploit Framework version 6.2.1-dev. For more modules, visit the Metasploit Module Library.

Go back to menu.