
Özet
2023 yılının sonlarında güvenlik araştırmacıları, Cisco IOS XE Web UI'yi etkileyen ve kimliği doğrulanmamış saldırganların etkilenen cihazların tam kontrolünü ele geçirmesine olanak tanıyan kritik bir zincirleme güvenlik açığını ortaya çıkardı. Saldırı zinciri, birlikte kullanıldığında IOS XE çalıştıran temel Linux ana bilgisayarında kök düzeyinde komut yürütülmesine yol açan iki güvenlik açığını ( CVE-2023-20198 ve CVE-2023-20273 ) birleştirir. Bu da cihazın tamamen ele geçirilmesini, kalıcı erişimi ve kurumsal ağlarda potansiyel yanal hareketi mümkün kılmaktadır.
- CVE-2023-20198: Cisco IOS XE Software 16.0.x ile 17.9.x arasındaki sürümlerinde bulunan bu güvenlik açığı, kimliği doğrulanmamış saldırganların ilk erişim elde etmesine ve Web UI aracılığıyla bir ayrıcalık düzeyi 15 (yönetici) hesabı oluşturmasına olanak tanır. Bir kez oluşturulduktan sonra, saldırgan cihaz üzerinde herhangi bir yönetim eylemi gerçekleştirebilir ve ciddi bir güvenlik riski oluşturur.

- CVE-2023-20273: Aynı yazılım sürümlerini etkileyen bu güvenlik açığı, seviye 15 ayrıcalıklarına sahip kimliği doğrulanmış kullanıcıların, yazılım yönetimi bileşenindeki bir komut enjeksiyonu kusuru aracılığıyla temel Linux işletim sisteminde kök ayrıcalıklarıyla keyfi komutlar yürütmesine olanak tanır.

OPSWAT Burs Programı sırasında, Bursiyerlerimiz Hoa X.Nguyen ve Nhan Nguyen, bu saldırı zincirinin derinlemesine bir teknik analizini gerçekleştirdiler. Araştırmamızda, güvenlik açıklarını IOS XE 17.01 çalıştıran bir Cisco Catalyst 9300-24T-E anahtarında yeniden ürettik ve gerçek dünya koşullarında tam sistem tehlikesi elde etmek için kusurların nasıl zincirleme olarak bir araya getirilebileceğini gösterdik.
Arka plan
Cisco IOS XE'ye Genel Bakış

Cisco IOS XE, yönlendiriciler, anahtarlar ve kablosuz denetleyiciler dahil olmak üzere Cisco'nun kurumsal platformlarının çoğuna güç veren modern, modüler bir ağ işletim sistemidir. Klasik Cisco IOS'un zengin işlevselliğini daha güvenli, programlanabilir ve Linux tabanlı bir mimari ile birleştirerek ağ yöneticilerine esneklik ve gelişmiş performans sağlar.
IOS XE, özünde IOSd (IOS Daemon) adı verilen ana işlemi barındıran bir Linux işletim sistemi olarak çalışır. Bu daemon yönlendirme, CLI yönetimi ve yapılandırma kontrolü gibi geleneksel ağ görevlerini yerine getirir. IOS XE 17.01'de IOSd ikili dosyası /usr/binos/bin/x86_64_crb_linux_iosd_ngwc-universalk9-ms adresinde bulunur.
Eski Cisco Sistemlerinin aksine, SSH üzerinden bağlanan IOS XE kullanıcıları, altta yatan Linux ortamı yerine kısıtlı bir IOSd alt sistem kabuğuna yerleştirilir. Bu tasarım, işletim sisteminin gerçek kök seviyesi erişimini izole ederek kullanıcı etkileşimleri ile ana bilgisayar çekirdeği arasındaki genel güvenlik sınırını önemli ölçüde güçlendirir.
Cisco Ayrıcalık Düzeyleri
Cisco cihazları, kullanıcı izinlerini kontrol etmek için hiyerarşik bir ayrıcalık modeli uygular:
- Seviye 0 - Sıfır seviye erişim: Bu en kısıtlı seviyedir. Genellikle yalnızca oturum kapatma, etkinleştirme, devre dışı bırakma, yardım ve çıkış gibi sınırlı sayıda temel komuta izin verir.
- Seviye 1 - Kullanıcı EXEC modu: Standart oturum açma işlemleri için varsayılan erişim, temel sistem görüntülemeye izin verir ancak yapılandırma değişikliği yapmaz.
- Seviye 15 - Ayrıcalıklı EXEC modu: Bu en yüksek ayrıcalık seviyesidir ve cihaz üzerinde tam kontrol sağlar. Bu seviyedeki kullanıcılar yapılandırma komutları da dahil olmak üzere tüm komutları çalıştırabilir ve cihazı yeniden yükleyebilir.
Ara seviyeler (2-14) belirli izinler vermek üzere özelleştirilebilir. Ayrıcalıklar devralınır, yani daha yüksek seviyelerdeki kullanıcılar otomatik olarak daha düşük seviyelerin haklarına sahip olur.
Cisco Web UI Mimarisi
Cisco IOS XE Web UI, cihazları yönetmek ve izlemek için tarayıcı tabanlı bir arayüz sağlar - komut satırı erişimi gerektirmeden yapılandırma ve tanılama özellikleri sunar. dahili olarak, Web UI, kullanıcı isteklerini Web Hizmetleri Yönetim Aracısı (WSMA) dahil olmak üzere çeşitli dahili hizmetlere yönlendirmek için NGINX'i bir ara katman proxy'si olarak kullanır.
WSMA bileşeni, Web UI ile temel IOSd daemon arasında bir iletişim köprüsü görevi görür ve web tabanlı eylemleri ilgili IOS XE yapılandırma komutlarına çevirir.

