elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: [1] 2 3
1  Seguridad Informática / Bugs y Exploits / Reverse DNS lookup for buffer overflow attack en: 14 Septiembre 2012, 13:41
Hola, estoy "auditando" (como diría Anelkaos) la seguridad de un web server, el cual corre una versión vulnerable (o eso creo yo) de Webalizer (v2.01). Después de buscar vulnerabilidades y bajarme el código fuente (sólo por si acaso), vi que se hablaba de un "stack based buffer overflow" al realizar una búsqueda DNS inversa.

Aunque al final resulte que la versión de Webalizer no sea vulnerable, me gustaría saber como sería posible explotar este tipo de vulnerabilidades (dejando a un lado NX, ASLR, stack canaries y otras lindeces).

Nota: lo primero que se me ocurrio es hacer que el tráfico de esa maquina pase por mí vía ARP poisoning, rogue AP, o algo así,... pero esto hacia un servidor no creo que sea aplicable.

Saludos
2  Seguridad Informática / Análisis y Diseño de Malware / Re: Como se ejecuta virus desde usb en: 8 Julio 2012, 04:23
Tengo entendido que lo que se desactivó fue el autorun.inf en usb, pero no en cd's (aunque no lo he comprobado por mi mismo).
De cualquier manera, el autorun es un metodo que todavia está de actualidad (quiza ahora menos pero...), tanto es así que el mismísimo StuxNet en sus inicios lo utilizaba para propagarse (de una manera muy ingeniosa, mirad el análisis del 2o url)

De todas formas, por lo que cuentas, lo más probable es que se trate del Conficker (la mejor forma de practicar ingenieria inversa de malware es poner un pendrive en cualquier ordenador del ciber de la esquina, ya vereis que contento se pone el AV)  :D

http://web17.webbpro.de/index.php?page=analysis-of-conficker
http://www.symantec.com/connect/blogs/stuxnet-lnk-file-vulnerability
http://tuts4you.com/download.php?view.3011
3  Seguridad Informática / Análisis y Diseño de Malware / Re: ErrorInvalidParameter en CreateProcessW con EXTENDED_STARTUPINFO_PRESENT en: 5 Junio 2012, 01:14
Ok, después de unas cuantas (muchas) horas lo encontré: resulta que los de Microsoft todavía no han solucionado el famoso bug de CreateProcessW, y al intentar escribir sobre mi string directamente (es decir, sin buffer intermedio, el string estaría en una pagina de solo lectura) el programa petaba (por eso CreateProcessA sí que iba), y a veces petaba y a veces daba error porque al intentarlo en la de x86, no me dejaba inyectarme en sysprep.exe, saltarme el UAC, conseguir el SeDebugPrivilege y claro, el handle a winlogon.exe era inválido (por algo lo he puesto en la sección de malware) xD

En fin, gracias Karcrack por la ayuda. TEMA SOLUCIONADO
4  Seguridad Informática / Análisis y Diseño de Malware / Re: ErrorInvalidParameter en CreateProcessW con EXTENDED_STARTUPINFO_PRESENT en: 4 Junio 2012, 20:09
Ya, el problema es que no se trata de un ejecutable sino de una DLL, y quiero poder usar ambas versiones (como la api de windows) de manera que exporto dos funciones tal que:

Código:
extern "C" {
/* ... */
BOOL SysCreateProcessByParentA(const PSTR pszExePath, HANDLE hParent);
BOOL SysCreateProcessByParentW(const PWSTR pwzExePath, HANDLE hParent);
/* ... */
}

#ifdef _UNICODE
# define SysCreateProcessByParent SysCreateProcessByParentW
#else
# define SysCreateProcessByParent SysCreateProcessByParentA
#endif

La version anterior era la UNICODE. La versión ANSI solo convierte los parametros a UNICODE y llama a la version UNICODE. De todas formas, gracias  :D
5  Seguridad Informática / Análisis y Diseño de Malware / ErrorInvalidParameter en CreateProcessW con EXTENDED_STARTUPINFO_PRESENT en: 4 Junio 2012, 19:21
Bueeeno, he intentado ser lo más explícito posible con el tema de este post. Primero una introducción (para los que no lo sepan ya):

<INTRO>
A partir de Windows Vista se puede "elegir" el proceso padre para un nuevo proceso (siempre que se tenga permisos para abrir el proceso).
</INTRO>

Corta,ehh? xD El caso es que lo he estado probando en Windows 7 x64 y me funciona con la versión ANSI (CreateProcessA) pero no con CreateProcessW. El código que uso es éste:

Código:
       /* ... */
if(SysGetVersion() < OSV_WIN_VISTA)
{
SetLastError(ERROR_NOT_SUPPORTED);
return FALSE;
}

if(!pwzExePath || lstrlenW(pwzExePath) > MAX_PATH)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}

STARTUPINFOEXW st = { sizeof(STARTUPINFOEXW) };
GetStartupInfoW(&st.StartupInfo);

PROCESS_INFORMATION pci;

