Anlayabildiğim kadarıyla, bu WSL'de bir hata. Umarım, Microsoft bunu bir sonraki derlemede düzeltir. Ama şimdilik, bu biraz çirkin hack'i kullanabiliriz.
Güncelleme # 1 : Kesinlikle bir hata. Bulunan bu sorunu Github. Eğer tüm bunlardan geçmek istemiyorsanız, kabuğun yeniden başlatılması için önerilen geçici çözüm benim için de işe yarıyor.
TL; DR SSH yapılandırmanızı SONLANDIRmak için bunu ekleyin (genellikle adresinde bulunur ~/.ssh/config
):
Host *
ProxyCommand nc %h %p %r
Neden çalışıyor: SSH sorunumuz bir güvenlik duvarı sorunu değil nc
ve telnet
aynı ana bilgisayar ve bağlantı noktasında çalışıyor (deneyin telnet <host> <port>
veya nc <host> <port>
: gibi bir şey görmelisiniz SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
). Bunu kendi yararımıza kullanabiliriz.
SSH, standart girdi alan ve ProxyCommand
seçenek üzerinden sunucunun bağlantı noktasına gönderen proxy'lerin kullanılmasına izin verir . Bu, normalde, bazen atlama ana bilgisayarı olarak adlandırılan bir arasında geçişli SSH sunucusu kullanarak ağları korumalı bir ana bilgisayara tünellemek için kullanılır ( daha fazla bilgi için bu bağlantıya bakın ).
Bu saldırı, SSH'ye atlama ana bilgisayarı barındırmayan bir proxy kullanmasını söyler. Böylece, tüm ağ kaynağı tahsisini çalıştıran Netcat'e iterek SSH'nin başarısız TCP kaynakları dağıtımını aşar. SSH, SSH işini herhangi bir ağ bağlantısı olmadan yapar ve Netcat, ham veriyi bir TCP bağlantısı üzerinden SSH sunucusuna gönderir.
UYARI: Bu ProxyCommand
, tüm ana bilgisayarlar için değiştirildiğinden, kullanılan diğer SSH yapılandırma ana bilgisayarlarıyla nasıl etkileşime girdiğini bilmiyorum ProxyCommand
. Bunu test edebileceğim birkaç sunucum var ve bu cevabı sonuçlarla güncelleyeceğim. Zararlı yan etkilerin olmaması ihtimali vardır, ancak bunu garanti edemem.
Güncelleme # 2: Birkaç sunucumla bazı testler yaptım ve bu işe yarıyor gibi görünüyor. Birden çok giriş uygulandığında SSH, yapılandırmadaki en üstteki girişi kullanır. Böylece, ProxyCommand
bu saldırının üstünde mevcut bir hediye onu geçersiz kılar. Yeni SSH komutu yürütüldüğünde, SSH yapılandırmasını yeniden okur ve başka bir şey yoksa ProxyCommand
, SSH hackimizi kullanır ProxyCommand
ve yalnızca "en dıştaki" SSH oturumuna uygulanmasına izin verir. Uyarı kelimesi: hack'i yapılandırma dosyasının üstüne (veya SSH'ye çalıştığınız girişin üstüne) koyarsanız, a gerektiren SSH oturumları ProxyCommand
diğerini yok sayar ProxyCommand
ve bunun yerine ana bilgisayarın adresini çözmeyi ve bağlanmayı dener doğrudan Netcat ile.