Practical tips, examples, and SSH tunnels

Practical tips, examples, and SSH tunnels
Praktische voorbeelden SSH, die uw vaardigheden als remote systeembeheerder naar een nieuw niveau tillen. De commando's en tips helpen niet alleen bij het gebruik SSH, maar ook om efficiƫnter door het netwerk te navigeren.

Kennis van enkele tricks ssh is nuttig voor elke systeembeheerder, netwerkingenieur of beveiligingsspecialist.

Praktische voorbeelden van SSH

  1. SSH socks-proxy
  2. SSH-tunnel (poortdoorsturen)
  3. SSH-tunnel naar een derde host
  4. Omgekeerde SSH-tunnel
  5. Omgekeerde SSH-proxy
  6. VPN installeren via SSH
  7. SSH-sleutel kopiƫren (ssh-copy-id)
  8. Op afstand opdrachten uitvoeren (niet-interactief)
  9. Op afstand pakketten onderscheppen en bekijken in Wireshark
  10. Lokale map naar een externe server kopiƫren via SSH
  11. Externe GUI-toepassingen met SSH X11 doorsturen
  12. Bestanden op afstand kopiƫren met rsync en SSH
  13. SSH via het Tor-netwerk
  14. SSH naar een EC2-instance
  15. Tekstbestanden bewerken met VIM via ssh/scp
  16. Afstands-SSH als lokale map monteren met SSHFS
  17. SSH-multiplexing met ControlPath
  18. Streamen van video via SSH met VLC en SFTP
  19. Twee-factor authenticatie
  20. Hoppend tussen hosts met SSH en -J
  21. Brute force SSH-pogingen blokkeren met iptables
  22. SSH Escape voor het wijzigen van poortdoorsturen

Eerst de basisprincipes

Uitleg van de SSH-opdrachtregel

In het volgende voorbeeld worden de gebruikelijke parameters gebruikt, die vaak voorkomen bij het verbinden met een externe server SSH.

localhost:~$ ssh -v -p 22 -C neo@remoteserver

  • -v: de uitvoer van debuginformatie is bijzonder nuttig bij het analyseren van authenticatieproblemen. Het kan meerdere keren worden gebruikt om extra informatie weer te geven.
  • - p 22: poort voor verbinding met de externe SSH-server. 22 hoeft niet vermeld te worden, omdat dit de standaardwaarde is, maar als het protocol op een andere poort staat, dan vermelden we dit met de parameter -p. De luisterpoort wordt vermeld in het bestand sshd_config in het formaat Port 2222.
  • -C: compressie voor de verbinding. Als u een langzame verbinding heeft of veel tekst bekijkt, kan dit de verbinding versnellen.
  • neo@: de string voor het @-symbool geeft de gebruikersnaam aan voor authenticatie op de externe server. Als dit niet wordt vermeld, wordt de gebruikersnaam van het account dat momenteel is ingelogd (zoals ~ $ whoami) standaard gebruikt. De gebruiker kan ook worden opgegeven met de parameter -l.
  • remoteserver: de hostnaam waarmee verbinding wordt gemaakt ssh, dit kan een volledig domeinnaam zijn, een IP-adres of een andere host in het lokale hosts-bestand. Voor verbinding met een host die zowel IPv4 als IPv6 ondersteunt, kan de parameter worden toegevoegd aan de opdrachtregel -4 of -6 voor correcte resolutie.

Alle bovenstaande parameters zijn optioneel, behalve remoteserver.

Het gebruik van een configuratiebestand

Hoewel velen bekend zijn met het bestand sshd_config, is er ook een configuratiebestand voor de client voor de opdracht ssh. De standaardwaarde ~/.ssh/config, maar deze kan worden gedefinieerd als een parameter voor de optie -F.

Host *
     Port 2222

Host remoteserver
     HostName remoteserver.thematrix.io
     User neo
     Port 2112
     IdentityFile /home/test/.ssh/remoteserver.private_key

In het bovenstaande voorbeeldconfiguratiebestand voor ssh zijn er twee hostrecords. De eerste geeft aan dat voor alle hosts de configuratieparameter Port 2222 geldt. De tweede geeft aan dat voor de host remoteserver een andere gebruikersnaam, poort, FQDN en IdentityFile moet worden gebruikt.

Het configuratiebestand kan veel tijd besparen bij het invoeren van karakters, waardoor automatisch geavanceerde configuratie kan worden toegepast bij het verbinden met specifieke hosts.

Bestanden kopiƫren via SSH met SCP

