¿Por qué el shell inverso no se conecta de nuevo usando el mismo puerto que explotó el servidor?

2

La carga útil de shell inversa de msf usa un nuevo puerto para conectarse nuevamente al atacante, por lo tanto, si el servidor de destino tiene filtros salientes, el ataque fallará.

es decir servidor establecido: ftp < - > atacante: 12345

Después de explotar

servidor: 23456 < - > atacante: 4444 // ¿por qué no intenta conectar el puerto 12345?

Pero, ¿por qué usaría un nuevo puerto? ¿Por qué no REUSAR el canal existente?

    
pregunta daisy 13.10.2012 - 02:43
fuente

2 respuestas

3

La reutilización del canal existente requiere complejidad adicional, también es importante tener en cuenta que no todos los módulos de metasploit usan un socket para explotar el host. El shellcode tendría que buscar en la memoria (egghunt ...) y encontrar el socket y luego usarlo. Shellcode tiene que ver con ser pequeño y simple.

Dicho esto, existen otros métodos para influir en un host detrás de un firewall exótico. Descargar + exec shellcode es un método.

    
respondido por el rook 13.10.2012 - 02:53
fuente
1

Utiliza un nuevo puerto porque el canal existente está en una dirección y desde un proceso separado ...

Un shell inverso inicia un nuevo proceso con nuevas conexiones en la dirección de salida. Los cortafuegos distinguen entre las nuevas conexiones en una dirección y las conexiones existentes. Lo que hace un revshell de MSF es hacer una nueva conexión de red a la caja del atacante. Puede adivinar qué puerto podría ser libre, o usar el shell inverso 'allports' para ejecutar todos los puertos que buscan un puerto libre para comunicarse.

    
respondido por el schroeder 28.12.2012 - 22:35
fuente

Lea otras preguntas en las etiquetas