Kiat Praktis, Contoh, dan Terowongan SSH


Contoh praktis SSH yang akan membawa keterampilan administrator sistem jarak jauh Anda ke tingkat berikutnya. Perintah dan tip akan membantu tidak hanya menggunakan SSH , tetapi juga menavigasi jaringan dengan lebih kompeten.

Mengetahui beberapa trik ssh berguna untuk administrator sistem, insinyur jaringan, atau spesialis keamanan apa pun.

Contoh SSH Praktis


  1. SSH membuat proksi kaus kaki
  2. Terowongan SSH (Port Forwarding)
  3. Terowongan SSH ke host ketiga
  4. SSH membalikkan terowongan
  5. Proxy balik SSH
  6. Menginstal VPN melalui SSH
  7. Salin kunci SSH (ssh-copy-id)
  8. Eksekusi perintah jarak jauh (non-interaktif)
  9. Pengambilan dan melihat paket jarak jauh di Wireshark
  10. Menyalin folder lokal ke server jauh melalui SSH
  11. Remote SSH X11 Aplikasi Penerusan GUI
  12. Menyalin file jarak jauh menggunakan rsync dan SSH
  13. SSH melalui jaringan Tor
  14. SSH ke EC2 Instance
  15. Mengedit file teks menggunakan VIM melalui ssh / scp
  16. Memasang SSH jarak jauh sebagai folder lokal dengan SSHFS
  17. SSH Multiplexing dengan ControlPath
  18. Streaming video SSH menggunakan VLC dan SFTP
  19. Otentikasi dua faktor
  20. Host Jumping dengan SSH dan -J
  21. Memblokir upaya brute force SSH dengan iptables
  22. SSH Escape untuk mengubah penerusan port

Dasar-dasarnya dulu


Penguraian baris perintah SSH


Contoh berikut menggunakan parameter biasa yang sering ditemukan saat menghubungkan ke server SSH jarak jauh.

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

  • -v : output debugging sangat berguna saat menganalisis masalah otentikasi. Anda dapat menggunakannya beberapa kali untuk menampilkan informasi tambahan.
  • - p 22 : port untuk menghubungkan ke server SSH jarak jauh. 22 tidak perlu ditentukan, karena ini adalah nilai default, tetapi jika protokolnya ada pada port lain, maka kita tentukan menggunakan parameter -p . Port mendengarkan ditentukan dalam file sshd_config dalam format Port 2222 .
  • -C : kompresi untuk koneksi. Jika Anda memiliki umpan lambat atau sedang melihat banyak teks, ini dapat mempercepat koneksi.
  • neo@ : baris sebelum simbol @ menunjukkan nama pengguna untuk otentikasi di server jauh. Jika Anda tidak menentukannya, maka secara default nama pengguna akun yang sedang Anda masuki akan digunakan (~ $ whoami). Pengguna juga dapat ditentukan dengan opsi -l .
  • remoteserver : nama host yang ssh hubungkan, itu bisa berupa nama domain yang sepenuhnya memenuhi syarat, alamat IP, atau host apa pun di file host lokal. Untuk menghubungkan ke host yang mendukung IPv4 dan IPv6, Anda dapat menambahkan opsi -4 atau -6 ke baris perintah untuk resolusi yang tepat.

Semua opsi di atas adalah opsional kecuali remoteserver .

Menggunakan file konfigurasi


Meskipun banyak yang akrab dengan file sshd_config , ada juga file konfigurasi klien untuk perintah ssh . Nilai default adalah ~/.ssh/config , tetapi dapat didefinisikan sebagai parameter untuk opsi -F .

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

Contoh file konfigurasi ssh di atas memiliki dua entri host. Yang pertama menunjukkan semua host, parameter konfigurasi Port 2222 digunakan untuk semua.Yang kedua mengatakan bahwa untuk host remote , gunakan nama pengguna yang berbeda, port, FQDN dan IdentityFile.

File konfigurasi dapat menghemat banyak waktu pengetikan karakter, memungkinkan Anda untuk secara otomatis menerapkan konfigurasi lanjutan saat menghubungkan ke host tertentu.