De SSH-client wordt geleverd met twee andere zeer handige tools voor het kopiƫren van bestanden via versleutelde ssh-verbinding. Hieronder een voorbeeld van het standaard gebruik van de scp- en sftp-commando's. Let op dat veel parameters voor ssh ook in deze commando's worden toegepast.

localhost:~$ scp mypic.png neo@remoteserver:/media/data/mypic_2.png

In dit voorbeeld is het bestand mypic.png gekopieerd naar remoteserver kopiƫren naar de map /media/data en hernoemd naar mypic_2.png.

Vergeet het verschil in de poortparameter niet. Dit is waar veel mensen op tegenkomen bij het uitvoeren van scp via de opdrachtregel. Hier is de poortparameter -P, en niet -p, net als in de ssh-client! Je zult het vergeten, maar maak je geen zorgen, iedereen vergeet het.

Voor degenen die bekend zijn met de console ftp, zijn veel van de commando's vergelijkbaar in sftp. Je kunt push, put en ls, zoals je hart het wenst.

sftp neo@remoteserver

Praktische voorbeelden

In veel van deze voorbeelden kan het resultaat op verschillende manieren worden bereikt. Zoals in al onze handleidingen en voorbeelden, ligt de voorkeur bij praktische voorbeelden die eenvoudig hun werk doen.

1. SSH socks-proxy

De SSH Proxy-functie nummer 1 is om goede redenen. Deze is krachtiger dan veel mensen aannemen en geeft je toegang tot elk systeem waar de externe server toegang toe heeft, met bijna elke applicatie. De SSH-client kan verkeer tunnelen via een SOCKS-proxy met ƩƩn eenvoudige opdracht. Het is belangrijk te begrijpen dat het verkeer naar externe systemen afkomstig zal zijn van de externe server, zoals aangegeven in de logbestanden van de webserver.

localhost:~$ ssh -D 8888 user@remoteserver

localhost:~$ netstat -pan | grep 8888
tcp        0      0 127.0.0.1:8888       0.0.0.0:*               LISTEN      23880/ssh

Hier starten we een SOCKS-proxy op TCP-poort 8888, de tweede opdracht controleert of de poort actief is in luistermodus. 127.0.0.1 geeft aan dat de service alleen op localhost werkt. We kunnen een iets andere opdracht gebruiken om te luisteren op alle interfaces, inclusief ethernet of wifi, wat het mogelijk maakt voor andere applicaties (achtige browsers) in ons netwerk om verbinding te maken met de proxyservice via de SSH SOCKS-proxy.

localhost:~$ ssh -D 0.0.0.0:8888 user@remoteserver

Nu kunnen we de browser instellen om verbinding te maken met de SOCKS-proxy. In Firefox kies je Instellingen | Algemeen | Netwerkinstellingen. Voer het IP-adres en de poort in voor verbinding.

Practical tips, examples, and SSH tunnels

Let op de optie onderaan het formulier, zodat de DNS-verzoeken van de browser ook via de SOCKS-proxy gaan. Als je een proxyserver gebruikt voor het versleutelen van webverkeer in het lokale netwerk, wil je deze optie waarschijnlijk selecteren om te zorgen dat DNS-verzoeken door de SSH-verbinding worden getunneld.

SOCKS-proxy activeren in Chrome

Chrome starten met specifieke opdrachtregelparameters activeert de SOCKS-proxy en tunnelt de DNS-verzoeken vanuit de browser. Vertrouw, maar verifieer. Gebruik tcpdump om te controleren of de DNS-verzoeken niet meer zichtbaar zijn.

localhost:~$ google-chrome --proxy-server="socks5://192.168.1.10:8888"

Andere applicaties gebruiken met een proxy

Houd er rekening mee dat veel andere applicaties ook SOCKS-proxy's kunnen gebruiken. De webbrowser is simpelweg het meest populaire hiervan. Sommige applicaties hebben configuratie-instellingen voor het activeren van de proxyserver. Anderen hebben wat hulp nodig van een hulpprogramma. Bijvoorbeeld, proxychains maakt het mogelijk Microsoft RDP en anderen via SOCKS-proxy uit te voeren.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

De configuratie-instellingen van de SOCKS-proxy worden vastgesteld in het configuratiebestand van proxychains.

Tip: gebruik je een externe desktop van Linux naar Windows? Probeer een client FreeRDP. Dit is een modernere implementatie dan rdesktop, met veel soepelere interactie.

Het gebruik van SSH via een socks-proxy

