Posts for: #Research

CVE-2024-12741 NI DAQExpress Remote Code Execution

CVE-2024-12741

Affected Versions: DAQExpress 5.1 and all prior versions.

NI (National Instruments) firmasi tarafindan gelistirilen sensorlerden olcum ve cihazlardan veri toplamak icin kullanilan bir yazilimdir.

LOAD

Analysis

Daqexpress urununu incelerken birden fazla deserialize acigi ile karsilastim (xamlreader,binaryformatter) bugun bunlardan BinaryFormatter olanini analiz edecegiz.

Uygulama birden fazla ozellik ile calisiyor bizim ilgilendigimiz kisim kullanicidan bir proje dosyasi alip onu islemesi.

Deserialize

LOAD

  1. BinaryFormatter sinifini tanimliyor.
  2. serializedValue stringini base64 decode ediyor.
  3. DataValueSerializer classinin CompressionMethod enumuna gore compression none mi gzip mi kontrol ediyor, eger compression gzip ise onu gzipten cikartip deserialize ediyor.
  4. Compression None ise direk deserialize ediyor.

DataItem

LOAD

CVE-2024-12106 Pre-Auth Evil LDAP and Password Theft

CVE-2024-12106

Affected Versions: 23.1.1 to 24.01 Build 2177.

WhatsUpGold Progress firmasi tarafindan gelistirilmis network monitoring aracidir. Bu yazi WhatsUpGold Unauth Series serisinin devamidir. CVE.ORG

LOAD

Authentication Mechanism

WhatsLogin

WhatsUpGold urunun birden fazla authentication sistemi bulunmaktadir bunlardan bazilari OpenIdConnect,Ldap,Active Directory gibi otomatik sistemlerdir.

Kullanici giris islemini baslattiginda backend bolumunde kullanicinin local user mi (database) yoksa ldap-active directory useri mi kontrolunu saglar eger databasede GlobalSettings tablosunda ldap fieldi varsa oradaki servere istek atar bu kullanici var mi? eger kullanici yoksa database’ye sorar. Sistem arka tarafta bu sekilde calismaktadir.

Geolocator PHP Object Injection

CVE-2024-52443 Geolocator

Geolocator wordpress eklentisidir. Eklenti gelen ziyaretcilerin ip adreslerine(lokasyonuna) gore icerik gosterip gizleyebileceginiz ozellik sunar. wordfence adresinde bildirilmis. Eklenti:https://wordpress.org/plugins/geolocator/

LOAD

PHP Object Injection

Guvenli olmayan veya kullanici tarafindan degistirilebilen unserialize() fonksiyonunun kullanimindan kaynakli guvenlik aciklari.

PHP.NET unserialize()

Unserialize

geolocator_location cookie adi var mi kontrol ediyor eger varsa unserialize ediyor stripslashes fonksiyonu sadece ters slashlari siliyor ornek abc\\'test => abc'test else kismi ile isimiz yok unserialize ile ilgileniyoruz.

LOAD

Sql Injection

Unserialize fonksiyonunu inceledik cookie ile direk bizden veri alabiliyor. Sql injection kismina bakalim geolocator_country() kismi, koda ilk bakista eger ek bir kosul vs yoksa ve kullanici ile etkilesime giriyorsa en basit sql injection acigi mevcut.

Schneider EcoStruxure Data Center XXE

Schneider EcoStruxure Data Center Solutions

Schneider EcoStruxure Data Center Solutions veri merkezlerinde kullanilan alt yapi, enerji yonetim otomasyonudur. Bu urunu zdi’da gordum incelemek istedim, kurulumunu rahat yapabildigim nadir urunlerden…

LOAD

AJP Proxy

Ajp Apache JServ Protocol, apache http sunucusu ile java tabanli uygulama sunuculari (tomcat vs.) arasindaki iletisimi saglamak icin kullanilan bir protokoldur. Ajp proxy web serverdan istekleri alip bu istekleri arka plandaki java uygulamalara yonlendirir. EcoStruxure urunune ait alt tarafta ajp configi bulunmaktadir.

Sql Server Sad Agent