Salin file melalui SSH menggunakan SCP


Klien SSH dilengkapi dengan dua alat lain yang sangat nyaman untuk menyalin file melalui koneksi ssh terenkripsi . Lihat di bawah untuk contoh penggunaan standar perintah scp dan sftp. Perhatikan bahwa banyak opsi untuk ssh juga berlaku untuk perintah ini.

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

Dalam contoh ini, file mypic.png disalin ke server remote / folder / data dan diubah namanya menjadi mypic_2.png .

Jangan lupa tentang perbedaan dalam parameter port. Ini datang di banyak yang menjalankan scp dari baris perintah. Di sini parameter port -P , bukan -p , seperti pada klien ssh! Anda akan lupa, tetapi jangan khawatir, semua orang akan lupa.

Bagi mereka yang terbiasa dengan konsol ftp , banyak dari perintah serupa di sftp . Anda dapat melakukan push , put dan ls sesuai keinginan hati Anda.

 sftp neo@remoteserver 

Contoh-contoh praktis


Dalam banyak contoh ini, hasilnya dapat dicapai dengan berbagai metode. Seperti halnya semua buku pelajaran dan contoh kami, preferensi diberikan pada contoh-contoh praktis yang hanya melakukan pekerjaan mereka.

1. SSH kaus kaki proxy


SSH Proxy di nomor 1 untuk alasan yang bagus. Ini lebih kuat daripada yang banyak diasumsikan, dan memberi Anda akses ke sistem apa pun yang server jarak jauh memiliki akses untuk menggunakan hampir semua aplikasi. Klien ssh dapat melakukan tunnel traffic melalui proxy SOCKS dengan satu perintah sederhana. Penting untuk dipahami bahwa lalu lintas ke sistem jarak jauh akan berasal dari server jarak jauh, seperti yang akan ditunjukkan dalam log server web.

 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 

Di sini kita menjalankan proxy kaus kaki pada port TCP 8888, perintah kedua memeriksa apakah port aktif dalam mode mendengarkan. 127.0.0.1 menunjukkan bahwa layanan hanya berjalan di localhost. Kita dapat menggunakan perintah yang sedikit berbeda untuk mendengarkan semua antarmuka, termasuk ethernet atau wifi, ini akan memungkinkan aplikasi lain (browser, dll.) Di jaringan kami untuk terhubung ke layanan proxy melalui ssh socks proxy.

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

Sekarang kita dapat mengkonfigurasi browser untuk terhubung ke proksi kaus kaki. Di Firefox, pilih Pengaturan | Sorotan | Pengaturan Jaringan Tentukan alamat IP dan port yang akan dihubungkan.



Perhatikan opsi di bagian bawah formulir sehingga permintaan DNS peramban juga melalui proxy SOCKS. Jika Anda menggunakan server proxy untuk mengenkripsi lalu lintas web di jaringan lokal, maka Anda mungkin ingin memilih opsi ini sehingga permintaan DNS disalurkan melalui koneksi SSH.

Socks aktivasi proxy di Chrome


Menjalankan Chrome dengan opsi baris perintah tertentu mengaktifkan proksi kaus kaki, serta menyalurkan kueri DNS dari browser. Percaya, tapi verifikasi. Gunakan tcpdump untuk memverifikasi bahwa permintaan DNS tidak lagi terlihat.

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

Menggunakan aplikasi proxy lain


Perlu diingat bahwa banyak aplikasi lain juga dapat menggunakan proksi kaus kaki. Browser web adalah yang paling populer. Beberapa aplikasi memiliki opsi konfigurasi untuk mengaktifkan server proxy. Yang lain membutuhkan sedikit bantuan dengan program pembantu. Misalnya, proxychains memungkinkan Anda untuk menjalankan Microsoft RDP, dll. Melalui socks-proxy.

 localhost:~$ proxychains rdesktop $RemoteWindowsServer 

Parameter konfigurasi proxy kaus kaki diatur dalam file konfigurasi proxykunci.