SIZE_T cbList = 0;
InitializeProcThreadAttributeList(NULL, 1, 0, &cbList);
st.lpAttributeList = (LPPROC_THREAD_ATTRIBUTE_LIST)HeapAlloc(SYS_HEAP, 0, cbList);
DBG_ASSERT(st.lpAttributeList);
InitializeProcThreadAttributeList(st.lpAttributeList, 1, 0, &cbList);
UpdateProcThreadAttribute(st.lpAttributeList, 0, PROC_THREAD_ATTRIBUTE_PARENT_PROCESS, &hParent, sizeof(HANDLE),
NULL, NULL);

DBG_MSGBOX_TRACE_W(pwzExePath);

BOOL bRet = CreateProcessW(NULL, L"C:\\Windows\\system32\\cmd.exe" /*pwzExePath*/, NULL, NULL, FALSE, EXTENDED_STARTUPINFO_PRESENT,
                                         NULL, NULL, &st.StartupInfo, &pci);

DeleteProcThreadAttributeList(st.lpAttributeList);
HeapFree(SYS_HEAP, 0, st.lpAttributeList);

if(bRet)
{
DBG_MSGBOX_TRACE("No error");
CloseHandle(pci.hProcess);
CloseHandle(pci.hThread);
}
else
DBG_MSGBOX_TRACE("Error");

return bRet;

Nota: supongo que debe de ser algo relacionado con la especificacion del tamaño de las estructuras, pero como todavía no hay un ollydbg para x64 y no me aclaro con el windbg (y se cuelga mucho, no se si solo me pasa a mi), no he podido debuggearlo
6  Seguridad Informática / Análisis y Diseño de Malware / Re: Post drivers Hendrix en: 16 Mayo 2012, 23:03
No sé si a estas alturas ya lo habrás solucionado, pero aquí tienes la... mmm, pues eso, la solución

http://files.ngohq.com/ngo/dseo/dseo13b.exe

Espero que te sirva para acabar el tute, es muy bueno
7  Seguridad Informática / Hacking Ético / Re: Libro Negro de el Hacker Toda informacion en: 23 Abril 2012, 00:41
Wow, muxisimas gracias, por fin algo novedoso!!!
xk claro, quien no tiene todavía ese windows 98 cuyos PWL se le resisten? y que me dicen del BO, BO2000 o BO2K,... lo que se dice el último grito. "Apodérate de ICQ", puede que por ser el único en entrar te den "las llaves del reino" directamente.

Mira, no se si lo que querías era compartir información que considerabas interesante (ahí yo no me meto, y me parece respetable), pero definitivamente "Hacking avanzado" tal vez no sea el mejor sitio, un poco de criterio.

PD: no te lo tomes a mal, no era mi intención ofender a nadie, pero ya es de por sí bastante difícil encontrar información de calidad, no lo pongamos más dificil, vale?
8  Seguridad Informática / Hacking Ético / PHRACK #68 is out there! en: 13 Abril 2012, 23:03
Hola, bueno pues nada, lo dicho, que Phrack #68 está ya disponible desde Abril 2012 y aprovecho para recomendarla a todos los que no la conozcan:

Link: http://www.phrack.com/
Descarga: http://www.phrack.com/archives/tgz/phrack68.tar.gz

Nota: Acabo de darme cuenta de que el archivo está "simpáticamente corrupto", quien lo abra en un editor de texto se llevará una sorpresa xD (siempre tan cachondos estos de phrack)

Todavía habrá que esperar (pero es bueno ver que dan señales de vida, ya solo falta que vuelva SET)
9  Seguridad Informática / Análisis y Diseño de Malware / Re: Borrar ejecutable en ejecucion en: 26 Marzo 2012, 11:51
La verdad es que es justo lo que estoy buscando. Y a quien pertenece el handle? Podría usar para ello NtQuerySystemInformation con SystemHandleInformation y duplicarlo con DuplicateHandle? Y luego como los cierro? (no digo en mi proceso, sino en el proceso que lo posee)

PD: Si el proceso dueño no está protegido, supongo que con un CreateRemoteThread en CloseHandle sobraría, no?

Gracias
10  Seguridad Informática / Análisis y Diseño de Malware / Borrar ejecutable en ejecucion en: 20 Marzo 2012, 01:10
Hola, soy nts94 y me gustaría saber si en windows es posible modificar un binario mientras se está ejecutando (con lo facil que es en linux!).

Vereis: estoy trabajando en un virus (como siempre, solo una POC, no lo vereis pululando por ahí) el cual quiero que al llegar el momento de activar su payload (algo original, que abrir la disquetera ya esta muy visto  :D) se desinfecte a sí mismo SOLO DEL BINARIO ACTUAL (es decir, el virus lleva un contador del numero de infecciones, y llegado a un punto solo uno de ellos se activara, y ese es el unico que quiero que se desactive de todo el sistema).

La idea es que cuando al usuario le salte una pantallita en plan "TONTO, TE HAS INFECTADO", pues como que le va a dar click a "Mandar a analizar" y nos va a joder el invento. Por todo lo que he dicho, no me vale usar CopyFileEx con MOVEFILE_DELAY_UNTIL_REBOOT.

PD: se me había ocurrido que tal vez podia inyectar parte del codigo (el que desinfecta) en otro proceso, y desde ahí desinfectarme, pero en Windows Vista/7 la inyeccion de codigo esta más complicada (por lo de los "Procesos Protegidos", sesiones, etc)

Bueno, gracias por adelantado
Páginas: [1] 2 3
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines