Praktiese wenke, voorbeelde en SSH-tonnels

Praktiese wenke, voorbeelde en SSH-tonnels
Praktiese voorbeelde SSHwat jou vaardighede as 'n afgeleë stelseladministrateur na 'n nuwe vlak sal neem. Opdragte en wenke sal nie net help om te gebruik nie SSH, maar navigeer ook die netwerk meer intelligent.

Ken 'n paar truuks ssh nuttig vir enige stelseladministrateur, netwerkingenieur of sekuriteitspersoon.

Praktiese SSH-voorbeelde

  1. SSH sokkies proxy
  2. SSH-tonnel (poortaanstuur)
  3. SSH-tonnel na derde gasheer
  4. Omgekeerde SSH-tonnel
  5. SSH Reverse Proxy
  6. Installeer 'n VPN oor SSH
  7. Kopieer SSH-sleutel (ssh-copy-id)
  8. Afstanduitvoering van opdrag (nie-interaktief)
  9. Afgeleë pakkie vaslegging en kyk met Wireshark
  10. Kopieer 'n plaaslike vouer na 'n afgeleë bediener via SSH
  11. Afgeleë GUI-toepassings met SSH X11-aanstuur
  12. Kopieer lêers op afstand met rsync en SSH
  13. SSH oor die Tor-netwerk
  14. SSH na EC2 instansie
  15. Redigeer tekslêers met VIM via ssh/scp
  16. Monteer 'n afgeleë SSH as 'n plaaslike gids met SSHFS
  17. Vermenigvuldig SSH met ControlPath
  18. Stroom video oor SSH met VLC en SFTP
  19. Tweefaktor-verifikasie
  20. Gasheer-hop met SSH en -J
  21. Blokkeer SSH brute force pogings met iptables
  22. SSH Escape om poortaanstuur te verander

Eers basiese beginsels

SSH Command Line Parsing

Die volgende voorbeeld gebruik algemene opsies wat dikwels teëgekom word wanneer u aan 'n afgeleë bediener koppel SSH.

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

  • -v: Die ontfoutingsuitvoer is veral nuttig wanneer stawingprobleme ontleed word. Kan verskeie kere gebruik word om bykomende inligting te vertoon.
  • - p 22: verbinding poort na 'n afgeleë SSH-bediener. 22 hoef nie gespesifiseer te word nie, want dit is die verstekwaarde, maar as die protokol op 'n ander poort is, spesifiseer ons dit met die parameter -p. Die luisterpoort word in die lêer gespesifiseer sshd_config in die formaat Port 2222.
  • -C: kompressie vir verbinding. As jy 'n stadige kanaal het of baie teks sien, kan dit die verbinding bespoedig.
  • neo@: Die reël voor die @-teken dui die gebruikernaam aan om aan die afgeleë bediener te staaf. As jy dit nie spesifiseer nie, sal dit as verstek die gebruikernaam wees van die rekening waarop jy tans aangemeld is (~$ whoami). Die gebruiker kan ook met die parameter gespesifiseer word -l.
  • remoteserver: naam van die gasheer om aan te koppel ssh, kan dit 'n volledig gekwalifiseerde domeinnaam, 'n IP-adres of enige gasheer in die plaaslike gashere-lêer wees. Om aan 'n gasheer te koppel wat beide IPv4 en IPv6 ondersteun, kan jy die opdragreëlparameter byvoeg -4 of -6 vir korrekte resolusie.

Al die bogenoemde parameters is opsioneel behalwe remoteserver.

Gebruik 'n konfigurasielêer

Alhoewel baie vertroud is met die lêer sshd_config, daar is ook 'n kliëntkonfigurasielêer vir die opdrag ssh. Standaard waarde ~/.ssh/config, maar dit kan gedefinieer word as 'n parameter vir 'n opsie -F.

Host *
     Port 2222

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

Die voorbeeld ssh-konfigurasielêer hierbo het twee gasheerinskrywings. Die eerste een dui alle gashere aan, vir almal word die Port 2222-konfigurasieparameter toegepas. Die tweede een sê dat vir die gasheer afstandbediener jy moet 'n ander gebruikersnaam, poort, FQDN en IdentityFile gebruik.

'n Konfigurasielêer kan baie karaktertiktyd bespaar deur toe te laat dat gevorderde konfigurasie outomaties toegepas word wanneer aan spesifieke gashere gekoppel word.

Kopieer lêers oor SSH met behulp van SCP

Die SSH-kliënt kom met twee ander baie handige gereedskap om lêers oor te kopieer geënkripteerde ssh-verbinding. Hieronder is 'n voorbeeld van 'n tipiese gebruik van die scp- en sftp-opdragte. Let daarop dat baie van die opsies vir ssh ook op hierdie opdragte van toepassing is.

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

In hierdie voorbeeld die lêer mypic.png gekopieer na afstandbediener na die gids /media/data en herdoop na mypic_2.png.

Moenie vergeet van die verskil in die poortparameter nie. Op hierdie kom oor baie wat bekendstelling scp vanaf die opdragreël. Hier is die poort parameter -Pen nie -psoos in ssh kliënt! Jy sal vergeet, maar moenie bekommerd wees nie, almal vergeet.

Vir diegene wat vertroud is met konsole ftp, baie van die opdragte is soortgelyk in sftp. Jy kan doen druk, sit и lssoos jou hart begeer.

sftp neo@remoteserver

Praktiese voorbeelde

In baie van hierdie voorbeelde kan die resultaat deur verskillende metodes bereik word. Soos in ons almal handboeke en voorbeelde, voorkeur word gegee aan praktiese voorbeelde wat net die ding doen.

1. SSH sokkies proxy

Die SSH Proxy-funksie is nommer 1 vir 'n goeie rede. Dit is kragtiger as wat die meeste mense dink en gee jou toegang tot enige stelsel waartoe 'n afgeleë bediener toegang het, deur omtrent enige toepassing te gebruik. 'n ssh-kliënt kan verkeer deur 'n SOCKS-instaanbediener met een eenvoudige opdrag tonnel. Dit is belangrik om te verstaan ​​dat verkeer na afgeleë stelsels vanaf 'n afgeleë bediener sal kom, soos in die webbedienerlogboeke aangedui sal word.

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 begin ons 'n sokkie-instaanbediener op TCP-poort 8888, die tweede opdrag kontroleer dat die poort aktief is in luistermodus. 127.0.0.1 spesifiseer dat die diens slegs op localhost loop. Ons kan 'n effens ander opdrag gebruik om op alle koppelvlakke te luister, insluitend ethernet of wifi, dit sal ander toepassings (blaaiers, ens.) op ons netwerk toelaat om aan die instaanbediener te koppel via die ssh socks-instaanbediener.

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

Nou kan ons die blaaier konfigureer om aan die socks-instaanbediener te koppel. Kies in Firefox Instellings | Hoof | Netwerkstellings. Spesifiseer die IP-adres en poort om aan te koppel.

Praktiese wenke, voorbeelde en SSH-tonnels

Gee aandag aan die opsie onderaan die vorm sodat die blaaier se DNS-navrae ook deur die SOCKS-instaanbediener gaan. As jy 'n instaanbediener gebruik om webverkeer op jou plaaslike netwerk te enkripteer, sal jy waarskynlik hierdie opsie wil kies sodat DNS-navrae oor die SSH-verbinding getonnel word.

Aktiveer sokkie-instaanbediener in Chrome

Deur Chrome met sekere opdragreëlopsies te begin, sal die sokkie-instaanbediener sowel as die tonnel van DNS-versoeke vanaf die blaaier aktiveer. Vertrou maar kyk. Gebruik tcpdump om seker te maak dat DNS-navrae nie meer sigbaar is nie.

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

Gebruik ander toepassings met 'n instaanbediener

Hou in gedagte dat baie ander toepassings ook sokkies gevolmagtigdes kan gebruik. Die webblaaier is eenvoudig die gewildste van almal. Sommige toepassings het konfigurasie-opsies vir die aktivering van 'n instaanbediener. Ander het 'n bietjie hulp nodig met 'n helperprogram. Byvoorbeeld, proxychains laat jou toe om deur sokkies-proxy Microsoft RDP, ens.

localhost:~$ proxychains rdesktop $RemoteWindowsServer

Die sokkie-instaanbediener-konfigurasieparameters word in die proxychains-konfigurasielêer gestel.

Wenk: as jy afstandwerkskerms van Linux na Windows gebruik? Probeer Kliënt FreeRDP. Dit is 'n meer moderne implementering as rdesktop, met baie gladder interaksie.

Opsie om SSH te gebruik deur socks proxy

Jy sit in 'n kafee of hotel - en word gedwing om taamlik onbetroubare WiFi te gebruik. Vanaf die skootrekenaar begin ons 'n ssh-instaanbediener plaaslik en stel 'n ssh-tonnel op na die tuisnetwerk op die plaaslike Rasberry Pi. Deur 'n blaaier of ander toepassings wat vir 'n sokkie-instaanbediener opgestel is, te gebruik, kan ons toegang tot enige netwerkdienste op ons tuisnetwerk kry of aanlyn gaan deur ons tuisverbinding. Alles tussen jou skootrekenaar en jou tuisbediener (via Wi-Fi en internet na jou huis) word in 'n SSH-tonnel geïnkripteer.

2. SSH-tonnel (poortaanstuur)

In sy eenvoudigste vorm maak 'n SSH-tonnel eenvoudig 'n poort op jou plaaslike stelsel oop wat aan 'n ander poort aan die ander kant van die tonnel koppel.

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

Kom ons ontleed die parameter -L. Dit kan beskou word as die plaaslike luisterkant. Dus, in die voorbeeld hierbo, luister poort 9999 aan die plaaslike gasheer-kant en word op poort 80 na die afstandbediener aangestuur. Let daarop dat 127.0.0.1 verwys na localhost op die afgeleë bediener!

Kom ons gaan die trappe op. Die volgende voorbeeld bind luisterpoorte aan ander gashere op die plaaslike netwerk.

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

In hierdie voorbeelde koppel ons aan 'n poort op die webbediener, maar dit kan 'n instaanbediener of enige ander TCP-diens wees.

3. SSH-tonnel na derdepartygasheer

Ons kan dieselfde opsies gebruik om van 'n afgeleë bediener te tonnel na 'n ander diens wat op 'n derde stelsel loop.

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

In hierdie voorbeeld stuur ons 'n tonnel van afstandbediener na 'n webbediener wat op 10.10.10.10 loop. Verkeer vanaf afstandbediener na 10.10.10.10 nie meer in SSH tonnel nie. Die webbediener op 10.10.10.10 sal afstandbediener as die bron van webversoeke beskou.

4. Omgekeerde SSH-tonnel

Hier sal ons 'n luisterpoort op die afgeleë bediener opstel wat terug sal koppel aan 'n plaaslike poort op ons localhost (of ander stelsel).

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

Hierdie SSH-sessie vestig 'n verbinding vanaf poort 1999 op die afstandbediener na poort 902 op ons plaaslike kliënt.

5. SSH Reverse Proxy

In hierdie geval stel ons 'n sokkie-instaanbediener op ons ssh-verbinding op, maar die instaanbediener luister aan die afgeleë kant van die bediener. Verbindings met hierdie afgeleë instaanbediener kom nou uit die tonnel as verkeer vanaf ons plaaslike gasheer.

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

Foutsporing van SSH-tonnels op afstand

As jy probleme ondervind om die SSH-afstandopsies te laat werk, gaan na netstat, aan watter ander koppelvlakke die luisterpoort gekoppel is. Alhoewel ons 0.0.0.0 in die voorbeelde aangedui het, maar as die waarde GatewayPorts в sshd_config stel na No., dan sal die luisteraar slegs gebind wees aan localhost (127.0.0.1).

Sekuriteits waarskuwing

Neem asseblief kennis dat wanneer tonnels en sokkies gevolmagtigdes oopgemaak word, interne netwerkbronne beskikbaar kan wees vir onbetroubare netwerke (byvoorbeeld die internet!). Dit kan 'n ernstige sekuriteitsrisiko wees, so maak seker dat jy verstaan ​​wat 'n luisteraar is en waartoe dit toegang het.

6. Installeer VPN oor SSH

'n Algemene term onder aanvallers (pentesters, ens.) is "netwerksteunpunt". Sodra 'n verbinding op een stelsel tot stand gebring is, word daardie stelsel die poort vir verdere toegang tot die netwerk. ’n Steunpunt wat jou toelaat om in die breedte te beweeg.

