viernes, 31 de agosto de 2007

Recopilacion de post interesantes realizados en el mes de Agosoto 2007:


  • Programacion Orientada a Aspectos : En este tema tratare de explicar de forma muy general como funciona el nuevo paradigma POA, sin profundizar en mucho en el tema, ademas tengo que dejar tela para otros post. El término POA es usado para referirse a varias tecnologías relacionadas como los métodos adaptivos, los filtros de composición, la programación orientada a sujetos o la separación multidimensional de competencias[...]


  • Asegurando una Red Perimetral : La seguridad en una red es un aspecto fundamental que siempre debe de ser tomado por el administrador de red, minimizar las oportunidades de que un atacante tenga un acceso a nuestra red es siempre un trabajo arduo y continuo que puede ser automizado utilizando algunas herramientras de codigo abierto y habilidad para optimizarlas en nuestra red[...]


  • Iniciando con AspectJ : Como bien explique en este post AspectJ es un lenguaje de programacion que implementa el paradigma de aspectos, para utilizar este lenguaje es necesario tener conocimientos generales sobre POO [...]


  • OpenBravo : OpenBravo es un entorno de desarrollo en tecnologia web, esta enfocado a la gestion de aplicaciones para medianas y peque~as empresas, ERP, es un proyecto Open Source desarrollado en espa~a para poder realizar de manera eficiente y rapida las aplicaciones empresariales[...]


  • Port Knocking : Es una tecnica que consiste en abrir conexiones en puertos cerrados por reglas de firewalls, modificando las reglas dinamicamente al recibir el servidor ciertos datagramas TCP con caracteristicas especiales y dirigidos a los puertos donde se debe hacer la autentificacion[...]


  • Evangelizando GNU/Linux : Realmente no se como empezar este post, ultimamente he estado utilizando mucho Slackware, un sistema bastante robusto y no da problemas para nada, pero porque uso linux y no otro sistema, por la simple y sencilla razon de que los demas no me gustan y de hecho linux tampoco, pero es lo mas parecido a lo que me gusta[...]


  • WAZ Win Anti Zomb : WAZ es una herramienta anti DDoS basada en Windows, escrita en VC++ y VC [API]. Abarca de la dolencia contra simétrica para los agentes más devastadores de DDos llamados para estar como agentes zombis[...]


  • Curso de Ubuntu Servidores : Actualmente la gente de illasaron.com estan realizando un curso sobre la instalacion y configuracion de servidores en Ubuntu, si asi como los que pululan de Red Hat y de Cent OS, el curso a la fecha de este post lleva 4 videotutoriales que ya tube la oportunidad de ver y realmente estan muy bien realizados y entendibles[...]


  • PHP para Visual Studio 2005 : Desde hace un par de semanas he estado probando el editor VS.Php v2.3, que no es mas que un editor PHP de codigo abierto para la suite de desarrollo de Visual Studio 2005[...]


  • Clases y Objetos en PHP : Ultimamente he estado trabajando mucho con PHP, sobre todo para actualizarme a PHP 5 y avandonar la version 4, y es que el soporte de Programacion Orientado a Objetos que trae la nueva version[...]


  • Coladeras de Seguridad : Despues de estar un rato viendo codigo en PHP de algunos proyectos CMS (Content Manager System), me veo en el tragico momento de verme frustrado de como sus programadores permiten tantos agujeros de seguridad en sus codigos[...]

miércoles, 29 de agosto de 2007

Despues de estar un rato viendo codigo en PHP de algunos proyectos CMS (Content Manager System), me veo en el tragico momento de verme frustrado de como sus programadores permiten tantos agujeros de seguridad en sus codigos, esto es realmente una cosa inconsebible debido a que hacen un mal uso de la programacion, los algoritmos utilizados son realmente una cosa espantosa porque son demasiados deficientes.

Y es que ense~ar programacion es una cosa, pero ense~ar programacion segura es otra, aprender a analizar algoritmos, aprender funciones especiales, aprender tecnicas de explotacion, son algunas de las cosas que pocos programadores estan dispuestos a obtener. Para cubrir agujeros de seguridad, e identificar debilidades de dise~o es necesario entender la estructura de control del software.

Los lenguajes actuales (o mas populares) ya traen incorporadas algunas funciones que cubren el proposito de reforzar el codigo fuente en cuanto a seguridad se refiere (htmlentities(),addslash()). Los programadores que trabajan con C normalmente tienden elaborar mejores algoritmos en base a las funciones que tienen disponibles.

Aunque en cierta forma la mayoria de programadores asalariados tienen que cubrir cierto requisito de entrega del proyecto, y es que el tiempo cuenta y mucho, es por eso que no se cubren los estandares de seguridad necesarios para un software ya sea hecho a la medida o para propositos comerciales, pero eso aun asi no justifica la irresponsabilidad del programador en cuanto al uso funciones factibles a ser vulneradas, y mucho menos a gran escala.