Erişim kontrolünü uygulamak için, her istek SOAP tabanlı kimlik doğrulamasına ve özel bir HTTP başlığı (Priv-Level) aracılığıyla ayrıcalık doğrulamasına tabi tutulur ve yalnızca yetkili kullanıcıların ayrıcalıklı işlemleri gerçekleştirebilmesini sağlar.

Teknik Analiz
CVE-2023-20198 - Kimlik Doğrulama Bypass'ı ve Ayrıcalık Eskalasyonu
Arkadaşlarımız güvenlik açığının Cisco IOS XE'nin Web UI HTTP uç noktasından kaynaklandığını keşfetti. Gelen talepleri işlerken, Web UI komutları ve ilgili kullanıcı izinlerini dahili bir uç noktaya (/lua5) iletir ve bu uç nokta daha sonra NGINX tarafından protokole bağlı olarak /webui_wsma_http veya /webui_wsma_https olmak üzere iki WSMA işleyicisinden birine yönlendirilir.


IOSd ikili dosyasının statik analizi, varsayılan bir geri dönüş işleyicisi içeren bir NGINX yapılandırmasını da ortaya çıkarır:

Güvenlik açığı, NGINX ve IOSd 'nin URL kodlamasını işleme biçiminden kaynaklanmaktadır. Her iki bileşen de URL yollarının kodunu bağımsız olarak çözerek bir saldırganın çift kodlama atlamasından yararlanmasına olanak tanır.
Örneğin, /webui_wsma_https, /%2577ebui_wsma_https olarak gönderilirse, NGINX tek bir kod çözme işlemi gerçekleştirir ve /%77ebui_wsma_https(korumalı dahili yolla doğrudan eşleşmez) görür, bu nedenle isteği daha az kısıtlayıcı bir geri dönüş işleyicisi aracılığıyla gönderir. İstek IOSd arka ucuna ulaştığında, IOSd ikinci bir kod çözme işlemi gerçekleştirir ve yolu /webui_wsma_https olarak çözümler.

NGINX başlangıçta bu hatalı biçimlendirilmiş isteği varsayılan işleyicisini kullanarak yönlendirdiğinden, normal kimlik doğrulama ve erişim denetimi mantığını uygulayamaz. Sonuç olarak, saldırgan kendisine yönetici düzeyinde (15) ayrıcalıklar atayan sahte bir Priv-Level başlığı ekleyebilir. Yeni bir kullanıcı oluşturma komutu taşıyan bir SOAP XML yükü ile birleştirildiğinde, bu, yüksek ayrıcalıklı bir yerel hesabın sessizce oluşturulmasıyla sonuçlanır.