Vir so 'n vastrapplek kan ons 'n SSH-instaanbediener gebruik en proxychains, daar is egter 'n paar beperkings. Dit sal byvoorbeeld nie moontlik wees om direk met voetstukke te werk nie, so ons sal nie poorte binne die netwerk kan skandeer deur Nmap SYN.

Deur hierdie meer gevorderde VPN-opsie te gebruik, daal die verbinding na vlak 3. Ons kan dan eenvoudig verkeer deur die tonnel stuur deur gebruik te maak van standaard netwerkroetering.

Die metode gebruik ssh, iptables, tun interfaces en roetering.

Eerstens moet u hierdie parameters instel sshd_config. Aangesien ons veranderinge aan die koppelvlakke van beide die afgeleë en kliëntstelsels aanbring, het ons benodig worteltoestemmings aan beide kante.

PermitRootLogin yes
PermitTunnel yes

Dan sal ons 'n ssh-verbinding tot stand bring met behulp van die parameter wat die inisialisering van tun-toestelle versoek.

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

Ons behoort nou 'n insteltoestel te hê wanneer ons koppelvlakke wys (# ip a). Die volgende stap sal IP-adresse by die tonnel-koppelvlakke voeg.

SSH kliënt kant:

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

SSH bediener kant:

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

Nou het ons 'n direkte roete na 'n ander gasheer (route -n и ping 10.10.10.10).

Dit is moontlik om enige subnet deur die gasheer aan die ander kant te stuur.

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

Aktiveer aan die afgeleë kant ip_forward и 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

Boem! VPN oor SSH-tonnel by netwerklaag 3. Dit is reeds 'n oorwinning.

As daar enige probleme is, gebruik tcpdump и pingom die oorsaak te bepaal. Aangesien ons by laag 3 speel, sal ons icmp-pakkies deur hierdie tonnel gaan.

7. Kopieer SSH-sleutel (ssh-copy-id)

Daar is verskeie maniere om dit te doen, maar hierdie opdrag bespaar tyd deur nie die lêers met die hand te kopieer nie. Dit kopieer eenvoudig ~/.ssh/id_rsa.pub (of die versteksleutel) vanaf jou stelsel na ~/.ssh/authorized_keys op 'n afgeleë bediener.

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

8. Afstanduitvoering (nie-interaktief)

span ssh kan gekoppel word aan ander opdragte vir die gewone gebruikersvriendelike koppelvlak. Voeg net die opdrag by wat jy op die afgeleë gasheer wil laat loop as die laaste parameter tussen aanhalingstekens.

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

In hierdie voorbeeld grep word op die plaaslike stelsel uitgevoer nadat die log oor die ssh-kanaal afgelaai is. As die lêer groot is, is dit geriefliker om te hardloop grep aan die afgeleë kant deur eenvoudig beide opdragte in dubbele aanhalingstekens in te sluit.

Nog 'n voorbeeld verrig dieselfde funksie as ssh-copy-id uit voorbeeld 7.

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

9. Afgeleë Pakketopname en Wireshark-aansig

Ek het een van ons geneem tcpdump voorbeelde. Gebruik dit om pakkies op afstand vas te vang en die resultaat direk na die GUI van jou plaaslike Wireshark terug te stuur.

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

10. Kopieer 'n plaaslike gids na 'n afgeleë bediener via SSH

'n Lekker truuk waarmee 'n vouer saamgepers word bzip2 (dit is die -j opsie in die opdrag tar) en haal dan die stroom bzip2 aan die ander kant, skep 'n duplikaatvouer op die afgeleë bediener.

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

11. Afgeleë GUI-toepassings met SSH X11-aanstuur

As beide die kliënt en die afgeleë bediener "x" geïnstalleer het, dan kan jy 'n GUI-opdrag op afstand uitvoer, met 'n venster op jou plaaslike lessenaar. Hierdie kenmerk bestaan ​​al lank, maar is steeds baie nuttig. Begin 'n afgeleë webblaaier of selfs 'n VMWawre Workstation-konsole soos ek in hierdie voorbeeld doen.

localhost:~$ ssh -X remoteserver vmware

String benodig X11Forwarding yes in lêer sshd_config.

12. Afgeleë kopieer lêers met rsync en SSH

rsync baie geriefliker scpas jy periodieke rugsteun van 'n gids, 'n groot aantal lêers of baie groot lêers benodig. Daar is 'n funksie om te herstel van 'n oordragfout en slegs veranderde lêers te kopieer, wat verkeer en tyd bespaar.