Je zit in een cafĆ© of hotel – en je moet een vrij onbetrouwbare WiFi gebruiken. Op je laptop starten we lokaal een ssh-proxy en stellen we een ssh-tunnel in naar ons thuisnetwerk op een lokale Raspberry Pi. Met een browser of andere applicaties die zijn ingesteld voor socks-proxy, kunnen we toegang krijgen tot alle netwerksdiensten in ons thuisnetwerk of het internet betreden via onze thuisverbinding. Alles tussen jouw laptop en de thuisserver (via Wi-Fi en internet naar huis) is versleuteld in de SSH-tunnel.

2. SSH-tunnel (poortdoorsturen)

In zijn eenvoudigste vorm opent een SSH-tunnel gewoon een poort in jouw lokale systeem die verbinding maakt met een andere poort aan de andere kant van de tunnel.

localhost:~$ ssh  -L 9999:127.0.0.1:80 user@remoteserver

Laten we de parameter -Londer de loep nemen. Dit kan worden gezien als de lokale zijde die luistert. Dus in het bovenstaande voorbeeld luistert poort 9999 aan de kant van localhost en wordt doorgestuurd via poort 80 naar remoteserver. Opmerking: 127.0.0.1 verwijst naar localhost op de externe server!

Laten we een stap verder gaan. In het volgende voorbeeld worden de luisterpoorten verbonden met andere knooppunten in het lokale netwerk.

localhost:~$ ssh  -L 0.0.0.0:9999:127.0.0.1:80 user@remoteserver

In deze voorbeelden maken we verbinding met een poort op een webserver, maar het kan ook een proxyserver of een andere TCP-dienst zijn.

3. SSH-tunnel naar een externe host

We kunnen dezelfde parameters gebruiken om de tunnel van een externe server naar een andere dienst die op een derde systeem draait te verbinden.

localhost:~$ ssh  -L 0.0.0.0:9999:10.10.10.10:80 user@remoteserver

In dit voorbeeld sturen we de tunnel door van remoteserver naar de webserver die draait op 10.10.10.10. Verkeer van remoteserver naar 10.10.10.10 zit al niet meer in de SSH-tunnel. De webserver op 10.10.10.10 beschouwt remoteserver als de bron van webverzoeken.

4. Omgekeerde SSH-tunnel

Hier stellen we een luisterpoort in op de externe server die terugverbinding maakt met de lokale poort op onze localhost (of een ander systeem).

localhost:~$ ssh -v -R 0.0.0.0:1999:127.0.0.1:902 192.168.1.100 user@remoteserver

In deze SSH-sessie wordt een verbinding tot stand gebracht van poort 1999 op remoteserver naar poort 902 op onze lokale client.

5. Omgekeerde proxy SSH

In dit geval stellen we een socks-proxy in op onze ssh-verbinding, maar de proxy luistert aan de andere kant van de server. Verbindingen met deze externe proxy verschijnen nu uit de tunnel als verkeer van onze localhost.

localhost:~$ ssh -v -R 0.0.0.0:1999 192.168.1.100 user@remoteserver

Probleemoplossing bij externe SSH-tunnels

Als je problemen hebt met de werking van externe SSH-opties, controleer dan met netstat, welke andere interfaces zijn verbonden met de luisterpoort. Hoewel we in de voorbeelden 0.0.0.0 hebben opgegeven, maar als de waarde GatewayPorts in sshd_config is ingesteld op no, dan zal de listener alleen aan localhost (127.0.0.1) zijn gebonden.

Beveiligingswaarschuwing

Let op dat bij het openen van tunnels en socks-proxies interne netwerkbronnen toegankelijk kunnen zijn voor onbetrouwbare netwerken (zoals het internet!). Dit kan een ernstige beveiligingsdreiging zijn, zorg er dus voor dat je begrijpt waar de listener toegang toe heeft.

6. VPN-installatie via SSH

De algemene term onder specialisten in aanvalsmethoden (pentesters en dergelijke) is "een uitvalsbasis in het netwerk". Na het tot stand brengen van een verbinding in ƩƩn systeem wordt dit systeem een toegangspoort voor verdere toegang tot het netwerk. Een uitvalsbasis waarmee je verder kunt gaan.

Voor zo'n uitvalsbasis kunnen we SSH-proxy's gebruiken en proxychains, maar er zijn enkele beperkingen. Bijvoorbeeld, we kunnen niet direct met sockets werken, dus we kunnen geen poorten in het netwerk scannen via Nmap SYN.

Door deze geavanceerdere VPN-optie daalt de verbinding tot laag 3. Vervolgens kunnen we eenvoudig het verkeer door de tunnel leiden met behulp van standaard netwerkroutering.

De methode maakt gebruik van ssh, iptables, tun interfaces en routering.

Eerst moeten we deze parameters instellen in sshd_config. Aangezien we wijzigingen aanbrengen in zowel de interfaces van het externe als het cliƫntsysteem, hebben we rootrechten aan beide zijden.

PermitRootLogin yes
PermitTunnel yes

Laten we vervolgens de ssh-verbinding tot stand brengen met de parameter die vraagt om het initialiseren van tun-apparaten.

localhost:~# ssh -v -w any root@remoteserver

Nu zouden we een tun-apparaat moeten hebben bij het bekijken van interfaces (# ip a). De volgende stap voegt IP-adressen toe aan de tunnelinterfaces.

SSH-clientzijde:

localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up

SSH-serverzijde:

remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up

Nu hebben we een directe route naar het andere host (route -n en ping 10.10.10.10).

Je kunt elk subnet via de host aan de andere kant routeren.

localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0

Aan de andere kant moet je ip_forward en iptables.

remoteserver:~# echo 1 > /proc/sys/net/ipv4/ip_forward
remoteserver:~# iptables -t nat -A POSTROUTING -s 10.10.10.2 -o enp7s0 -j MASQUERADE

Boom! VPN via SSH-tunnel op netwerkniveau 3. Dit is al een overwinning.

Als er problemen zijn, gebruik tcpdump en ping, om de oorzaak vast te stellen. Aangezien we op niveau 3 spelen, zullen onze icmp-pakketten door deze tunnel gaan.

7. SSH-sleutel kopiƫren (ssh-copy-id)

Er zijn verschillende manieren, maar deze opdracht bespaart tijd om bestanden niet handmatig te kopiƫren. Het kopieert gewoon ~/.ssh/id_rsa.pub (of de standaard sleutel) van jouw systeem naar ~/.ssh/authorized_keys op de externe server.

localhost:~$ ssh-copy-id user@remoteserver

8. Externe opdrachtuitvoering (niet-interactief)

De opdracht ssh kan met andere commando's worden verbonden voor een gebruiksvriendelijke interface. Voeg gewoon de opdracht die je op de externe host wilt uitvoeren als laatste parameter in aanhalingstekens toe.

localhost:~$ ssh remoteserver "cat /var/log/nginx/access.log" | grep badstuff.php

In dit voorbeeld grep wordt uitgevoerd op het lokale systeem nadat het logbestand via de ssh-kanaal is gedownload. Als het bestand groot is, is het handiger om grep aan de andere kant uit te voeren, door beide commando's gewoon in dubbele aanhalingstekens te plaatsen.

Een ander voorbeeld dat dezelfde functie vervult als ssh-copy-id uit voorbeeld 7.

localhost:~$ cat ~/.ssh/id_rsa.pub | ssh remoteserver 'cat >> .ssh/authorized_keys'

9. Externe pakketafvang en bekijken in Wireshark

Ik heb een van onze tcpdump voorbeelden. Gebruik het om extern pakketten af te vangen met de uitvoer direct in de GUI van de lokale Wireshark.

:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -

10. Lokale map kopiƫren naar externe server via SSH

Een mooie truc die een map comprimeert met bzip2 (dit is de -j parameter in de opdracht tar), en vervolgens de stroom bzip2 aan de andere kant uitpakt, waardoor een duplicaat van de map op de externe server wordt aangemaakt.

localhost:~$ tar -cvj /datafolder | ssh remoteserver "tar -xj -C /datafolder"

11. Externe GUI-applicaties met SSH X11-doorschakeling

Als er 'X' op de cliënt en de externe server is geïnstalleerd, kun je een GUI-opdracht extern uitvoeren, met een venster op je lokale desktop. Deze functie bestaat al een tijd, maar is nog steeds zeer nuttig. Start een externe webbrowser of zelfs de console van VMWare Workstation, zoals ik in dit voorbeeld doe.

localhost:~$ ssh -X remoteserver vmware

Een string is vereist X11Forwarding yes in het bestand sshd_config.

12. Bestanden op afstand kopiƫren met rsync en SSH

rsync is in veel gevallen handiger scp, als periodieke back-ups van een map, een groot aantal bestanden of zeer grote bestanden nodig zijn. Hier is er een functie voor herstel na overdracht mislukking en kopieert het alleen gewijzigde bestanden, wat verkeer en tijd bespaart.

In dit voorbeeld wordt compressie gebruikt gzip (-z) en archiveringsmodus (-a), waarmee recursief kopiƫren mogelijk is.

:~$ rsync -az /home/testuser/data remoteserver:backup/

13. SSH via het Tor-netwerk

Het anonieme Tor-netwerk kan SSH-verkeer tunnelen met het commando torsocks. Het volgende commando zal een ssh-proxy via Tor tunnelen.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Torsocks zal proxy-poort 9050 op localhost gebruiken. Zoals altijd bij het gebruik van Tor, moet u grondig controleren welk verkeer wordt getunneld en andere operationele beveiligingskwesties (opsec). Waar gaan uw DNS-verzoeken naartoe?

14. SSH naar een EC2-instantie

Voor verbinding met een EC2-instantie is een privƩsleutel vereist. Download deze (met .pem-uitbreiding) vanuit het Amazon EC2-dashboard en wijzig de permissies (chmod 400 my-ec2-ssh-key.pem). Bewaar de sleutel op een veilige plaats of plaats deze in uw map ~/.ssh/.

localhost:~$ ssh -i ~/.ssh/my-ec2-key.pem ubuntu@my-ec2-public

Parameter -i geeft de ssh-client gewoon aan om deze sleutel te gebruiken. Het bestand ~/.ssh/config is perfect voor het automatisch configureren van het gebruik van de sleutel bij het verbinden met de ec2-host.

Host my-ec2-public
   Hostname ec2???.compute-1.amazonaws.com
   User ubuntu
   IdentityFile ~/.ssh/my-ec2-key.pem

15. Tekstbestanden bewerken met VIM via ssh/scp

Voor alle liefhebbers van vim is dit advies een tijdsbesparing. Met behulp van vim worden bestanden met scp in ƩƩn commando bewerkt. Deze methode maakt eenvoudig een bestand lokaal aan in /tmp, en kopieert het dan terug zodra we het hebben opgeslagen vanuit vim.

localhost:~$ vim scp://user@remoteserver//etc/hosts

Opmerking: het formaat verschilt enigszins van normaal scp. Na de host hebben we een dubbele //. Dit is een verwijzing naar het absolute pad. Een schuinstreep betekent een pad relatief ten opzichte van de thuismap gebruikers.

**waarschuwing** (netrw) kan methode niet bepalen (formaat: protocol://[user@]hostname[:port]/[path])

Als u deze fout ziet, controleer dan het opdrachtformaat opnieuw. Dit betekent meestal een syntaxisfout.

16. Een externe SSH-mount als lokale map met SSHFS

Met behulp van sshfs — client voor bestandssystemen ssh — we kunnen een lokale map verbinden met een externe locatie met alle bestandsinteracties in een versleutelde sessie ssh.

localhost:~$ apt install sshfs

Op Ubuntu en Debian installeren we het pakket sshfs, en we monteren de externe locatie eenvoudigweg aan ons systeem.

localhost:~$ sshfs user@remoteserver:/media/data ~/data/

17. SSH-multiplexing met behulp van ControlPath

Standaard, bij een bestaande verbinding naar een externe server met behulp van ssh een tweede verbinding met ssh of scp opent een nieuwe sessie met extra authenticatie. De optie ControlPath maakt het mogelijk om de bestaande sessie te gebruiken voor alle volgende verbindingen. Dit versnelt het proces aanzienlijk: het effect is merkbaar, zelfs in een lokaal netwerk, laat staan bij verbindingen met externe bronnen.

Host remoteserver
        HostName remoteserver.example.org
        ControlMaster auto
        ControlPath ~/.ssh/control/%r@%h:%p
        ControlPersist 10m

ControlPath geeft de socket aan om bij nieuwe verbindingen te controleren of er een actieve sessie is ssh. De laatste optie betekent dat, zelfs na het uitloggen uit de console, de bestaande sessie 10 minuten open blijft, zodat je binnen deze tijd opnieuw kunt verbinden via de bestaande socket. Voor meer informatie zie de handleiding ssh_config man.

18. Streaming video over SSH met VLC en SFTP

Zelfs oude gebruikers ssh en vlc (Video Lan Client) weten niet altijd van deze handige optie, wanneer je echt video via het netwerk wilt bekijken. In de instellingen File | Open Network Stream van het programma vlc kun je de locatie invoeren als sftp://. Als een wachtwoord vereist is, verschijnt er een verzoek.

sftp://remoteserver//media/uploads/myvideo.mkv

19. Twee-factor-authenticatie

Dezelfde twee-factor-authenticatie als bij jouw bankrekening of Google-account is van toepassing op de SSH-service.

Natuurlijk, ssh heeft oorspronkelijk de functie van twee-factor-authenticatie, wat betekent dat er een wachtwoord en een SSH-sleutel worden gebruikt. Het voordeel van een hardware-token of de Google Authenticator-app is dat het meestal een ander fysiek apparaat is.

Zie onze 8-minuten handleiding over het gebruik van Google Authenticator en SSH.

20. Host-jumps met ssh en -J

Als je door netwerksegmentatie door meerdere ssh-hosts moet springen om de uiteindelijke bestemmingsnetwerk te bereiken, bespaart de snelkoppeling -J je tijd.

localhost:~$ ssh -J host1,host2,host3 user@host4.internal

Hier is het belangrijk te begrijpen dat dit niet hetzelfde is als de opdracht ssh host1, dan user@host1:~$ ssh host2 En zo verder. De parameter -J maakt slim gebruik van omleiding, zodat localhost een sessie met de volgende host in de keten opzet. In het bovenstaande voorbeeld wordt onze localhost geauthenticeerd op host4. Onze sleutels van localhost worden gebruikt en de sessie van localhost naar host4 is volledig versleuteld.

Voor deze mogelijkheid in ssh_config geef de configuratieoptie ProxyJump. Als u regelmatig door meerdere hosts moet springen, bespaart automatisering via de config veel tijd.

21. Blokkeren van SSH brute force-pogingen met iptables

Iedereen die een SSH-service heeft beheerd en de logs heeft bekeken, weet hoeveel brute force-pogingen er elk uur, elke dag plaatsvinden. Een snelle manier om de ruis in de logs te verminderen, is door SSH op een niet-standaard poort te verplaatsen. Breng wijzigingen aan in het bestand sshd_config met de configuratieparameter Port##.

Met iptables kan ook eenvoudig het aantal connectiepogingen naar de poort worden geblokkeerd zodra een bepaalde drempel is bereikt. Een eenvoudige manier om dit te doen, is door gebruik te maken van OSSEC, aangezien het niet alleen SSH blokkeert, maar ook verschillende andere inbraakdetectiemaatregelen uitvoert op basis van de hostnaam (HIDS).

22. SSH Escape voor dynamische poortomleiding

En ons laatste voorbeeld ssh is bedoeld om poortomleidingen on-the-fly te veranderen binnen een bestaande sessie ssh. Stel je dit scenario voor. Je zit diep in het netwerk; misschien ben je door een dozijn hosts heen gesprongen en heb je een lokale poort op je werkstation nodig die is omgeleid naar Microsoft SMB van een oud Windows 2003-systeem (herinnert iemand zich ms08-67?).

Druk op enter, probeer vervolgens het commando in de console in te voeren ~C. Dit is een controle-sequentie in de sessie die het mogelijk maakt om wijzigingen aan te brengen in de bestaande verbinding.

localhost:~$ ~C
ssh> -h
Commands:
      -L[bind_address:]port:host:hostport    Vraag om lokale doorverwijzing
      -R[bind_address:]port:host:hostport    Vraag om externe doorverwijzing
      -D[bind_address:]port                  Vraag om dynamische doorverwijzing
      -KL[bind_address:]port                 Annuleer lokale doorverwijzing
      -KR[bind_address:]port                 Annuleer externe doorverwijzing
      -KD[bind_address:]port                 Annuleer dynamische doorverwijzing
ssh> -L 1445:remote-win2k3:445
Poort wordt doorgestuurd.

Hier kun je zien dat we onze lokale poort 1445 hebben omgeleid naar de Windows 2003-host die we in het interne netwerk hebben gevonden. Start nu gewoon msfconsole, en je kunt verder gaan (ervan uitgaande dat je van plan bent deze host te gebruiken).

Afsluiting

Deze voorbeelden, tips en commando's ssh moet een uitgangspunt bieden; meer informatie over elk van de teams en mogelijkheden is beschikbaar op de referentiepagina's (man ssh, man ssh_config, Ik ben altijd gefascineerd geweest door de mogelijkheid om systemen te benaderen en commando's uit te voeren vanuit elke plek ter wereld. Terwijl ik mijn vaardigheden met tools zoals).

zal je effectiever worden in elk spel dat je speelt. ssh šŸ„‡ Praktische tips, voorbeelden en SSH-tunnels | ProHoster

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster