ActiveX Nedir? ActiveX ile Neler Yapılabilir? - 2

activex.gif

Yazı dizisinin ilk bölümüne buradan ulaşabilirsiniz.

.Net uygulamalarından sonra eski popülerliğini taşımasa da hala activeX bir çok programcının vazgeçilmezi ve hala kullanımı oldukça yaygın.

ActiveX bir çok platform arasında bağlantı kurarak isteklerimize karşılık vermekte. Internet Explorer, delphi, visual basic, Office ailesi ve bir çok platform’daki özellikleri birbiri içinde kullanabilmemize yardımcı olmakta.

OCX yada DLL uzantılı olabilen ActiveX dosyaları içerlerinde birden çok nesne barındırabilirler.

ActiveX kayıtlarının tamamı Registry'de (Başlat/Çalıştır/regedit) tutulur ve bütün tanımlamalar burada yapılır. Bilgisayarınızdaki bütün ActiveX sınıf adlarını Registry'de HKEY_CLASSES_ROOT dizini altında bulabilirsiniz.

Registry'de kayıtlı bir ActiveX dosyasını bulmak için CLSID anahtarındaki değeri takip etmek gerekiyor. 32 karakter uzunluğundaki bu değer GUID şeklinde adlandırılıyor. Her ActiveX'in mutlaka bir GUID değeri vardır.
Hangi .dll dosyasının hangi yazılımda kullanıldığını da regedit içinde GUID’ini inceleyerek anlayabiliriz.


Resim 1 : Kayıt Defteri altında herhangi bir GUID değerinin içeriği

C:\Program Files\Common Files\Ahead\Lib\NMTVServices.dll dosyası ADODB.Connection sınıfını içeriyor.

.Dll dosyalarını ve kütüphane dosyalarını incelemek için mutlaka Visual Basic programını bilgisayarınıza yüklemek gerekmez. Herhangi bir Office sayfasında (Word, Excel, Power Point) ALT+F11 tuş kombinasyonu ile Microsoft Visual Basic’i görüntüleyebilirsiniz.
Daha sonra üst menüden Tools/references sekmesine tıklarsanız çeşitli kütüphane seçeneklerini bulabilirsiniz.


Resim 2 : References altındaki ActiveX Data Objects (ADO) kütüphaneleri

View/Object Browser Sekmesinden seçtiğimiz kütüphanelere ait class (sınıf)’ları görebiliyoruz. Örnek vermek gerekirse Nokia PC Suite programının bir dll’ini inceleyelim. (C:\Program Files\Common Files\Nokia\Adapters\SCM3aS.dll)
** Önce references bölümünden Nokia Phonebook Adapter Kütüphanesini seçmeniz gerekiyor.


Şekil 3 : Nokia Phonebook Adapter altındaki SCM3aS.dll dosyası.

ActiveX Denetimleri Nasıl Yüklenir?

Bir program setup’unun içinde otomatik olarak yüklenebildiği gibi manuel olarak da activeX’leri yükleyebiliriz. Manuel olarak yükleme için regSvr32’yi kullanırız.


Åžekil 4 : RegSvr 32 Usage Kutusu

Bunlara ek olarak .reg (Regedit yani kayıt defteri dosyası) isimli bir dosyaya aşağıdaki örnek kullanımı uygulayarak kayıt defterine register etme işlemini yapabiliriz.

REGEDIT4
; ActiveX DLLs
[HKEY_CLASSES_ROOT\.dll]
@="dllfile"
[HKEY_CLASSES_ROOT\dllfile\shell\regdll]
@="Register ActiveX DLL"
[HKEY_CLASSES_ROOT\dllfile\shell\regdll\command]
@="regsvr32.exe \"%L\""
[HKEY_CLASSES_ROOT\dllfile\shell\unregdll]
@="Unregister ActiveX DLL"
[HKEY_CLASSES_ROOT\dllfile\shell\unregdll\command]
@="regsvr32.exe /u \"%L\""
; ActiveX Controls
[HKEY_CLASSES_ROOT\.ocx]
@="ocxfile"
[HKEY_CLASSES_ROOT\ocxfile\shell\regocx]
@="Register OCX Control"
[HKEY_CLASSES_ROOT\ocxfile\shell\regocx\command]
@="regsvr32.exe \"%L\""
[HKEY_CLASSES_ROOT\ocxfile\shell\unregocx]
@="Unregister OCX Control"
[HKEY_CLASSES_ROOT\ocxfile\shell\unregocx\command]
@="regsvr32.exe /u \"%L\""
; ActiveX EXEs
[HKEY_CLASSES_ROOT\.exe]
@="exefile"
[HKEY_CLASSES_ROOT\exefile\shell\regexe]
@="Register ActiveX EXE"
[HKEY_CLASSES_ROOT\exefile\shell\regexe\command]
@="cmd /c \"%L\" /regserver"
[HKEY_CLASSES_ROOT\exefile\shell\unregexe]