Hierdie voorbeeld gebruik kompressie gzip (-z) en argiefmodus (-a), wat rekursiewe kopiëring moontlik maak.

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

13. SSH oor die Tor-netwerk

Die anonieme Tor-netwerk kan SSH-verkeer met die opdrag tonnel torsocks. Die volgende opdrag sal 'n ssh-instaanbediener deur Tor stuur.

localhost:~$ torsocks ssh myuntracableuser@remoteserver

Boorsokke sal poort 9050 op localhost vir die instaanbediener gebruik. Soos altyd wanneer u Tor gebruik, moet u ernstig kyk watter verkeer getonneel word en ander operasionele sekuriteit (opsec) kwessies. Waar gaan jou DNS-versoeke heen?

14. SSH tot EC2 instansie

'n Privaat sleutel word vereis om aan 'n EC2-instansie te koppel. Laai dit af (.pem-uitbreiding) vanaf die Amazon EC2-kontrolepaneel en verander die toestemmings (chmod 400 my-ec2-ssh-key.pem). Hou die sleutel op 'n veilige plek of plaas dit in jou vouer ~/.ssh/.

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

Parameter -i sê eenvoudig vir die ssh-kliënt om daardie sleutel te gebruik. lêer ~/.ssh/config ideaal vir die outomatiese instel van sleutelgebruik wanneer u aan 'n ec2-gasheer koppel.

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

15. Wysig tekslêers met VIM via ssh/scp

Vir alle liefhebbers vim hierdie wenk sal jou tyd spaar. Deur die gebruik van vim lêers word geredigeer via scp met een opdrag. Hierdie metode skep eenvoudig die lêer plaaslik in /tmp, en kopieer dit dan terug sodra ons dit gestoor het vim.

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

Let wel: die formaat verskil effens van die gewone scp. Na die gasheer het ons 'n dubbel //. Dit is 'n absolute padverwysing. 'n Enkele skuinsstreep sal beteken dat die pad relatief tot die tuislêergids is users.