Bu istismar önceden kimlik doğrulaması gerektirmez ve saldırgana Web UI aracılığıyla cihazın tam yapılandırma kontrolünü sağlayarak saldırı zincirinin ilk aşamasını oluşturur.
CVE-2023-20273 - Software Yönetiminde Komut Enjeksiyonu
Yeni oluşturulan yönetici hesabıyla kimlik doğrulaması yapıldıktan sonra saldırgan, yazılım yönetimi bileşenindeki (/webui/rest/softwareMgmt/*) bir komut enjeksiyonu güvenlik açığı olan CVE-2023-20273'ten yararlanabilir. Bu uç nokta, meşru yöneticilerin cihaza yazılım paketleri yüklemesi veya güncellemesi için tasarlanmıştır.
Hata, istekte sağlanan IP adresini doğrulamak için validator.validateIPv4IPv6HostNameAddress (req .ipaddress) öğesini çağıran validateSmuRequest (req) işlevindeki girdi doğrul ama mantığından kaynaklanmaktadır. Bu doğrulama adımı, sağlanan adresin doğru biçimlendirildiğinden ve kullanımının güvenli olduğundan emin olmak için tasarlanmıştır.
validateIPv4IPv6HostNameAddress içinde doğrulama, IPv6 sözdizimi uyumluluğunu değerlendirmek için utils.isIPv6Address(ip) yardımcı rutinine dayanır. Bu işlev, girdiyi iki nokta üst üste (:) işaretlerine bölerek ve her bir parçayı geçersiz onaltılık desenleri veya aralık dışı değerleri reddetmeyi amaçlayan düzenli bir ifadeyle değerlendirerek ayrıştırmaya çalışır. Uygulama hatası bu düzenli ifadede yatmaktadır: aşırı izin verici bir * niceleyici nedeniyle, herhangi bir girdiyle eşleşir ve hatalı biçimlendirilmiş veya kötü amaçlı değerlerin doğrulamayı kontrol edilmeden geçmesine etkili bir şekilde izin verir.

Sonuç olarak, saldırgan tarafından kontrol edilen veriler geçerli olarak kabul edilir ve komut yapımında kullanıldığı aşağı akış mantığına akar. Güvenilmeyen IP adresi değeri sonunda runPexecCommand() işlevi içinde bir TFTP isteği başlatan bir sistem komutu oluşturmak için kullanılır. Bu işlem girdi doğrulaması veya kaçış olmadan gerçekleştiğinden, bir saldırgan sürece rastgele komutlar enjekte edebilir, bu da yükseltilmiş ayrıcalıklarla komut yürütülmesine ve Cisco cihazının tamamen ele geçirilmesine yol açabilir.

Kavram Kanıtı (PoC)
OPSWAT Burs Programı sırasında, Bursiyerlerimiz Hoa X. Nguyen ve Nhan Nguyen, IOS XE 17.01 çalıştıran bir Cisco Catalyst 9300-24T-E üzerinde kontrollü, hava boşluklu bir laboratuvarda zincirleme istismarı yeniden üretti. İstismar dizisi aşağıdaki aşamalarla özetlenebilir:

- Çift kod lu istek: proxy geri dönüşü üzerinden yönlendirilen ve sahte bir Priv-Level başlığı ve hesap oluşturma SOAP yükü içeren çift kodlu bir dahili yola (ör. /%2577ebui_wsma_https) özel olarak hazırlanmış bir POST gönderin.
- Yönetici oturumu kazanın: oluşturulan hesapla oturum açın ve oturum/CSRF belirteçlerini toplayın.
- Yükü yükleyin: attacker_shell.sh dosyasını cihaza yerleştirmek için Web UI yüklemesini kullanın (yalnızca yönetici eylemi).
- SMU aracılığıyla çalıştırma: hazırlanmış bir ipadresi ile bir SMU isteği gönderin (örn, 100:100:100:$(/bin/sh /bootflash/attacker_shell.sh)); doğrulama atlanır ve yüklenen betik root olarak çalıştırılır.

İyileştirme
Cisco, Cisco IOS XE Software hem CVE-2023-20198 hem de CVE-2023-20273'ü ele alan yamalı sürümlerini yayınladı. Etkilenen 16.0.x ila 17.9.x sürümlerini çalıştıran tüm kuruluşlar, Cisco'nun resmi güvenlik danışmanlığında belirtildiği gibi derhal en son düzeltilmiş sürüme yükseltmelidir. Bu güncellemelerin uygulanması, altta yatan güvenlik açıklarını etkili bir şekilde ortadan kaldırır ve Web UI aracılığıyla yetkisiz ayrıcalık yükseltme veya komut enjeksiyonunu önler.
Acil yükseltmenin mümkün olmadığı ortamlar için yöneticiler, güvenilmeyen ağlardan Web UI erişimini kısıtlamalı veya devre dışı bırakmalı, yönetim arayüzleri için sıkı kimlik doğrulama denetimleri uygulamalı ve yetkisiz hesap oluşturma veya anormal yapılandırma değişiklikleri gibi olağandışı sistem davranışlarını sürekli olarak izlemelidir.
Genel siber dayanıklılığı güçlendirmek için kuruluşlar, dosyalar, cihazlar ve veri akışları genelinde tehditleri tespit edip önleyerek kritik altyapıyı korumak için tasarlanmış birleşik bir güvenlik çerçevesi olan OPSWAT'ın MetaDefender Platformu ile satıcı yamalarını tamamlayabilirler. MetaDefender 'ı ağ ve operasyonel iş akışlarına entegre etmek görünürlüğü artırır, daha derin tehdit incelemesi sağlar ve yönetim sistemlerini hedef alan potansiyel istismar girişimlerine karşı ek bir koruma sağlar.
Kuruluşlar, zamanında Cisco güncellemeleri, sağlam erişim kontrolleri ve MetaDefender Platformu tarafından desteklenen katmanlı bir savunma stratejisini birleştirerek benzer istismar zincirlerine maruz kalmayı önemli ölçüde azaltabilir ve daha güçlü, daha esnek bir güvenlik duruşu sağlayabilir.
