Publicerade den här guiden/artikeln på flashback för en tid sedan, men tänkte att den kunde vara av intresse även för SweRAT folket.
Vad är SSH?
SSH (Secure Shell) är kortfattat ett protokoll (samt program) som används för att ansluta till en fjärrdator med en krypterad anslutning.
Mer info: http://sv.wikipedia.org/wiki/SSH
Vad är en SSH-tunnel och hur fungerar det?
En SSH-tunnel är ett sätt att tunnla trafik via en dator med en SSH-server(daemon) till en mottagande dator, vad för typ av trafik som ska skickas väljer du själv.
Det fungerar så att den datan du skickar till mottagaren krypteras med hjälp av SSH-protokollet och skickas först till SSH-servern, som fungerar som en mellanstation mellan dig och mottagaren. När datan nått SSH-servern så dekrypteras den och skickas vidare till den slutgiltige mottagaren.
Hur upprättar man en SSH-tunnel?
Jag kommer i detta exempel utgå ifrån att klienten (du) sitter på en Windows-maskin med en gratis SSH-klient (PuTTY) och tunnlar trafiken via ett shell-account på en linux-maskin.
Så här kommer det att se ut:
Din dator(WinXP) -> SSH-server(linux) -> www.google.se
127.0.0.1 -> 192.168.0.25:22 -> www.google.se:80
För att genomföra ovanstående startar du PuTTY, går till "tunnels", och där ska nu följande läggas till:
Source port: valfritt portnummer, detta är den port som din egna dator ska lyssna på för att sedan tunnla vidare trafiken.
Destination: den server du vill nå, i detta fallet www.google.se:80.
klicka på Add.
Gå till Session, och anslut som vanligt till SSH-servern.
Nu är det färdigt! Gå in i valfri webbläsare, skriv i adress-fältet: 127.0.0.1: (den source-port du valde) och förhoppningsvis dyker google upp .
Vad kan SSH-tunnlar användas till?
Det kan bl a. användas till följande:
Alternativ till proxy, Tor m.m.
I och med att trafiken inte går direkt till mottagaren så döljs din IP-adress för denne och SSH-serverns (mellanhandens) IP-adress visas istället i loggarna. En absolut fördel i jämförelse med många proxytyper är också att trafiken mellan dig och SSH-servern är krypterad. Detta innebär att inte ens ditt ISP kan avläsa trafiken som skickas utan mycket god kunskap och vilja.
Ansluta till tjänster innanför en brandvägg
Anta att ett företag har en publik SSH-server på Internet och det enda du har tillgång till är ett gästkonto. Det du vill åt är dock en fil-server på deras interna nät, det som hindrar dig är en brandvägg.
Vid detta, eller ett liknande scenario kan SSH-tunnlar användas för att ansluta till fil-servern. Genom att tunnla trafiken via den publika SSH-servern med fil-servern som mottagare så kan man ta sig förbi brandväggen.
Problemet:
Din dator --> brandvägg --> SSH-server (hit är du välkommen, inte längre) - - - fil-server
Lösningen = Tunnla trafiken:
Din dator --> brandvägg --> SSH-server (tunnlar trafiken) --> fil-server (nu är du här)
Du kanske noterade att den enda tillgången du egentligen har i detta exempel är ett gästkonto. Ofta så är räcker detta på *nix-baserade system, jag tror att detta beror på att man måste ha skrivrättigheter till sshd för att kunna logga in. Notera också att du måste ta reda på den interna IP-adressen till fil-servern.
Mer?
Tja, det går att tunnla trafiken mellan flera SSH-servrar, detta är mer avancerat så det överlämnar jag till er att klura på. Men ett kortfattat exempel:
C = Client
S1 = First sshd
S2 = Second sshd
R = Remote service
S1: SSH -L <localport>:<R>:<R port> <user@S2>
S2: SSH -L <localport>:<R>:<R port> <localhost>
C: SSH to S1 with <localport>:<localhost>:<S1 port>:<S2>:<S2 port>:<R>:<R port>
C: Service <localhost> <localport>
Länkar
PuTTY: http://www.chiark.greenend.org.uk/~sgtatha...y/download.html
SSH på Wikipedia: http://sv.wikipedia.org/wiki/SSH
Igenom brandväggar med SSH-tunnlar: http://souptonuts.sourceforge.net/sshtips.htm
Ett linux-baserat exempel av Pheno: http://www.flashback.info/showpost.php?p=4...mp;postcount=17
//Pslay