Petunjuk: jika Anda menggunakan desktop jarak jauh dari Linux pada Windows? Coba klien FreeRDP . Ini adalah implementasi yang lebih modern daripada rdesktop , dengan interaksi yang lebih lancar.

Opsi SSH melalui proxy kaus kaki


Anda sedang duduk di kafe atau hotel - dan terpaksa menggunakan WiFi yang agak tidak dapat diandalkan. Dari laptop, luncurkan ssh proxy secara lokal dan instal ssh tunnel ke jaringan rumah di Rasberry Pi lokal. Dengan menggunakan browser atau aplikasi lain yang dikonfigurasi untuk proxy kaus kaki, kita dapat mengakses layanan jaringan apa pun di jaringan rumah kami atau mengakses Internet melalui koneksi rumah. Segala sesuatu antara laptop Anda dan server rumah Anda (melalui Wi-Fi dan Internet ke rumah Anda) dienkripsi di terowongan SSH.

2. Terowongan SSH (port forwarding)


Dalam bentuknya yang paling sederhana, terowongan SSH hanya membuka port pada sistem lokal Anda yang terhubung ke port lain di ujung tunnel.

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

Mari kita periksa opsi -L . Itu dapat direpresentasikan sebagai sisi lokal dari mendengarkan. Jadi, dalam contoh di atas, port 9999 didengarkan di sisi localhost dan diteruskan melalui port 80 ke remote server. Harap dicatat bahwa 127.0.0.1 merujuk ke localhost di server jarak jauh!

Mari naik satu langkah. Dalam contoh berikut, port mendengarkan berkomunikasi dengan node lain di jaringan lokal.

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

Dalam contoh ini, kami terhubung ke port di server web, tetapi itu bisa berupa server proxy atau layanan TCP lainnya.

3. Terowongan SSH ke host pihak ketiga


Kita dapat menggunakan parameter yang sama untuk menghubungkan terowongan dari server jauh ke layanan lain yang berjalan pada sistem ketiga.

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

Dalam contoh ini, kami mengarahkan ulang terowongan dari remote ke server web yang berjalan pada 10.10.10.10. Lalu lintas dengan remote server pada 10.10.10.10 tidak lagi ada di terowongan SSH . Pada 10.10.10.10, server web akan mempertimbangkan remoteer sebagai sumber permintaan web.

4. Membalikkan terowongan SSH


Di sini kita mengkonfigurasi port mendengarkan pada server jarak jauh, yang akan terhubung kembali ke port lokal di localhost kami (atau sistem lain).

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

Dalam sesi SSH ini, koneksi dibuat dari port 1999 pada remote control ke port 902 pada klien lokal kami.

5. Membalikkan proxy SSH


Dalam hal ini, kami memasang proxy kaus kaki pada koneksi ssh kami, namun proxy mendengarkan di ujung server. Koneksi ke proxy jarak jauh ini sekarang muncul dari terowongan sebagai lalu lintas dari localhost kami.

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

Memecahkan masalah Terowongan SSH Jarak Jauh


Jika Anda memiliki masalah dengan opsi SSH jarak jauh, periksa dengan netstat apa antarmuka lain yang terhubung ke port mendengarkan. Meskipun kami menetapkan 0.0.0.0 dalam contoh, tetapi jika nilai GatewayPorts di sshd_config diatur ke no , maka pendengar hanya akan terikat ke localhost (127.0.0.1).

Peringatan keamanan


Harap dicatat bahwa ketika membuka proksi terowongan dan kaus kaki, sumber daya jaringan internal mungkin tersedia untuk jaringan yang tidak terpercaya (misalnya, Internet!). Ini bisa menjadi risiko keamanan yang serius, jadi pastikan Anda memahami apa yang pendengarnya dan apa yang ia miliki.

6. Menginstal VPN melalui SSH


Istilah umum di antara spesialis dalam metode serangan (pentester, dll.) Adalah "titik tumpu jaringan." Setelah membuat koneksi dalam satu sistem, sistem ini menjadi gateway untuk akses lebih lanjut ke jaringan. Titik tumpu yang memungkinkan Anda bergerak dengan luas.