Yukarıda ki kodları boş bir not defteri dosyasına yapıştırıp, kendinize uygun olarak düzenledikten sonra istediğinizisim.reg olarak kayıt edip uzantısını .reg yaptıktan sonra çalıştırırsanız kayıt defterine register işlemini tamamlamış olursunuz.

*UYARI* : Bir çok crack dosyasının içinde crack.reg şeklinde regedit dosyaları bulunmakta ve crack işlemini tamamlamak için bunları çalıştırmanız gerektiği söylenmekte. Cracker’ların bu işlemle kayıt defterinizde istediği değişikliği yapabileceğini unutmayınız.

Yine başka bir yöntem olarak Başlat/Çalıştır/cmd ile komut sistemini açınız. Register edileceği yere koyduğunuz .dll dosyasının bulunduğu klasöre gidiniz. Regsvr32 registeredilecekdll.ocx (veya .dll) yazıp enter’ladığınızda register edilmiş olacaktır.

Son olarak konudan fazla kopmadan 2 ufacık ücretsiz program ile de bu işi yapabileceğinizi söyleyip register etme konusunu geçiyoruz.


Şekil 5 : Register edilecek dosyayı ‘Browse’ ile bulup ‘Register’e tıklayarak kayıt ettirebilirsiniz.


Şekil 6 : Bu ufacık .dll veya .ocx dosyasını program’da + işaretinin üstüne sürüklediğinizde kayıt olur. – işaretinin üstüne sürüklediğinizde ise silinir.

Yazılımlara arama motorlarından ücretsiz olarak ulaşabilirsiniz.

Web Sayfalarında ki Plug-İn (ActiveX) Örnekleri

Meraklı kullanıcılar aşağıdaki satırlara gezdiği sayfaların kaynak kodlarını görüntülerken mutlaka rastlamıştır :

<object classid="clsid:S87CZB6O-A26D-11Af-96AA-449127654000"
        codebase="http://download.macromedia.com/pub/
                      shockwave/cabs/flash/swflash.cab#version=4,0,2,0"
        width="300"
        height="60"
        align="right">
  <param name="movie" value=/webfiles/file/intro.swf>

Peki ne bunlar? Classid = ‘ … ’ tırnak işaretleri arasındaki kısım daha önce bahsettiğimiz ‘CLSID’ ye ne kadar çok benziyor değil mi? O halde bu kodlar activeX mi belirtiyor? Kesinlikle evet !

type="application/x-shockwave-flash"

Satırından anlaşılacağı üzere aslında basit bir flash ögesi bile ‘application’ olarak nitelendiriliyor. Şu an application kelimesini görünce tecrübeli bir çok kullanıcının aklına aynı şey gelmiştir ‘GÜVENLİK’.

O halde biraz güvenlikten bahsedelim. Norton İnternet Security’nin 2006 yılında yaptığı araştırmanın sonuçları çarpıcı :


Şekil 7 : NİS tarafından 2006’da yapılan araştırma sonucunda yıllara göre activeX kaynaklı zaafların sayısı.

2006 yılında activeX yüzünden 50 zaaf (vulnerable) ortaya çıkmış ve grafik sürekli artış halinde. Tam olarak sayısını bilmemekle beraber bu yıl ve geçen yıl 100’den fazla activeX güvenlik açığı olduğunu tahmin ediyorum. Özellikle Facebook, Yahoo ve MySpace’de activeX kaynaklı oluşan güvenlik sorunları için yetkili kişi olmamasına rağmen Microsoft Technet ve Support el ele vererek KillBit isimli bir program yayınlamıştı.


Şekil 8 : KillBit. (Şubat 2008’de ünlü sitelerde activeX ortaya çıkan zaaflar için yayınlandı.)

KillBit hakkında en detaylı bilgi

Yine activeX’in en tepede olduğu yıllarda Norton’un çeşitli güvenlik açıklarını fixlemek için çıkardığı ufacık tool’u :


Åžekil 9 : Symantec Support Tool ActiveX Control Cleanup Tool

Zararlı activeX kontrollerini bulup temizlemeye yarayan ActiveX Control Removal Tool 1.0 ile o dönemlerde ufak tefek güvenlik sorunları bulunup düzeltilmişti.

Symantec Support Tool ActiveX Control Cleanup Tool

ActiveX Auditing Tools

Özetle ;

  1. Microsoft Ole/COM Viewer (OleView)
  2. Registry Monitor
  3. ActiveX Manager
  4. Microsoft ActiveX Control Pad
  5. ActiveX Compatibility Manager
  6. Procmon