Los representantes mas notables en Software y Software para entornos web, son el Buffer Overflows y el SQL Injection, ambos capaces de comprometer cruelmente un servidor y dejar imposibilitado al administrador, y es realmente sorprendente lo facil que es encontrar este tipo de agujeros sobre todo en codigos muy extensos.


#include
void main(int argc, char **argv[])
{
char
buffer[16];
strcpy(buffer,argv[1]);
return 0;
}



include("config.php");
include("funciones_mysql.php");
$query=$objeto->mysql_query("UPDATE
users SET nick='$new' WHERE nick='$last'");
?>


Un saludo

jueves, 23 de agosto de 2007

Ultimamente he estado trabajando mucho con PHP, sobre todo para actualizarme a PHP 5 y avandonar la version 4, y es que el soporte de Programacion Orientado a Objetos que trae la nueva version digamos en pocas palabras es un poco mejor que la anterior, pero aun asi deja mucho que desear, hasta el momento he encontrado algunas pocas pero muy visibles diferencias, sobre todo porque trabajo con variables de session y en la version actual (5), se utilizan y se llaman de forma diferente a la version 4, y me causo unos ligeros problemas la creacion de objetos aqui va un ejemplo:

class main{ //DECLARAMOS UNA CLASE POR DEFECTO ES PUBLIC
var $var1="Hola Mundo"; //SE DECLARA UN VARIABLE GLOBAL DENTRO DE LA
CLASE

function main(){ //SE DECLARA UN METODO CONSTRUCTOR POR DEFECTO
PUBLIC

print $this->var1; // SE MANDA A IMPRIMIR UNA VARIABLE,
ESPECIFICANDO QUE ES
DE LA CLASE
}
function ejemplo($string){ // SE DECLARA UN METODO ORDINARIO
$string=htmlentities($string); //TRANSFORMAMOS LA CADENA A HTML
print $string; // SE IMPRIME UNA VARIABLE QUE ES RECIBIDA POR ARGUMENTO
}
}


La declaracion del objeto es de la siguente manera:

$obj1=new main(); //CREACION DEL OBJETO, ESPECIFICANDO SU NOMBRE CON LA
VARIABLE INSTANCIA
$obj1->ejemplo("Adios Mundo"); //SE UTILIZA EL OBJETO PARA PASAR UN
ARGUMENTO AL METODO ORDINARIO ejemplo();


Haciendo uso de este tipo de programacion se pueden realizar muchisimas cosas, y sobre todo con un toco de clase y elegancia para la organizacion del codigo, ya que en cierto momento la lectura eficiente del codigo se vuelve algo fundamental para el programador y para los colaboradores.

Aparte de lo comentado arriba, en esta nueva version es necesario especificar el metodo por el cual se ha introducido una variable global, utilizando los arrays $_GET[] y $_POST[], esta caracteristica sin duda ayuda en mucho la programacion de formularios en PHP ya que de esta forma se lleva un algoritmo mejor diseñado y con una implementacion mas especifica.


$obj1=new main();
if(!isset($_GET["id"])){
//NO SE HA INICIALIZADO LA VARIABLE id
header("Location:http://localhost/index.php");
}else{
//SE INICIALIZO LA VARIABLE id POR EL METODO GET
$obj1->ejemplo($_GET["id"]);
}

De esta forma se puede desarrollar un flujo del algoritmo que sea mas facil de seguir, especificando que metodo se ejecutara dependiendo de las variables que se inicialicen (isset()) o no se inicialicen (empty()), ejemplo:


<?php
$obj2=new postear();
switch($_GET["id"]){
case 'insertar':{
$obj2->insertar($_POST["name"],$_POST["post"]);
}
case 'mostrar':{
$obj2->mostrar();
}
default:{
$obj2->formulario();
}
}

class postear{
var $query;
function insertar($name,$post)
{
$this->conexion($name,$post);
if(isset($this->query)){ echo 'Datos insertados satisfactoriamente
<a href='.$PHP_SELF.'?id=mostrar>Mostrar</a>'; }
}
function mostrar()
{
mysql_connect("localhost","root","123456");
mysql_select_db("nombre");
$this->query=mysql_query("SELECT
* FROM tabla WHERE name!='NULL'");
echo 'Informacion:<br>';
while($datos=mysql_fetch_array($this->query)){
echo $datos["name"].'==='.$datos["post"].'
';
}
}
function formulario()
{
echo '
<form action='.$PHP_SELF.' method=post>
<input type=hidden name=id value=insertar>
<input type=text name=name>
<input type=text name=post>
<input type=submit value="hit it!!">
</form>
';
}
function conexion($name,$post){
mysql_connect("localhost","root","123456");
mysql_select_db("nombre");
$this->query=mysql_query("INSERT INTO tabla(name,post)
values('$name','$post')");
}
}
?>


Espero me haya dado a entender sobre este tipos de conceptos que estan muy de moda en un lenguaje tan popular como lo es PHP, y demostrar su facilidad de uso y flexibilidad ante el paradigma POO.

Hasta hace poco habia estado trabajando con WAMP en Windows y LAMP en Linux, pero debido a circunstancias de seguridad me vi en la penosa necesidad de cambiar de servidor de paginas web, las opciones que existen para este proposito son demasiadas, y por supuesto no tenia tiempo de revisarlas una a una, asi que me deje llevar por las reputaciones de los servidores, hasta que me tope con nanoweb, este es un proyecto reciente, bueno ni tanto, que tiene un objetivo muy peculiar, y sobre todo esta implementado en cierta forma un poco dificil de ver, y es que el servidor esta programado completamente en PHP, tiene archivos de configuracion muy bien comentados y sobre todo utiles, la configuracion del servidor no tiene mayor problema, ya que se configura atravez de un solo archivo, al mas puro estilo de Apache, y sin duda es un gran punto a favor que cuente con pocas vulnerabilidades descubiertas en este servidor, ya que como comenten en el post de Asegurando una red perimetral, el mostrar lo mas minimo de detalles a un posible atacante es una gran defensa, y al utilizar este servidor me he librado de muchos posibles ataques, una vez que lo puse en marcha en mi honeynet por supuesto, y es por eso que este pequeño pero funcional servidor lo he elegido para que de el soporte necesario en uno de los servidores de red que tengo, sin duda este es uno de esos proyectos que valen la pena seguir de cerca, y me quedo esperando posteriores versiones para diferentes sistemas.

Un saludo.

martes, 14 de agosto de 2007


Desde hace un par de semanas he estado probando el editor VS.Php v2.3, que no es mas que un editor PHP de codigo abierto para la suite de desarrollo de Visual Studio 2005, digo sin temor a equivocarme que la IDE en si no es mejor ni peor que PHP Designer, pero sin duda me ha facilitado bastante trabajo en cuanto al desarrollo de componentes con PEAR, y eso es algo de llamar la atencion.

Talvez dentro de un tiempo mas, pueda liberar una aplicacion que haya desarrollado con este IDE y usando el .NET Framework, aunque primero empezare a buscar una aplicacion parecida para GNU/Linux y MONO.

Aunque ahora me quedo a la espera de que mejoren esta herramienta para su implementacion para PHP 5 y 6, y por supuesto espero ver futuras versiones para probarlas. :D

Un saludo.

Descargas
Documentacion


Actualmente la gente de illasaron.com estan realizando un curso sobre la instalacion y configuracion de servidores en Ubuntu, si asi como los que pululan de Red Hat y de Cent OS, el curso a la fecha de este post lleva 4 videotutoriales que ya tube la oportunidad de ver y realmente estan muy bien realizados y entendibles. :P

Estos son los resumenes de los 4 videotutoriales:

VideoTutorial Nº 1 del Curso de Ubuntu para Servidores. Empezamos con El Servidor http. Vemos como instalar, configurar y utilizar El Servidor Apache. Estructura de localización de archivos y modificación del archivo de configuración. En una segunda parte vemos como instalar XAMPP para Linux. Paquete integrado que incluye Apache, MySQL, PHP, Perl y phpMyAdmin. Vemos también su instalación configuración, localización de archivos, principales comandos. Es prácticamente una hora y ocupa 66 Megas.

VideoTutorial Nº 2 del Curso Ubuntu Servidores. Instalación de un Server Mail. Introducción a los Servidores Mail: MTA, MDA, MUA; Agentes para la transferencia de Mails; Instalar Postfix y Paquetes asociados: clamav, mailx, mailscanner, postfix, postfix-docs, postgrey y qpopper. Modelos de Configuración de Postfix; Instalación desde la línea de comandos. Envío de nuestro primer mail con mailx y con Thunderbird. Son 31 minutos en 25 megas.

VideoTutorial Nº 3 del Curso de Ubuntu Servidores. Configuración Servicio POP3. Instalación no-ip; Configuración Postfix; El archivo main.cf; Identificar Host y Dominios; Reescribir direcciones y uso de aliases, Aceptar mails para un dominio completo; Activar Qpopper para soporte POP/POP3; Instalar xinetd; Integrar Qpopper con xinetd; Recibir emails en nuestro servidor a través de Thunderbird. Son 40 Minutos y ocupa 27 Megas.

VideoTutorial Nº 4 del Curso de Ubuntu Servidores. Antivirus y AntiSpam. Terminamos de configurar nuestro Server Mail Postfix añadiéndole Antivirus y AntiSpam. Greylisting con postgrey; Añadir Parámetros en la configuración de Postfix para rechazar Mails falsos; Integrar MailScanner, SpamAssassin y ClamAV con Postfix. Terminamos viendo como instalar Webmin, aplicación que nos da una útil solución basada en la Web para llevar a cabo todas las tareas de administración en un sistema Linux/UNIX. Algo menos de media hora y ocupa 33 Megas.

Para verlos es necesario visitar este enlace y por supuesto registrandose en la pagina de illisaron.com pueden tener acceso a estos videotutoriales y a un sin fin mas. :D

Tambien pueden acceder a este widget donde tambien se encuentran los videotutoriales. :P

Un saludo.


The Shellcoders Handbook

Stop hackers from wreaking havoc on your software applications and operating systems. This innovative book provides tools to discover vulnerabilities in C-language-based software, exploit what you find, and prevent new security holes from occurring.

Enjoy

Una vez mas he cambiado de dise~o a mi blog, el anterior no duro nisiquiera dos semanas, y el motivo principal es que era algo peque~o y he creado este para resoluciones de 1200x800, y por supuesto es de manufactura propia, me he pasado un buen rato en tratar de dejarlo agradable a la vista y sobre todo ligero para los navegadores y creo que lo he conseguido. :D

Normalmente no me caracterizo por hacer buenos dise~os, bueno al menos no soy la leche en esto, pero este no me quedo nada mal y practicamente lo trabaje todo con css y quite todas las imagenes y de fondo y mejorando (a mi criterio) el logo principal y optimizandolo.

A los que me leen atravez de un lector RSS, los invito a visitar el sitio y a brindarme su opinion sobre esta nueva imagen. :D

Un saludo.

lunes, 13 de agosto de 2007






Nickname
Email
Asunto
Mensaje


Image Verification
Please enter the text from the image
Captcha:

[ Refresh Image ]
[ What's This? ]



domingo, 12 de agosto de 2007

WAZ es una herramienta anti DDoS basada en Windows, escrita en VC++ y VC [API]. Abarca de la dolencia contra simétrica para los agentes más devastadores de DDos llamados para estar como agentes zombis. Las herramientas se diseñan para servir en la plataforma Windows y para proporcionar una facilidad a los usuarios.




Mas info y Descarga


Setting
Consultor de seguridad informatica y programador en diferentes lenguajes de programacion como Java, C#, C, ASM, PHP y actual desarrollador en el lenguaje AspectJ orientada a aspectos.
Defensor del software libre y usuario de sistemas GNU/Linux Slackware en donde participa en diferentes grupos de discusion y desarrollo.
ver perfil



AiWV
Administrador de redes TCP/IP en sistemas Solaris y actual lider del proyecto Activia Analytics de la empresa chilena Activia Soft S.A. de C.V.

Es certificado CISSP y CCNA.


ver perfil





sonyx_32

Programador en entornos de desarrollo de aplicaciones Web en diferentes lenguajes, dise;ador de paginas web independiente.

Especialista en animacion vectorial y desarrollo de proyectos para empresas.
ver perfil

miércoles, 8 de agosto de 2007

Via geekaresexy me entero de estos bastantes divertidos videos sobre unos tipos que hacen un sin fin de cosas que le pasan a un geek en una vida diaria, espero que los disfrutes que vaya que no hay pierde :D

Episodio 1


Episodio 2


Episodio 3


Episodio 4



:D :d

Exploiting software, how to break code

How does software break? How do attackers make software break on purpose? Why arefirewalls, intrusion detection systems, and antivirus software not keeping out the bad guys?What tools can be used to break software? This book provides the answers.Exploiting Software is loaded with examples of real attacks, attack patterns, tools, andtechniques used by bad guys to break software. If you want to protect your software fromattack, you must first learn how real attacks are really carried out.

Hacker's Challenge

Hacker’s Challenge will definitely challenge even the most technically astute I.T.security pros with its ‘ripped from the headlines’ incident response scenarios. Thesebased-on-real-life vignettes from a diverse field of experienced contributors make forpage-turning drama, and the reams of authentic log data will test the analytical skillsof anyone sharp enough to get to the bottom of these puzzling tableaus.”

Enjoy!!!

martes, 7 de agosto de 2007

Realmente no se como empezar este post, ultimamente he estado utilizando mucho Slackware, un sistema bastante robusto y no da problemas para nada, pero porque uso linux y no otro sistema, por la simple y sencilla razon de que los demas no me gustan y de hecho linux tampoco, pero es lo mas parecido a lo que me gusta, a quien le gusta pasar una noche entera configurando un hardware que en otros sistemas va de maravilla, claro pero con el unico fin de aprender a hacerlo.

En una ocasion en la universidad escuche a un alumno preguntarle a un maestro de redes sobre como configurar un servidor DHCP en OpenBSD, y el maestro muy asombrado le dijo "cuando llegues a 6o semestre te voy a ense~ar a hacerlo en Red Hat", me pase todo el dia con una gran sonrisa en los labios recordando esas palabras, apuesto 3 pesos que ese profesor nunca en su vida ha tocado un OpenBSD, y es que en cierta manera se entiende, a el le ense~aron a usar Red Hat y derivados, por lo cual al verse en la necesidad de configurar otro sistema, simplemente dice "usa Red Hat", y yo me pregunto que acaso no es el, el administrador en redes linux, entonces porque no sabe manejar otros sistemas. En este pais donde abunda el conformismo y donde solo la gente dedicada sobre sale entre los demas pero con un gran costo, es cuando mas se ven las carencias de un pais tercermundista que intenta salir adelante a patadas en cuanto a tecnologia se refiere.

Lo que mas le afecta al mundo del software libre no es Microsoft, ni el software privado, el principal problema al que se enfrentan sistemas como linux son los prejuicios de las personas, ya que por mas que intentes demostrarle a alguien lo facil que es usar un sistema libre, siempre tendran la idea en la cabeza que es "dificil de instalar y sobre todo de usar", como bien dice Einstein "Es más fácil desintegrar un átomo que un prejuicio", pero claro a que persona que no este familiarizada con la informatica le gustaria aprender un sistema que tenga que instalar ella misma y que el launcher no diga "Inicio", esto es hasta cierto punto comprensible, ya que el movimiento del software privado se ha esforzado bastante en que esto sea asi, y esto siempre sera bueno, ya que siempre se va mejorando en facilizar las cosas a los usuarios y de esta manera ir evolucionando en el desarrollo de software, aunque de ello dependa sacar un beneficio economico.

El mundo del software es muy dinamico, actualmente se estan desarrollando tecnologias en el mundo del software libre que estan al tu por tu con las del software privado (lease proyecto mono), la mayoria de desarrolladores que conosco me comentan "software libre es muy bueno pero reditua muy poco" y es que el trabajo del desarrollador depende en cierta manera de lo que le piden sus clientes, y sobre todo liberar codigo de una aplicacion hecha a la medida, es algo que esta fuera del alcance del desarrollador ya que de ello depende su continuidad en el negocio.

Son practicamente las 6:05 AM y no he dormido en toda la noche, he estado asi desde hace 2 semanas, trabajo de noche y duermo poco de dia, y eso me tiene un poco frustrado y es que la razon principal de esta penitencia es que normalmente utilizo mucho el internet, y en el dia es cuando mas lento me va, sobre todo en horas pico, es por eso que prefiero usar la noche, y es que mexico es uno de los paises donde mas altos estan los precios de acceso a internet de banda ancha, ofreciendo una servicios realmente pateticos y es muy imprecionante ver a personas que piensan que con una red de limitados recursos piensan mantener conectada a toda una ciudad, ahora ya saben el secreto de Carlos Slim, de "compralo barato y vendelo caro", pero realmente no quiero opinar nada sobre eso, sera para otra ocasion.

Creo que de un tema me paso a otro y al final no termine diciendo nada para lo que era el objetivo de este post, pero aun asi he dicho lo que tenia que decir y dando mi opinion sobre este tipos de cosas que me gustan tanto.

lunes, 6 de agosto de 2007


Alcancelibre.org es una de las paginas que mas se distinguen por ofrecer contenidos nuevos e innovadores en su articulos y es sin duda el punto de partida para muchos usuarios del software libre ya que mantienen un gran numero de manuales de diferentes tematicas.

Actualmente estan promocionando un libro llamado "Implementación de Servidores en GNU/Linux" escrito por Joel Barrios, este libro ya tube la oportunidad de leerlo en su version de enero 2007 y sin duda es una gran recopilacion de informacion muy necesaria que todo administrador de redes GNU/Linux debe saber manejar. Y es el libro el premio principal que se le otorgara al ganador de su concurso de escritorios GNU/Linux, esta de mas decir que estoy participando con mi modesto escritorio a quien a comparacion con los demas realmente se ve muy pobre. Para participar lo unico que se necesita es registrarse en la pagina y subir su captura de pantalla con una descripcion del gestor de ventanas que utiliza, el estilo visual y el tema de iconos, y por supuesto esperar hasta el 10 de Agosto que sera el dia en que se de el nombre del ganador.

Los invito a participar en el concurso, y porque no, tambien a participar con el sitio en todo lo que este a nuestro alcance.

domingo, 5 de agosto de 2007

Es una tecnica que consiste en abrir conexiones en puertos cerrados por reglas de firewalls, modificando las reglas dinamicamente al recibir el servidor ciertos datagramas TCP con caracteristicas especiales y dirigidos a los puertos donde se debe hacer la autentificacion.

El objetivo fundamental por el cual se implementa el portknocking es para impedir que un usuario malintencionado pueda tener acceso a un puerto que haya sido detectado por un escaneo de puertos. La gestion de este software se realizar con un firewall especialmente configurado para analizar los datagramas entrantes al sistema, y verificar si tienen un secuencia valida para el portknock daemon.

Este nuevo sistema de seguridad es bastante util para proteger puertos donde se requiere un alto grado de proteccion de servicios. Brinda diferentes tipos de autentificacion basandose en la secuencia de los puertos donde este configurado. Las caracteristicas que dispone frente a su eficiencia de seguridad en redes, es debido a su sistema de cifrado de datos, lo hacen practicamente seguro ante la captura de trafico en una red.

Una de las principales razones por las que, aun no es considerado como una gran herramienta de seguridad, es por que su funcionamiento principal esta basado en la modificacion de reglas en el firewall y su inclusion en el kernel para poder gestionar de manera correcta y eficaz los procesos que dirija, ademas de las consideraciones practicas que implica tenerlo funcionando en un sistema que brinde un servicio.

Actualmente existen varias herramientas especializadas para implementar este sistema de seguridad en nuestros servidores, entre ellos:

PortKnockO, es un modulo para netfilter que se incorpora directamente en el kernel, funciona con un modelo SPA, para mas informacion remitirse a su README.

Webnocking, como bien dice su nombre, es una aplicacion con interfaz web, con facilidad de uso y mantencion, su critica se la lleva debido a que necesita de un servidor web con soporte PHP para su funcionamiento (lease LAMP).

KnockKnock, es una herramienta para sistemas Windows, de facil manejo y sumamente configurable, en su pagina web encontraran una gran cantidad de documentacion sobre uso.

La facilidad de instalacion y de uso de estas herramientas hacen que la implementacion de este sistema de seguridad sea algo realmente sencillo, brindan la posibilidad de una configuracion avanzada atravez del kernel del sistema y apoyo de seguridad a la autentificacion de nuestros usuarios.

Puesta en marcha:
# iptables -A INPUT -p tcp -m state --state NEW -m pknock
--knockports 3442,1335,3334 --name FTP -m tcp --dport 21 -j ACCEPT
Proceso de autentificacion:
$ telnet servidor9 3442 ; telnet servidor9 1335 ; telnet servidor9 3334
Conectado a servidor9.
220---------- Welcome to Pure-FTPd [TLS] ----------
220-You are user number 2 of 50 allowed.
220-Local time is now 05:17. Server port: 21.
220-This is a private system - No anonymous login
220 You will be disconnected after 15 minutes of inactivity.
Usuario (servidor9:(none)):
Un saludo.

http://es.wikipedia.org/wiki/Golpeo_de_puertos
Port Knocking por Jonathan Barajas
Linux Journal: Port Knocking

sábado, 4 de agosto de 2007

OpenBravo es un entorno de desarrollo en tecnologia web, esta enfocado a la gestion de aplicaciones para medianas y peque~as empresas, ERP, es un proyecto Open Source desarrollado en espa~a para poder realizar de manera eficiente y rapida las aplicaciones empresariales, su gran auge se debe al ser un proyecto de codigo abierto, esta disponible para cualquier entidad que desee adquirirlo de forma totalmente gratuita, compite a su vez en el mercado con OpenXpertya y Compiere entre otros.

Esta desarrollado en Java y especialmente enfocado en el servidor Apache Tomcat, por lo cual es de facil mantencion y una mejora optima en el codigo puede hacerse sin ningun tipo de percance. El desarrolo de aplicaciones se lleva acabo mediante una interfaz web y el codigo de la aplicacion se va generando dinamicamente, en la pagina web de los creadores se encuentra una demo del funcionamiento de este software.

Para usar el software, se debe contar con servidor instalado y que tenga incorporado el Framework especial para esta tecnolgia y brindar un mejor soporter, la instalacion del software es sumamente sencilla y es necesario instalar un conjunto de aplicaciones adicionales para mejorar el desempe~o del software y el entorno operativo.

El uso del software se limita a contar con un navegador web estandar, la innovacion de su MVC Foundation Framework es algo que hay que resaltar por su gran sencilles y habilidad para el desarrollo de aplicaciones, sin duda OpenBravo es un proyecto que hay que seguir muy de cerca, ya que dentro de algunos a~os puede llegar a ser el estandar en el desarrollo de ERP.

Saludos.

Enrique Dans: OpenBravo
OpenBravo Planet

viernes, 3 de agosto de 2007

Como bien explique en este post AspectJ es un lenguaje de programacion que implementa el paradigma de aspectos, para utilizar este lenguaje es necesario tener conocimientos generales sobre POO, aqui comentare lo que tube que hacer para utilizar este lenguaje en un sistema GNU/Linux, aclaro que la instalacion del IDE y del plugin AJDT es exactamente la misma que en sistemas Windows.

Para iniciar se necesita tener el IDE Eclipse, este IDE se caracteriza por no necesitar una instalacion previa en el sistema, viene incorporado para su uso inmediato y facil utilizacion, para poder utilizar Eclipse es necesario tener instaladas las librerias GTK, en sistemas Windows basta con clickear en el ejecutable y se iniciara el entorno de trabajo de Eclipse, en sistemas GNU/Linux es necesario desempaquetar el archivo .tar.gz, y en linea de comandos ejecutar el archivo ./eclipse dentro del directorio extraido.

Al momento de iniciar el entorno de trabajo, Eclipse se encuentra listo para poder desarrollar aplicaciones comunes en Java, pero para nuestro proposito necesitamos hacernos de un plugin, y para instalarlo es necesario ir al menu Help y en la opcion Software Updates, seleccionamos la opcion Find and Install, en la ventana emergente de Install nos aparecen dos opciones la primera sirve en dado caso de que queramos actualizar algun plugin, la segunda es para instalar nuevos plugins, para nuestro proposito seleccionamos la segunda y dame en Next, nos aparecen nuevas opciones de busqueda, los cuales son sitios de mirrors oficiales para la descarga de plugins para Eclipse, seleccionaremos unicamente Europa Discovery Site, este es uno de los sitios mas estables y rapidos, una vez seleccionado daremos click en finalizar, se abrira una nueva ventana que nos da un proceso del estado de la busqueda, y durante este proceso seleccionaremos que servidor preferimos para la descarga del plugin, podemos seleccionar cualquiera de los que se encuentren disponibles, es recomendable seleccionar el mas cercano a nuestro pais debido al ancho de banda que tengamos, una vez mas se muestran nuevas opciones, esta vez vemos el nombre del servidor en este caso Europa Discovery Site, desprendemos la flecha de la izquierda y esta se vera en forma de arbol, en donde seleccionamos los feutures que deseamos instalar, estan ordenados por categorias y seleccionamos las dos opciones que se muestran en la imagen:

Despues daremos un par de siguientes y aceptaremos las condiciones de uso de estos plugins, es recomendable leer las condiciones para evitar futuras molestas con el plugin, el primer plugin que es Eclipse PDE, es necesaria su instalacion para el desarrollo integrado de AJDT, y el segundo plugin es AJDT, que sirve para el desarrollo e implentacion de aspectos, despues de hacer todo esto, se mostrara un proceso de descarga e instalacion, dependiendo de nuestra conexion a internet, el tiempo de instalacion puede variar, durante el proceso de instalacion se pedira nuevamente que se acepten las condiciones de uso del plugin a los cuales accedemos, al terminar la instalacion sera necesario reiniciar eclipse para poder aplicar los nuevos plugins en el arranque.

Una vez reiniciado Eclipse, entraremos en el workbench para empezar a desarrollar, daremos click en el menu File y en la opcion New, seleccionamos la opcion Other, en la ventana emergente que aparece desplegamo el arbol de la opcion AspectJ -> AspectJ Examples -> Introduction Example, y damos click en Next, damos nombre al proyecto y finalizamos, despues en el arbol de proyectos de la izquierda, seleccionamos la carpeta src->introduction y damos doble click en HashablePoint.aj, y para probar que todo ha salido bien damos click en el boton Run y lo ejecutamos como AspectJ/Java Application, los resultados para este tipo de codigos se muestran en la etiqueta Console en la parte de abajo, apartir de aqui, eclipse ya se encuentra listo para empezar a desarrollar en este nuevo paradigma orientado a aspectos.

Manual de POA

La seguridad en una red es un aspecto fundamental que siempre debe de ser tomado por el administrador de red, minimizar las oportunidades de que un atacante tenga un acceso a nuestra red es siempre un trabajo arduo y continuo que puede ser automizado utilizando algunas herramientras de codigo abierto y habilidad para optimizarlas en nuestra red.

En general un atacante promedio siempre tiene que cumplir con 5 pasos fundamentales para llevar acabo el ataque, los cuales son:

  • Recoleccion de informacion
  • Escaneo
  • Enumeracion
  • Ataque
  • Instalacion de backdoor y borrado de huellas
Si en dado caso un atacante no realizara una de las primeras faces del proceso, esto limitaria bastante el ataque hasta un punto en que no se pueda realizar, dependiendo del nivel de conocimientos del atacante sera lo sofisticado del ataque a nuestra red.

La primer face de recopilacion de informacion es fundamental para impedir el ataque, ya que entre menos informacion sensible de nuestra red le sea proporcionada al atacante, este se vera inmovil ante nuestra red, la ocultacion de banners de nuestros servidores y/o la modificacion de los banners haciendolos pasar por otros y de otras versiones, limitarian el ataque a nulo, debido a que se aprovecharia la seguridad por oscuridad.

Dependiendo de la persistencia de nuestro atacante sera como llegara a la fase de escaneo, el escaneo es una face primordial para la recoleccion de informacion sobre nuestros servicios brindados en alguno de nuestros puertos de servidores y especializar mas el ataque en contra de nuestra red, una de las herramientas mas utilizadas para el escaneo es Network Mapper (nmap), al burlar esta herramienta e impedir que obtenga informacion sobre nuestros servicios, detendria completamente el ataque en un 90%.

En dado caso que el atacante haya obtenido informacion sobre nuestros servicios y decida atacarlos, es necesario tomar las medidas necesarias si nuestra red ha sido vulnerada, la instalacion de IDS y Firewalls es algo de suma prioridad para mantener nuestros servicios estables e impedir que el atacante logre obtener privilegios de administrador, manteniendo los servicios con permisos implementados especialmente enfocados a la seguridad (lease SUID, GUID), y en diferentes nodos de la red, esto limitaria la expansion y total control de nuestra red para el atacante.

Dependiendo de como esten configurados nuestro Firewall e IDS y como se encuentren ubicados en nuestra red, impediran el abuso de nuestros servicios en la red, la instalacion de proyectos especializados en seguridad automatizan y optimizan la seguridad en la red, el proyecto OSSIM, es uno de los mas reconocidos por su alto grado de especializacion y facilidad de uso.

En dado caso que nuestra red haya sido comprometida y nuestro sistema de seguridad haya fallado, es necesario contar con todo tipo de respaldos sobre nuestra informacion, y procurar que nuestros servidores se encuentren aislados para evitar el compromiso total de la red, la implementacion de una zona desmilitarizada para funciones especiales y de alta prioridad de la red, se vuelve un caso obligatorio.

Despues del ataque es necesario realizar un analisis forense sobre el sistema que fue comprometido, lo primordial es separarlo de la red para evitar que sea atacado nuevamante en caso de que tenga una puerta trasera, por conseguiente es necesario revisar todos los archivos que hayan sido modificados durante el ataque, hacer un analisis detallado de los logs del sistema y verificar los que hayan sido alterados por el atacante, dependiendo de que tanta informacion se desee recolectar del atacante seran los procesos que se deban seguir, en caso de que los logs no nos brinden mucha informacion, sera necesario un dumpeado de la memoria del ordenador atacado para especular sobre los pasos del atacante en nuestro sistema.

El tema da para mucho mas, y espero continuarlo en otro post, mientras tanto es todo por el momento.

Introduction to Network Security
Microsoft TechNet: Seguridad en red y perimetral
esdebian.org: Guia de Seguriad en Red

jueves, 2 de agosto de 2007


Written from both from the attacker's and security specialist's perspective, this thorough guide uncovers how attackers can benefit from the hosted target and why an apparently normal-working application might be vulnerable.

Download | ID = 62863640419


Con este post, doy por terminada la nueva imagen de mi blog, el dise~o anterior no dio el ancho por mucho tiempo, asi que me vi forzado en cambiarlo, todas las imagenes de este blog fueron hechas con THE GIMP, lamentablemente no contaba con el tiempo suficiente para hacer un dise~o yo mismo, asi que tomado a modo de plataforma una plantilla especialmente hecha para blogger por la gente de blogandweb a quienes les agradesco por que me han facilitado bastante trabajo.

En si, tube que modificar la plantilla para que quedara con mi estilo y con un poco de la imagen del blog anterio, la verdad yo estoy muy contento con esta nueva imagen y por lo que he probado esta optimizada por varios navegadores web, espero y este nuevo dise~o dure por algun tiempo, ya que no me caracterizo por mantener dise~os bastante tiempo.

Saludos y hasta la proxima release.

Normalmente solo uso 2 medios para comunicarme por internet, y son el MSN y el IRC, mi MSN es setting@rootshell.be, practicamente siempre estoy ocupado asi que si vas a interrumpirme que sea con un buen argumento, en el IRC me encuentro en las redes de UNDERNET en el canal #hack, ahi pueden hablar con mi bot y si es tu dia de suerte, talvez ande ahi discutiendo.

miércoles, 1 de agosto de 2007

Asi como ya comente en esta entrada, blogger es suceptible a ataques XSS, pero eso no lo descubri yo, anteriormente ya lo habia hecho otro usuario del prestigioso foro sla.ckers, yo solo de igual forma que el lo descubri por error, y por supuesto no pienso publicar todas las etiquetas malformadas que dieron positivo en las pruebas, ya que eso le costaria la cabeza a mi blog, pero si te quieres enterar por donde van los tiros, puedes mirar dentro de mi. =)