Untuk titik tumpu seperti itu, kita dapat menggunakan proxy SSH dan proxy, tetapi ada beberapa batasan. Misalnya, Anda tidak akan dapat bekerja secara langsung dengan soket, jadi kami tidak akan dapat memindai port di dalam jaringan melalui Nmap SYN .

Menggunakan opsi VPN yang lebih canggih ini, koneksi turun ke level 3 . Kemudian kita cukup merutekan traffic melalui tunnel menggunakan routing jaringan standar.

Metode ini menggunakan ssh , iptables , tun interfaces dan routing.

Pertama, Anda perlu mengatur parameter ini di sshd_config . Karena kami membuat perubahan pada antarmuka sistem remote dan klien, kami membutuhkan hak akses root di kedua sisi .

 PermitRootLogin yes PermitTunnel yes 

Kemudian buat koneksi ssh menggunakan parameter yang meminta inisialisasi perangkat tun.

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

Sekarang kita harus memiliki perangkat tun ketika menampilkan antarmuka ( # ip a ). Langkah selanjutnya akan menambahkan alamat IP ke antarmuka terowongan.

Sisi Klien SSH:

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

Sisi Server SSH:

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

Sekarang kita memiliki rute langsung ke host lain ( route -n dan ping 10.10.10.10 ).

Anda dapat merutekan subnet apa pun melalui host di sisi lain.

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

Di sisi jarak jauh, Anda harus mengaktifkan ip_forward dan 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 over SSH tunnel pada lapisan jaringan 3 . Ini sudah merupakan kemenangan.

Jika Anda mengalami masalah, gunakan tcpdump dan ping untuk menentukan penyebabnya. Karena kami bermain di level 3, paket icmp kami akan melewati terowongan ini.

7. Menyalin kunci SSH (ssh-copy-id)


Ada beberapa cara, tetapi perintah ini menghemat waktu agar tidak menyalin file secara manual. Ini hanya menyalin ~ / .ssh / id_rsa.pub (atau kunci default) dari sistem Anda ke ~/.ssh/authorized_keys di server jarak jauh.

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

8. Eksekusi perintah jarak jauh (non-interaktif)


Perintah ssh dapat dikaitkan dengan perintah lain untuk antarmuka yang mudah digunakan. Cukup tambahkan perintah yang ingin Anda jalankan pada host jarak jauh sebagai parameter terakhir dalam tanda kutip.

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

Dalam contoh ini, grep berjalan pada sistem lokal setelah log diunduh melalui saluran ssh. Jika file berukuran besar, lebih mudah untuk menjalankan grep di sisi jarak jauh, cukup lampirkan kedua perintah dalam tanda kutip ganda.

Contoh lain menjalankan fungsi yang sama dengan ssh-copy-id dari contoh 7.

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

9. Pengambilan dan melihat paket jarak jauh di Wireshark


Saya mengambil salah satu contoh tcpdump kami. Gunakan untuk mencegat paket dengan hasil secara langsung di GUI Wireshark lokal.

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

10. Menyalin folder lokal ke server jauh melalui SSH


Trik yang indah yang mengkompres folder menggunakan bzip2 (ini adalah opsi -j dalam perintah tar ) dan kemudian mengekstrak aliran bzip2 di sisi lain, membuat duplikat folder di server jauh.

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

11. Remote SSH X11 Penerusan Aplikasi GUI


Jika klien dan server jarak jauh telah menginstal X, maka Anda dapat mengeksekusi perintah GUI dari jarak jauh, dengan jendela di desktop lokal Anda. Fitur ini sudah ada sejak lama, tetapi masih sangat bermanfaat. Luncurkan browser web jarak jauh atau bahkan konsol VMWawre Workstation, seperti yang saya lakukan dalam contoh ini.

 localhost:~$ ssh -X remoteserver vmware 

Membutuhkan baris X11Forwarding yes di file sshd_config .

12. Menyalin file jarak jauh menggunakan rsync dan SSH


rsync jauh lebih nyaman daripada scp jika Anda perlu membuat cadangan direktori, sejumlah besar file, atau file yang sangat besar secara berkala. Ada fungsi untuk memulihkan dari kegagalan transmisi dan hanya menyalin file yang dimodifikasi, yang menghemat lalu lintas dan waktu.

Contoh ini menggunakan kompresi gzip (-z) dan mode arsip (-a), yang memungkinkan penyalinan rekursif.

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

13. SSH melalui jaringan Tor


Jaringan Tor anonim dapat menyalurkan lalu lintas SSH menggunakan torsocks . Perintah berikut ini akan membuang proxy ssh melalui Tor.

 localhost:~$ torsocks ssh myuntracableuser@remoteserver 

Torsocks akan menggunakan port 9050 untuk proxy di localhost. Seperti biasa, ketika menggunakan Tor, Anda perlu secara serius memeriksa lalu lintas apa yang sedang disalurkan dan masalah keamanan operasional lainnya (opsec). Ke mana perginya pertanyaan DNS Anda?

14. SSH ke EC2 Instance


Diperlukan kunci pribadi untuk terhubung ke instance EC2. Unduh (ekstensi .pem) dari panel kontrol Amazon EC2 dan ubah izinnya ( chmod 400 my-ec2-ssh-key.pem ). Simpan kunci di tempat yang aman atau letakkan di folder ~/.ssh/ .

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

Opsi -i hanya memberi tahu klien ssh untuk menggunakan sakelar ini. File ~/.ssh/config ideal untuk mengonfigurasi penggunaan kunci secara otomatis saat menghubungkan ke host ec2.

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

15. Mengedit file teks menggunakan VIM melalui ssh / scp


Untuk semua pecinta vim , tip ini akan menghemat sedikit waktu. Menggunakan vim file diedit menggunakan scp dengan satu perintah. Metode ini hanya membuat file secara lokal di /tmp dan kemudian menyalinnya kembali setelah kami menyimpannya dari vim .

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

Catatan: formatnya sedikit berbeda dari scp biasa. Setelah tuan rumah, kita memiliki double // . Ini adalah tautan ke jalur absolut. Satu garis miring akan berarti jalur relatif ke folder beranda users .

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

Jika Anda melihat kesalahan ini, periksa kembali format perintah. Ini biasanya berarti kesalahan sintaksis.

16. Memasang SSH jarak jauh sebagai folder lokal dengan SSHFS


Menggunakan sshfs , klien sistem file ssh , kita dapat menghubungkan direktori lokal ke lokasi jauh dengan semua interaksi file dalam sesi ssh terenkripsi.

 localhost:~$ apt install sshfs 

Kami menginstal paket sshfs di Ubuntu dan Debian, dan kemudian hanya me-mount lokasi remote pada sistem kami.

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

17. SSH Multiplexing dengan ControlPath


Secara default, jika Anda memiliki koneksi yang ada ke server jauh menggunakan ssh koneksi kedua menggunakan ssh atau scp membuat sesi baru dengan otentikasi tambahan. Opsi ControlPath memungkinkan Anda untuk menggunakan sesi yang ada untuk semua koneksi berikutnya. Ini akan mempercepat proses secara signifikan: efeknya terlihat bahkan pada jaringan lokal, dan bahkan lebih lagi ketika terhubung ke sumber daya jarak jauh.

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

ControlPath memberitahu soket untuk memeriksa koneksi baru untuk sesi ssh aktif. Opsi terakhir berarti bahwa bahkan setelah keluar dari konsol, sesi yang ada akan tetap terbuka selama 10 menit, jadi selama waktu ini Anda dapat menyambung kembali ke soket yang ada. Lihat bantuan ssh_config man untuk informasi lebih lanjut.

18. Streaming video melalui SSH menggunakan VLC dan SFTP


Bahkan pengguna lama ssh dan vlc (Video Lan Client) tidak selalu tahu tentang opsi yang mudah ini ketika Anda benar-benar perlu menonton video di jaringan. Dalam pengaturan File | Program Open Network Stream vlc dapat memasukkan lokasi sebagai sftp:// . Jika kata sandi diperlukan, sebuah prompt muncul.

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

19. Otentikasi dua faktor


Otentikasi dua faktor yang sama dengan rekening bank atau akun Google Anda berlaku untuk layanan SSH.

Tentu saja, ssh pada awalnya memiliki fungsi otentikasi dua faktor, yang berarti kata sandi dan kunci SSH. Keuntungan dari token perangkat keras atau aplikasi Google Authenticator adalah biasanya itu adalah perangkat fisik yang berbeda.

Lihat panduan 8 menit kami tentang penggunaan Google Authenticator dan SSH .

20. Host jumping dengan ssh dan -J


Jika, karena segmentasi jaringan, Anda harus melewati beberapa host ssh untuk mencapai jaringan tujuan akhir, pintasan -J akan menghemat waktu Anda.

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

Hal utama yang harus dipahami di sini adalah bahwa ini tidak analog dengan perintah ssh host1 , kemudian user@host1:~$ ssh host2 , dll. Parameter -J secara cerdik menggunakan penerusan sehingga localhost membuat sesi dengan host berikutnya dalam rantai. Jadi, dalam contoh di atas, localhost kami mengautentikasi ke host4. Yaitu, kunci localhost kami digunakan, dan sesi dari localhost ke host4 sepenuhnya dienkripsi.

Untuk melakukan ini, tentukan opsi konfigurasi proxyJump di ssh_config . Jika Anda secara teratur harus melalui beberapa host, maka otomatisasi melalui konfigurasi akan menghemat banyak waktu.

21. Memblokir upaya brute force SSH menggunakan iptables


Siapa pun yang telah menjalankan layanan SSH dan melihat log tahu tentang jumlah upaya kekerasan yang terjadi setiap jam setiap hari. Cara cepat untuk mengurangi noise dalam log adalah dengan memigrasikan SSH ke port non-standar. Buat perubahan pada file sshd_config menggunakan parameter konfigurasi Port ## .

Menggunakan iptables , Anda juga dapat dengan mudah memblokir upaya untuk terhubung ke port setelah mencapai batas tertentu.Cara mudah untuk melakukan ini adalah dengan menggunakan OSSEC , karena tidak hanya memblokir SSH, tetapi melakukan banyak langkah-langkah deteksi intrusi berbasis host (HIDS).

22. SSH Escape untuk mengubah penerusan port


Dan contoh terakhir kami sshadalah untuk mengubah port forwarding on the fly dalam sesi yang ada ssh. Bayangkan skenario seperti itu. Anda online mendalam; Anda mungkin telah melompati lebih dari setengah lusin host dan Anda memerlukan port lokal pada workstation yang dialihkan ke Microsoft SMB dari sistem Windows 2003 lama (apakah ada yang ingat ms08-67?).

Dengan mengklik enter, coba ketikkan konsol ~C. Ini adalah urutan kontrol dalam sesi yang memungkinkan Anda untuk membuat perubahan pada koneksi yang ada.

 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. 

Di sini Anda dapat melihat bahwa kami mengalihkan port lokal 1445 kami ke host Windows 2003 yang kami temukan di jaringan internal. Sekarang jalankan msfconsolesaja dan Anda dapat melanjutkan (dengan asumsi Anda berencana untuk menggunakan host ini).

Penyelesaian


Contoh, tip, dan perintah ini sshharus menyediakan titik awal; Informasi lebih lanjut tentang masing-masing perintah dan fitur yang tersedia pada halaman bantuan ( man ssh, man ssh_config, man sshd_config).

Saya selalu terpesona oleh kemampuan untuk mengakses sistem dan menjalankan perintah di mana saja di dunia. Mengembangkan keterampilan Anda dalam bekerja dengan alat-alat seperti sshAnda akan menjadi lebih efektif dalam permainan apa pun yang Anda mainkan.

Source: https://habr.com/ru/post/id435546/


All Articles