Sql Server Sad Agent

Sql server hepimizin bildigi Microsoft tarafindan gelistirilen veritabani yonetim sistemidir.

Sad Agent

Sql serverda birden fazla ozellik vardir bunlardan biri olan Sql Agent bugun onu inceleyecegiz. Sql Agent veritabani yonetimi ile ilgili zamanlanmis islemleri otomatize eden bir aractir.

Microsoft.SqlAutoAdmin.SqlAutoAdmin

Sql Agent islemlerini yapan dll Microsoft.SqlAutoAdmin.SqlAutoAdmin.dll bu dll smartbackup,jobs vs ozellikleri barindiran dll.

LoadTaskAgentAssembly

SmartAdminManager’de bulunan LoadTaskAgentAssembly metoduna bakalim.

private Assembly LoadTaskAgentAssembly(SmartAdminManager.TaskAgentDescriptor taskAgentDescriptor)
		{
			Assembly assembly = null;
			string text = taskAgentDescriptor.binaryName;
			if (!string.IsNullOrEmpty(taskAgentDescriptor.binaryPath))
			{
				text = taskAgentDescriptor.binaryPath + "\\" + text;
			}
			try
			{
				this.DebugLog("SmartAdminManager: Trying to load task assembly from " + text + "\n");
				assembly = Assembly.LoadFrom(text);
			}
			catch (FileNotFoundException)
			{
				this.DebugLog("SmartAdminManager: Assembly not found at " + text + "\n");
			}
			if (null == assembly)
			{
				FileInfo fileInfo = new FileInfo(Assembly.GetExecutingAssembly().Location);
				text = fileInfo.DirectoryName + "\\" + taskAgentDescriptor.binaryName;
				try
				{
					this.DebugLog("SmartAdminManager: Trying again to load task assembly from " + text + "\n");
					assembly = Assembly.LoadFrom(text);
				}
				catch (FileNotFoundException)
				{
					this.DebugLog("SmartAdminManager: Assembly not found at " + text + "\n");
				}
				if (null != assembly)
				{
					taskAgentDescriptor.binaryPath = fileInfo.DirectoryName;
					this.UpdateTaskAgentPath(taskAgentDescriptor);
				}
			}
			return assembly;
		}

Burada kodu incelemeye baslamadan once dikkat etmemiz gereken TaskAgentDescriptor nested struct var onda da bakalim.

WhatsUp Gold Unauth Series

WhatsUp Gold Unauth Series

WhatsUp Gold Progress firmasi tarafindan gelistirilmis network monitoring aracidir, bu urunu incelemeye basladigimda buldugum aciklari bildirmek icin biraz gec kaldim, elimde sadece daha once yazdigim bu yazi kaldi, yaziyi da duzenleyip, detaylandirip paylasiyorum. Bu aciklardan bir kac tanesini SinSinology (blogu) summoning.team adli ve diger arastirmaci arkadaslar blog olarak yayinladi bende kendi buldugum kadariyla paylasmak istiyorum keyifli okumalar.

LOAD

Not: WhatsUp Gold’un eski surumu oldugu icin tekrar indiremedim eski exesi duruyormus fakat lisans problemi vs ile karsilastim bu yuzden yazimda eski oldugu icin bazi kodlar eksik.

Schneider Electric Remote Code Execution

Schneider Electric Remote Code Execution (CVE-2023-3001)

Schneider Electric’in IGSS (Intelligent Graphical Scada System) yazilimi, endustriyel otomasyon ve kontrol sistemleri icin kullanilan bir SCADA (Supervisory Control and Data Acquisition) platformudur.

Schneider Electric Dashboard

Ilk once IGSS’nin kendi processine bakiyorum IGSSMaster.exe dnspy ile biraz baktiktan sonra diger modullerine bakiyorum alarm,dashboard,job scheduler,maintenance vs…

IGSS

Dashboard.exe!

Bu exeyi biraz inceledigimde IGSS’nin .DASH adinda proje dosyasini editleme, yeniden olusturma, varolan bir dash dosyasini acma gibi ozellikleri var. Burada dikkat ceken yerler save ve load methodlaridir;