Windows Özel Klasörler : CSIDLs, KNOWNFOLDERID

Zararlı yazılım üreten ve bunu yayan kişiler genellikle başlangıçta kötücül yazılımların hedeflediği sistemle ilgili bilgi toplamayı amaç edinirler. Bunun birkaç önemli nedeni vardır :

  • sistem dosyalarını hedeflemek
  • Sistem klasöründe, uzman olmayan kişilerin anlamayacağı şekilde kopya dosyalar oluşturmak , (örneğin kernel32.dll yerine krnl32.dll gibi)
  • zararlı yazılım verilerini uzman olmayan kişilerden gizlemek gibi…
    Windows Special Folder ( Özel Klasörler ) nedir?

    Windows API’leri  programcıların özel klasör olarak adlandırabilecekleri özel yollar sunar.
    Özel klasörlere dair wikipedia’daki ( şuan kapalı olduğu için link veremiyorum… ) ingilizce açıklama da şöyle denmiştir:
    On Microsoft Windows, a special folder is a folder which is presented to the user through an interface as an abstract concept instead of an absolute folder path. (The synonymous term shell folder is sometimes used instead.) Special folders make it possible for any application to ask the operating system where an appropriate location for certain kinds of files can be found, regardless of what version or language of Windows is being used.

    Özetle Windows, aslında geliştiricilerin sistemle alakalı bilgi toplama ve uygulama geliştirme safhalarında yardımcı olmak için bazı özel yollar sunuyor. Ama maalesef bu kötüye kullanılabiliyor.

    Özel Klasörler Neyi Referans Eder ?
     Her özel klasörde, Constant Special Item ID List ( CSIDL ) olarak çağrılan bir özel sabit liste bulunur.
    CSIDL  olarak belirtiğimiz özel bilgiler aşağıdaki fonksiyonlara argüman olarak geçilebilir :
    SHGetFolderLocation
    SHGetFolderPath
    SHGetSpecialFolderLocation
    SHGetSpecialFolderPath
    Şimdi sanırım daha net anlaşılıyor.
    yukarıdaki fonksiyonlar aslında zararlı yazılım üreticilerinin sistemimizle alakalı bazı teknik bilgileri almaları için yeterli kaynaklardır.
    SHGetFolderPath ve SHGetSpecialFolderPath fonksiyonları gerçek sistem klasörü yolunu, SHGetFolderLocation ve SHGetSpecialFolderLocation ise ITEMIDLIST data yapısını verir.
    Aşağıdaki iki linkten daha detaylı bilgi alınabilir:
    CSIDL : https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494(v=vs.85).aspx
    ITEMIDLIST : https://msdn.microsoft.com/en-us/library/windows/desktop/bb773321(v=vs.85).aspx

    Sisteminizle alakalı özel klasör listesini şu basit uygulamayla da görebilirsiniz : Tıklayınız

    Ayrıca, shell ile ( çalıştır ) ulaşabileceğiniz bazı özel klasörler :
    shell:AccountPictures – %AppData%\Microsoft\Windows\AccountPictures
    shell:AddNewProgramsFolder – Control Panel\All Control Panel Items\Get Programs
    shell:Administrative Tools – %AppData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    shell:AppData – %AppData%
    shell:Application Shortcuts – %LocalAppData%\Microsoft\Windows\Application Shortcuts
    shell:AppsFolder – Applications
    shell:AppUpdatesFolder – Installed Updates
    shell:Cache – %LocalAppData%\Microsoft\Windows\INetCache
    shell:Camera Roll – %UserProfile%\Pictures\Camera Roll
    shell:CD Burning – %LocalAppData%\Microsoft\Windows\Burn\Burn
    shell:ChangeRemoveProgramsFolder – Control Panel\All Control Panel Items\Programs and Features
    shell:Common Administrative Tools – %ProgramData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    shell:Common AppData – %ProgramData%
    shell:Common Desktop – %Public%\Desktop
    shell:Common Documents – %Public%\Documents
    shell:CommonDownloads – %Public%\Downloads
    shell:CommonMusic – %Public%\Music
    shell:CommonPictures – %Public%\Pictures
    shell:Common Programs – %ProgramData%\Microsoft\Windows\Start Menu\Programs
    shell:CommonRingtones – %ProgramData%\Microsoft\Windows\Ringtones
    shell:Common Start Menu – %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
    shell:Common Startup – %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
    shell:Common Templates – %ProgramData%\Microsoft\Windows\Templates
    shell:CommonVideo – %Public%\Videos
    shell:ConflictFolder – Control Panel\All Control Panel Items\Sync Center\Conflicts
    shell:ConnectionsFolder – Control Panel\All Control Panel Items\Network Connections
    shell:Contacts – %UserProfile%\Contacts
    shell:ControlPanelFolder – Control Panel\All Control Panel Items
    shell:Cookies – %LocalAppData%\Microsoft\Windows\INetCookies
    shell:Cookies\Low – %LocalAppData%\Microsoft\Windows\INetCookies\Low
    shell:CredentialManager – %AppData%\Microsoft\Credentials
    shell:CryptoKeys – %AppData%\Microsoft\Crypto
    shell:desktop – Desktop
    shell:device Metadata Store – %ProgramData%\Microsoft\Windows\DeviceMetadataStore
    shell:documentsLibrary – Libraries\Documents
    shell:downloads – %UserProfile%\Downloads
    shell:dpapiKeys – %AppData%\Microsoft\Protect
    shell:Favorites – %UserProfile%\Favorites
    shell:Fonts – %WinDir%\Fonts
    shell:Games – Games
    shell:GameTasks – %LocalAppData%\Microsoft\Windows\GameExplorer
    shell:History – %LocalAppData%\Microsoft\Windows\History
    shell:HomeGroupCurrentUserFolder – Homegroup\(user-name)
    shell:HomeGroupFolder – Homegroup
    shell:ImplicitAppShortcuts – %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts
    shell:InternetFolder – Internet Explorer
    shell:Libraries – Libraries
    shell:Links – %UserProfile%\Links
    shell:Local AppData – %LocalAppData%
    shell:LocalAppDataLow – %UserProfile%\AppData\LocalLow
    shell:MusicLibrary – Libraries\Music
    shell:MyComputerFolder – This PC
    shell:My Music – %UserProfile%\Music
    shell:My Pictures – %UserProfile%\Pictures
    shell:My Video – %UserProfile%\Videos
    shell:NetHood – %AppData%\Microsoft\Windows\Network Shortcuts
    shell:NetworkPlacesFolder – Network
    shell:OneDrive – OneDrive
    shell:OneDriveCameraRoll – %UserProfile%\OneDrive\Pictures\Camera Roll
    shell:OneDriveDocuments – %UserProfile%\OneDrive\Documents
    shell:OneDriveMusic – %UserProfile%\OneDrive\Music
    shell:OneDrivePictures – %UserProfile%\OneDrive\Pictures
    shell:Personal – %UserProfile%\Documents
    shell:PicturesLibrary – Libraries\Pictures
    shell:PrintersFolder – All Control Panel Items\Printers
    shell:PrintHood – %AppData%\Microsoft\Windows\Printer Shortcuts
    shell:Profile – %UserProfile%
    shell:ProgramFiles – %ProgramFiles%
    shell:ProgramFilesCommon – %ProgramFiles%\Common Files
    shell:ProgramFilesCommonX64 – %ProgramFiles%\Common Files (64-bit Windows only)
    shell:ProgramFilesCommonX86 – %ProgramFiles(x86)%\Common Files (64-bit Windows only)
    shell:ProgramFilesX64 – %ProgramFiles% (64-bit Windows only)
    shell:ProgramFilesX86 – %ProgramFiles(x86)% (64-bit Windows only)
    shell:Programs – %AppData%\Microsoft\Windows\Start Menu\Programs
    shell:Public – %Public%
    shell:PublicAccountPictures – %Public%\AccountPictures
    shell:PublicGameTasks – %ProgramData%\Microsoft\Windows\GameExplorer
    shell:PublicLibraries – %Public%\Libraries
    shell:Quick Launch – %AppData%\Microsoft\Internet Explorer\Quick Launch
    shell:Recent – %AppData%\Microsoft\Windows\Recent
    shell:RecordedTVLibrary – Libraries\Recorded TV
    shell:RecycleBinFolder – Recycle Bin
    shell:ResourceDir – %WinDir%\Resources
    shell:Ringtones – %ProgramData%\Microsoft\Windows\Ringtones
    shell:Roamed Tile Images – %LocalAppData%\Microsoft\Windows\RoamedTileImages
    shell:Roaming Tiles – %AppData%\Microsoft\Windows\RoamingTiles
    shell:SavedGames – %UserProfile%\Saved Games
    shell:Screenshots – %UserProfile%\Pictures\Screenshots
    shell:Searches – %UserProfile%\Searches
    shell:SearchHistoryFolder – %LocalAppData%\Microsoft\Windows\ConnectedSearch\History
    shell:SearchHomeFolder – search-ms:
    shell:SearchTemplatesFolder – %LocalAppData%\Microsoft\Windows\ConnectedSearch\Templates
    shell:SendTo – %AppData%\Microsoft\Windows\SendTo
    shell:Start Menu – %AppData%\Microsoft\Windows\Start Menu
    shell:StartMenuAllPrograms – StartMenuAllPrograms
    shell:Startup – %AppData%\Microsoft\Windows\Start Menu\Programs\Startup
    shell:SyncCenterFolder – Control Panel\All Control Panel Items\Sync Center
    shell:SyncResultsFolder – Control Panel\All Control Panel Items\Sync Center\Sync Results
    shell:SyncSetupFolder – Control Panel\All Control Panel Items\Sync Center\Sync Setup
    shell:System – %WinDir%\System32
    shell:SystemCertificates – %AppData%\Microsoft\SystemCertificates
    shell:SystemX86 – %WinDir%\SysWOW64
    shell:Templates – %AppData%\Microsoft\Windows\Templates
    shell:ThisPCDesktopFolder – Desktop
    shell:UsersFilesFolder – %UserProfile%
    shell:User Pinned – %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned
    shell:UserProfiles – %HomeDrive%\Users
    shell:UserProgramFiles – %LocalAppData%\Programs
    shell:UserProgramFilesCommon – %LocalAppData%\Programs\Common
    shell:UsersLibrariesFolder – Libraries
    shell:VideosLibrary – Libraries\Videos
    shell:Windows – %WinDir%

    Peki buraya kadar özel klasörlerin zararlı yazılım geliştiren kişiler için önemli bir yapı olduğunu anladık. Peki biz bunu nasıl engelleriz?
    Bu klasörlerden uygulama çalışmasını engelleyebilirsiniz.
    Bu makaleye gözatmanızı tavsiye ederim : Tıklayınız

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir