6 FLISOL 2008 en Monterrey, N.L.

El FLISOL fue como todos los demas en sabado 26 de Abril, el FLISOL en Monterrey fue muy enfocado a la seguridad informatica, por lo cual me mandaron una cordial invitacion a dar una platica sobre seguridad.

Fue interesante ya que Karl Heinz me comento que no querian en la platica una fuerte cantidad de codigo ya que no querian invitar a la creacion de script kiddies, le comente que no habria problema que no publilcaria ningun fallo, o ninguna tecnica en especifico pero que era muy raro para mi dar una conferencia sin codigo, finalmente llegamos a un compromiso y la conferencia iba a ser “Como ser un buen auditor de seguridad” la cual ya estando ahi cambie por “Pentesting: Seguridad generada por ‘Hackers’” el titulo como siempre puede ser controversial pero bueno daba un mejor enfoque a algunos puntos en especifico que tengo sobre la seguridad en estos momentos en Mexico.
Continuar leyendo »

2 Programacion “Extrema”

Programacion Extrema NO es una programacion que sube montanas, anda en motocross y se avienta escaladas libres, es una programacion que busca optimizar el numero de lineas, complejidad y velocidad de las cosas, un ejemplo es lo que llamo un arreglo de funciones, o tambien funciones flexibles, un programa normal que busca comandos dentro de un archivo podria verse asi:


#include < stdio.h >
#include < unistd.h >
int funcion1(char *linea) {
printf(”orale entro a funcion1\n”);
return 0;
}
int funcion2(char *linea) {
printf(”entramos a funcion2 %s\n”, linea);
return 0;
}
int main(int argc, char **argv) {
if(argc < 2) {
printf("Uso: %s < palabra >\n”, argv[0]);
return -1;
}
printf(”ahora mandamos ejecutar funcion1\n”);
funcion1(argv[1]);
printf(”ahora ejecutando funcion2\n”);
funcion2(argv[1]);
printf(”terminamos\n”);
return 0;
}

la salida del archivo es la siguiente:

root@firebolt f00 # gcc -o normal normal.c
root@firebolt f00 # ./normal www.soldemorelia.com.mx

Ahora mandamos ejecutar funcion1
se mando www.soldemorelia.com.mx a funcion1
ahora ejecutando funcion2
se mando www.soldemorelia.com.mx a funcion2
terminamos
root@firebolt f00 #

Un programa que es flexible es el siguiente:

#include < stdio.h >
#include < unistd.h >
struct ejemplo {
int id;
char *nombre;
int (*execute)(char *linea);
};
int funcion1(char *linea) {
printf(”se mando %s a funcion1\n”, linea);
return 0;
}
int funcion2(char *linea) {
printf(”se mando %s a funcion2\n”, linea);
return 0;
}
struct ejemplo f[] = {{1, “funcion numero 1″, funcion1},{2, “function numero 2″, funcion2}, {0, NULL, NULL}};
int main(int argc, char **argv) {
int i = 0;
if(argc < 2) {
printf("Uso: %s < palabra >\n”, argv[0]);
return -1;
}
printf(”ahora mandamos ejecutar funcion1\n”);
f[0].execute(argv[1]);
printf(”ahora ejecutando funcion2\n”);
f[1].execute(argv[1]);
printf(”terminamos\n”);
return 0;
}

El codigo es un poco mas largo pero si se quisiera agregar una funcion extra solo se tendria que agregar la funcion y una linea a a estructura, esto da la posibilidad de hacer funciones o cambiar funciones al vuelo y decir “si la palabra es asi has esto si no has lo otro” sin utilizar tanas lineas de codigo y mucho mas facil de leer y mantener.

Regresamos al codigo puro! La proxima semana veremos un programa que nos deja checar servidores y que utiliza ¡funciones flexibles!

2 Tu Peor Enemigo: El Otro Admin

Sandino Araico Sanchez dentro de sus conferencias ha generado controversia dandoles el titulo del “Tu Peor Enemigo”, dentro de esta conferencia (que recomendamos mucho) intenta buscar los peores enemigos de un buen sistema y una buena seguridad de lo mismo.

Tomando el ejemplo de Sandino, daremos nosotros lo que se debe de hacer para
contrarrestar a “Tu Peor Enemigo”.

“Yo no he cambiado Nada” — Tu Peor Enemigo: El Otro Administrador.

Esta frase la he oido de clientes, administradores, estudiantes y hasta familiares: “Yo no he cambiado nada”, “Solo dejo de funcionar”, “De la nada ya no jala”,etc.

Esta frase es la peor frase que se puede oir sobre todo a altas horas de la noche o muy muy temprano en un dia de trabajo, ya que sabemos que habran cientos de llamadas de usuarios que no podran usar este servicio. Tuve yo un encuentro con el peor enemigo en una compañia a la que le daba servicio, siendo rarisimo que dejaran de usarse los servicios tuve que obviamente
ponerme a trabajar para detener a uno de los peores enemigos: “El Otro Administrador”

Continuar leyendo »

1 Beneficios de una Auditoria de Código

Una auditoria informática es una parte central e importante de la seguridad, ya sea una aplicación comprada o una aplicación hecha en casa la información contenida es el verdadero valor de la aplicación.

Una aplicación contiene errores debido a que el programador no fue enseñado con seguridad en mente, en realidad no habla nada de su experiencia sino que es un campo nuevo y que se lleva rapidamente en la expansión de técnicas y formas de explotación.

Continuar leyendo »