**warning** (netrw) cannot determine method (format: protocol://[user@]hostname[:port]/[path])

As u hierdie fout sien, moet u die opdragformaat dubbel kontroleer. Dit beteken gewoonlik 'n sintaksfout.

16. Monteer afgeleë SSH as 'n plaaslike gids met SSHFS

Deur middel van sshfs - lêerstelsel kliënt ssh - ons kan 'n plaaslike gids op 'n afgeleë plek monteer met alle lêerinteraksies in 'n geënkripteerde sessie ssh.

localhost:~$ apt install sshfs

Installeer die pakket op Ubuntu en Debian sshfs, en monteer dan net die afgeleë ligging op ons stelsel.

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

17. Vermenigvuldig SSH met ControlPath

By verstek, as daar 'n bestaande verbinding is met 'n afgeleë bediener gebruik ssh tweede verband met ssh of scp vestig 'n nuwe sessie met bykomende verifikasie. Opsie ControlPath laat jou toe om 'n bestaande sessie vir alle daaropvolgende verbindings te gebruik. Dit sal die proses aansienlik bespoedig: die effek is selfs in die plaaslike netwerk merkbaar, en selfs meer so wanneer dit aan afgeleë hulpbronne gekoppel is.

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

ControlPath spesifiseer die sok vir nuwe verbindings om na 'n aktiewe sessie te kyk ssh. Die laaste opsie beteken dat selfs nadat jy by die konsole afgemeld is, die bestaande sessie vir 10 minute oop sal bly, sodat jy gedurende daardie tyd weer op die bestaande sok kan koppel. Sien hulp vir meer inligting. ssh_config man.

18. Stroom video oor SSH met VLC en SFTP

Selfs jarelange gebruikers ssh и vlc (Video Lan Client) weet nie altyd van hierdie gerieflike opsie wanneer jy regtig video oor die netwerk moet kyk nie. In instellings lêer | Maak netwerkstroom oop programme vlc jy kan die ligging invoer as sftp://. As 'n wagwoord vereis word, sal jy gevra word.

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

19. Twee-faktor-verifikasie

Dieselfde twee-faktor-verifikasie as jou bankrekening of Google-rekening is van toepassing op die SSH-diens.

Van die kursus, ssh het aanvanklik 'n tweefaktor-verifikasiefunksie, wat 'n wagwoord en 'n SSH-sleutel beteken. Die voordeel van 'n hardewaretoken of Google Authenticator-toepassing is dat dit gewoonlik 'n ander fisiese toestel is.

Sien ons 8-minute gids tot met behulp van Google Authenticator en SSH.

20. Springende gashere met ssh en -J

As netwerksegmentering vereis dat jy deur verskeie ssh-gashere moet spring om by jou eindbestemmingsnetwerk uit te kom, sal die -J-kortpad jou tyd bespaar.

localhost:~$ ssh -J host1,host2,host3 [email protected]

Die belangrikste ding hier is om te verstaan ​​dat dit nie soortgelyk is aan die opdrag nie ssh host1dan user@host1:~$ ssh host2 ensovoorts Die -J-opsie gebruik deurstuur slim om localhost 'n sessie met die volgende gasheer in die ketting te laat vestig. So in die voorbeeld hierbo, staaf ons localhost na host4. Dit wil sê, ons localhost-sleutels word gebruik, en die sessie van localhost na host4 is ten volle geïnkripteer.

Vir so 'n geleentheid ssh_config spesifiseer konfigurasie opsie ProxyJump. As jy gereeld deur verskeie gashere moet gaan, sal outomatisering deur die konfigurasie baie tyd bespaar.

21. Blokkeer SSH brute force pogings met iptables

Enigiemand wat 'n SSH-diens bestuur het en na die logboeke gekyk het, is bewus van die aantal brute kragpogings wat elke uur van elke dag plaasvind. 'n Vinnige manier om loggeraas te verminder, is om SSH na 'n nie-standaardpoort te skuif. Maak veranderinge aan die lêer sshd_config met behulp van 'n konfigurasie-opsie Poort##.

Met iptables jy kan ook maklik verbindingspogings na 'n poort blokkeer wanneer 'n sekere drempel bereik word. 'n Maklike manier om dit te doen is om te gebruik OSSEC, aangesien dit nie net SSH blokkeer nie, maar ook 'n klomp ander gasheernaam-gebaseerde intrusieopsporing (HIDS) maatreëls uitvoer.

22. SSH Escape to Change Port Forwarding

En ons laaste voorbeeld ssh ontwerp om hawe-aanstuur onmiddellik binne 'n bestaande sessie te verander ssh. Stel jou so 'n scenario voor. Jy is diep in die web; dalk deur 'n halfdosyn gashere gespring en 'n plaaslike poort op die werkstasie nodig wat na die Microsoft SMB van 'n ou Windows 2003-stelsel aangestuur word (onthou iemand ms08-67?).

Klik enter, probeer om in konsole te tik ~C. Dit is 'n sessie-ontsnapvolgorde waarmee jy veranderinge aan 'n bestaande verbinding kan maak.

localhost:~$ ~C
ssh> -h
Commands:
      -L[bind_address:]port:host:hostport    Request local forward
      -R[bind_address:]port:host:hostport    Request remote forward
      -D[bind_address:]port                  Request dynamic forward
      -KL[bind_address:]port                 Cancel local forward
      -KR[bind_address:]port                 Cancel remote forward
      -KD[bind_address:]port                 Cancel dynamic forward
ssh> -L 1445:remote-win2k3:445
Forwarding port.

Hier kan jy sien dat ons ons plaaslike poort 1445 aangestuur het na 'n Windows 2003-gasheer wat ons op die interne netwerk gevind het. Nou net hardloop msfconsole, en jy is goed om te gaan (met die veronderstelling dat jy van plan is om hierdie gasheer te gebruik).

Voltooiing

Hierdie voorbeelde, wenke en opdragte ssh moet 'n beginpunt gee; Bykomende inligting oor elk van die opdragte en kenmerke is beskikbaar op die man bladsye (man ssh, man ssh_config, man sshd_config).

Ek was nog altyd gefassineer deur die vermoë om toegang tot stelsels te kry en opdragte oral in die wêreld uit te voer. Ontwikkel jou vaardighede met gereedskap soos ssh jy sal meer doeltreffend word in watter speletjie jy ook al speel.

Bron: will.com

Voeg 'n opmerking