1) Microsoft Ole/COM Viewer (OleView)

Download

C:\Program Files\Resource Kit altında bulabileceğiniz program ile OLE/COM nesnelerine detaylı bir inceleme yapabilirsiniz.

En geniş sekmelerden biri olan Object Classes sekmesi altında hangi uygulamanın hangi componenti kullandığını, bu component’lerin hangi dll’le ilişkili olduğunu, componentlerin ClassID’sini, Erişim ve Çalıştırma Perm’lerini Remote bir makineda çalışma ayarlarını, Registry içinde ki konumlarını ve detaylarını görebilirsiniz.

Application ID’s sekmesi altında sisteminizde yüklü olan uygulamaların GUID’lerini ayrı ayrı görebilirsiniz.

Type Library sekmesi altında hangi programın hangi dll’i kullandığı, GUID değerini, dll dosyasının konumunu görebilirsiniz.


Åžekil 10 : Microsoft Ole/COM Viewer

Programın güzelliklerinden biride özel ve genel olarak 2 çeşit yetkilendirme yapabilmeniz.


Şekil 11 : Detaylı yetkilendirme seçenekleri ile class’lara uygun perm verebilir yani ipleri tam anlamıyla elinize alabilirsiniz.

2) Registry Monitor

Download

Milisaniye gibi değerler içinde sisteminizde neler olup bittiğini görmek için yazılmış hoş bir program. Abartı unsuru içermeden milisaniyelik capture yapmakta. CTRL+E (capture events) ile sistem bilgisi almayı kesip net bir şekilde listeyi inceleyebilirsiniz.

Hangi program, registry’nin neresine, hangi portu kullanarak ne değişiklik yapmış görebilirsiniz.

Manuel olarak registry ile uğraşmamak için üst kısımdaki registry ikonuna tıklayarak ilgili event’in yaptığı değişikliği veya kullandığı satıra doğrudan gidebilirsiniz.

** 48 saniyede 37000 işlem yapıldığını göz önünde bulundurursak güvenlik yazılımlarının işimizi ne kadar kolaylaştırdığını anlayabiliriz.


Åžekil 12 : 48 saniyede 37000 iÅŸlem (:

3) ActiveX Manager

Download

Çeşitli activeX denetimlerini kontrol edebileceğiniz kullanımı basit bir program. Denetimleri register veya unregister edebilisiniz. HTML çıktısı şeklinde rapor alabilirsiniz.

4) Microsoft ActiveX Control Pad (ActiveX denetimlerini web sayfasına dahil etmek!)

Download

Web üzerinden yapılan activeX saldırılarının nasıl yapıldığına dair fikriniz olması açısından bu programı incelemeniz şiddetle tavsiye edilir. Bu yazılım ile istenilen denetimi sayfaya aktarmak çok kolay.


Şekil 13 : Web Sayfalarına activeX denetimlerini dahil etmek için pratik Windows tool’u.

5) ActiveX Compatibility Manager

Download

ActiveX manager ile aynı işi yapan program.

6) Procmon

Download

Regmon yazılımının daha detaylı sürümüne benzetebiliriz. Yine bir Windows yazılımı (sysinternals).

  • Event’leri detaylı ÅŸekilde depolayabiliyor (geniÅŸ bir harddisk alanı gerekmekte)
  • CTRL+J ile belirtilen process’in doÄŸrudan kayıt defteri deÄŸerine zıplayabiliyorsunuz.
  • Eventler ve regedit hakkında default olarak 200 milyon iÅŸlem kaydı ayarlanmış. Sistem belleÄŸinizi gereksiz yere tüketmemesi için 1 milyon iÅŸlem olarak ayarlayınız.


Şekil 14 : Event detayları. (Event-Process-Stack)


Şekil 15 : Process Tree (İşlem ağacı) Go to event ile işlem’de yapılan değişimin detaylarına, kayıt defterine yansımasına gidebilirsiniz.


Şekil 16 : Detaylı registry özeti.

Serhat DÜNDAR (FenTanyL)
2009-04-06
© Metin ve resimlerin kaynak belirtilmeden kullanılması yasaktır.

Telif Hakkı

Bu yazının telif hakkı, içeriğinde aksi belirtilmemişse yazarına aittir ©. Yazının izin alınmadan ya da kaynak gösterilmeden kopyalanması ve kullanılması 5846 sayılı Fikir ve Sanat Eserleri Yasasına göre suçtur (forum ve bloglar dahil olmak üzere). Telif haklarına aykırı bir durumla karşılaşırsanız lütfen site yetkililerine bildiriniz.