Hay una variedad de herramientas que usaremos para recibir reverse shells y mandar bind shells. En términos generales, necesitamos código malicioso y una forma de interactuar con la shell resultante.


Netcat

Netcat es la navaja suiza del networking. Se usa para realizar manualmente todo tipo de interacciones, incluyendo la recopilación de banners durante la enumeración, pero más importantemente para nuestros usos, puede ser usado para recibir reverse shells y conectarnos a puertos remotos conectados a bind shells en el sistema objetivo. Son bastante inestables.


Socat

Es como un Netcat con esteroides. Puede hacer todas las cosas anteriores y más. Suelen ser más estables que las de Netcat. Es superior a Netcat, pero hay dos peros:

  1. La sintaxis es más complicada.
  2. Netcat suele estar instalado en las distros pero Socat no.

Metasploit - multi/handler

El módulo exploit/multi/handler de Metasploit es como socat y netcat, usado para recibir reverse shells. Es la única manera de interactuar con la shell meterpreter.


Msfvenom

Es parte del framework Metasploit. Se usa para generar payloads.


Kali viene con una cantidad de payloads de reverse shell preinstalados en /usr/share/webshells.