jueves, 20 de enero de 2011

Un buen Escaner de Directorios web en Perl

Podemos decir que estas herramientas a veces nos traen informacion super importante para realizar algun TEST de penetracion .
Pues con la ayuda de Nikto version 2, un excelente proyecto basado en PERL , nos permite escanear todos los posibles directorios y archivos vulnerables en nuestro sistema web.

para ello solamente vamos a la web oficial de Nikto 2 http://cirt.net/nikto2 y descargamos el proyecto.
para ejecutarlo es muy sencillo.
Solamente descargarmos el tar.gz
lo descomprimimos en el directorio de nuestra preferencia.
y ejecutamos el siguiente comando:

perl nikto.pl -h www.domain.com

y apartir de ahi nos puede lansar informacon interesante como esta:

+ /admin/admin_news_bot.php?root_path=http://cirt.net/rfiinc.txt??: Potential PHP MSSQL database connection string found.
+ /admin/admin_topic_action_logging.php?setmodules=attach&phpbb_root_path=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/admin_topic_action_logging.php?setmodules=pagestart&phpbb_root_path=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/admin_users.php?phpbb_root_path=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/auth.php?xcart_dir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/auth.php?xcart_dir=http://cirt.net/rfiinc.txt??: Potential PHP MSSQL database connection string found.
+ /admin/auth/secure.php?cfgProgDir=http://cirt.net/rfiinc.txt??: Potential PHP MSSQL database connection string found.
+ /admin/autoprompter.php?CONFIG[BASE_PATH]=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/bin/patch.php?INSTALL_FOLDER=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/catagory.php?language=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/OLE/PPS.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/OLE/PPS/File.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/OLE/PPS/Root.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/Spreadsheet/Excel/Writer.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/Spreadsheet/Excel/Writer/BIFFwriter.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/Spreadsheet/Excel/Writer/Format.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/Spreadsheet/Excel/Writer/Parser.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/Spreadsheet/Excel/Writer/Workbook.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/classes/pear/Spreadsheet/Excel/Writer/Worksheet.php?homedir=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/code/index.php?load_page=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/comment.php?config[installdir]=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/common-menu.php?CONF[local_path]=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/components/com_fm/fm.install.php?lm_absolute_path=../../../&install_dir=http://cirt.net/rfiinc.txt??: Potential PHP MSSQL database connection string found.
+ /admin/config_settings.tpl.php?include_path=http://cirt.net/rfiinc.txt??&cmd=id: Potential PHP MSSQL database connection string found.
+ /admin/directory.php?config[installdir]=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/doeditconfig.php?thispath=../includes&config[path]=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/frontpage_right.php?loadadminpage=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/header.php?loc=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/inc/add.php?format_menue=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.
+ /admin/inc/change_action.php?format_menue=http://cirt.net/rfiinc.txt?: Potential PHP MSSQL database connection string found.


Saludos

miércoles, 19 de enero de 2011

Modulo PAM Linux

Vision general sobre PAM.

Los PAM son modulos de librerias compartidos,que son abiertos automaticamente por las aplicaciones que han sido compiladas con la libreria de autenticacion Linux-PAM primaria.

Las aplicaciones que usan los PAM (modulos PAM, se les llama a veces ) tipicamente se les hace referencia como aplicciones PAM.

Los PAM son modulos de libreria compartidos, una vision PAM del programa rsh puede reutilizar el mismo , Tienen permisos los usuarios para iniciar sesion ahora?,
Generalmente los modulos PAM tipicamente se almacenan en el directorio /lib/security , si bien en distribucionesmas antiguas Linux almacenaba los PAM en /usr/lib/security.


Los PAM usados por diferentes aplicaciones PAM pueden ser definidos de dos maneras diferentes. En implementaciones PAM modernas , son controlados por ficheros de configuracion especificos de la aplicaciones localizados en el directorio /etc/pam.d

En implementaciones mas antiguas de PAM, todos los modulos PAM usados por las aplicaciones de un sistema eran definidos en un solo fichero central de configuracion.
/etc/pam.conf. El enfoque antiguo todavia se admite para mantener la compatibilidad con las versiones antiguas mientras se promueve el enfoque mas moderno, pero esta obsoleto, se usaran los contenidos del directorio /etc/pam.d en vez del fichero /etc/pam.conf. si ambos existen en su sistema.

Ficheros de Configuracon PAM por Aplicacion/Servicio.

Cada fichero de configuracon PAM en /etc/pam.d tiene el mismo nombre que el servicio o aplicacion PAM asociado.
Por ejemplo zimbra debe tener su propio fichero de configuracion PAM asociado.

y este debe de contener las reglas PAM usadas durante su proceso de autentcacion.
El nombre del fichero de configuracion a usar se deriva del primer parametro pasado a la funcion pam_start() de la libreria Linux-PAM, que esl el nombre del servicio que esta siendo autenticado ( a mednudo el mismo de la aplicacion por comodidad). Estos ficheros puede ademas cotener comentarios ( Cualquier caracter en una linea a continuacion del tradicional signo de almohadillas (#) se iterpreta como un comentario).
Cada Linea que no es un comentario en uno de los ficheros en /etc/pam.d/ se define como un modulo PAM usado como parte del proceso de autenticacion para el servicio o aplicacion asociado. Cada uno de estos ficheros pueden contener cuatro campos separados por espcacios en blanco , los primeros tres de los cuales son obligatorios . Estos campos tiene el siguiente significado y contenido:

1) module-type: El tipo de modulo PAM definido en la linea. Un tipo de modulo PAM define coo es usado durante el proceso de autenticacion y cuyos valores validos son:

a) auth: identifica la comprobacion de autenticacion para verificar bien la identidad del usuario , o bien los requsisitos del sistema se han cumplido. Requsisitos del sistema comunes son que un servicio pueda ser iniciado en el momento actual ( Por ejemplo , que /etc/nologin no existe cuando un usuario esta intentando iniciar sesion) , que se este usando un dispositivo aceptable ( o lo que es lo mismo que el dispositivo este incluido en /etc/securitty ) si el usuario es el super-usuario , etc).

b) account: Verifica si el usuario puede autenticarse en base a requsitos del sistema , talos como si el usuario posee una cuenta valida, el numero maximo de usuarios permitidos en el sistema, el dispositivo que se este usando para acceder al sistema, si el usuario tiene acceso al servicio o aplicacion solicitado, etc.

c) password: Verifica la capacidad de un usuario paa actualizar mecanismos de autenticacion. Normalemente hay un modulo del tipo password por cada entrada al auth ligada a un mecanismo de autenticacion que puede ser actualizado.

d) session : identifica los modulos asociados con tareas que deben ser hechas antes de que el servicio o aplicacion asociado sea activado o que justo antes de terminar su ejecucion. Los modulos de este tipo son normalmente realizan la funcion tales como montar directorios o llevar registros de la informacion de un proceso de auditoria de sistema, o garantizar que los recursos del sistema estan disponibles.

2.- control-flag : las consecuencias del valor devuelto por el modulo PAM especificado. Valores Validos son:
a) required: indica que el exito en le ejecucion de un modulo PAM es obligatoria para el tipo de modulo especificado. El fallo de cualquier PAM marcado como required para un tipo de modulo especifico ( asi como el de todos los etiquetdos con auth ) es comunicado al servicio o aplicacion asociado solo despues de que todos los PAM requeridos para ese tipo de modulo han sido ejecutados.

b)requisite : Indica que un fallo del modulo PAM sera inmediatamente comunicado al servicio o aplicacion asociado.

c) sufficient: Indica que el exito en la ejecucion de modulo PAM satisface los requisitos de autenticacion de este tipo de modulo. Sin ningun otro PAM previo identificado como required ha falladado, ningun otro PAM para el modulo asociado sera ejecutado. El fallo de un PAM identificado sufficient es ignorado mientras que los posteriores modulos identificados como reiquired para ese tipo de modulo tengan existo. Si un PAM anterior con el valor de required falla, el exito de un PAM marcado como sufficent se ignora.

d)optional: Infica que el exito de un modulo PAM no es critico para el servicio o aplicacion, a menos que sea el unico PAM para un tipo de modulo especifico. Si es asi , su exito o fallo determina el exito o fallo del tipo de modulo especificado.

e) module-path : El nombre del modulo PAM asociado con esta entrada. Por defecto los modulos PAM se encuentran en /lib/security , pero este campo puede identificar ademas modulos localizados en otros directorios con especificar la ruta absoluta y el nombre del fichero de un modulo PAM.

f) arguments: Opcional, argumentos especificos del modulso

Bien, esto probablemente ha sido demasiado pesado pero una informacion referencia necesaria.

Denegar cualquier acceso en menos de un segundo Linux

Hola que tal, derrepente a ustedes les habra pasado alguna vez que estan revisando los log's de cualquier servidor y se encuentran con una IP tratando de apoderarse de alguna cuenta de usuario de nuestro servidor. Entonces nosotros queremos denegar cualquier acceso de cualquier usuario a nuestro servidor, claro con excepcion de nuestro querido super-usuario root.

Para lograr esto se necesita usar el siguiente comando:

#touch /etc/nologin

con esto nosotros estamos desactivando, cualquier actividad .

Otro mecanimso que suelo usar es el siguiente:
Generalmente en la estructura de /etc/ nos encontramos con dos ficheros muy interesantes como el hosts.deny y el hosts.allow simplemente para denegar cualquier acceso deberiamos de mover estos dos ficheros a otro lado o en el mismo lugar pero con otro nombre y crear uno nuevo llamado /etc/hosts.deny con el siguiente contenido:


ALL:ALL@ALL

Esto bloqueara cualquier acceso a nuestro servidor.

martes, 18 de enero de 2011

Renovar Cache DNS Windows XP/LINUX/MAC OS

Algunas vez derrepente haz querido renovar tus registros DNS en windows XP , cuando haces alguna migracion de dominio en los DNS del mismo y quieres comprobar si es que ya cambio.
Para realizar esto con mayor seguridad derrepente los DNS de tu proovedor ISP ya cambiaron pero tus registro de cliente del DNS aun no se actualizan y para poder hacerlo necesitas ir a Ininio/Ejecutar/cmd
Luego de eso deberas introducir el comando :
#ipconfig /dnsflush

Para realizar este procedimiento en sistemas Linux, se debe reiniciar el nscd daemon:

- Para reiniciar el nscd daemon, usted debe tipiar /etc/rc.d/init.d/nscd restart en su terminal SSH.

- Una vez que usted ejecuta el comando en su sistema Linux, la cache DNS es renovada y en vaciada.

Para renovar la cache DNS en sistemas Mac OS:

- Usted debe tipiar lookupd -flushcache en su terminal para renovar la cache DNS, en el caso de las nuevas versiones (10.5 en adelante, Leopard) se debe utilizar dscacheutil -flushcache para renovar la cache.

ex: bash-2.05a$ lookupd -flushcache

- Una vez que ejecuta el comando su cache DNS será renovada (en Mac OS X).



Saludos

Revisando el Espacio en nuestro Disco Duro GNU/LINUX

Existen oportunidades que nos nace saber cual es el espacio disponible que se encuentra en nuestro disco duro en LINUX, para ello existe un comando muy facil que nos puede ayudar en esta tarea.
Ese comando es: df

Este comando nos muestra información sobre las particiones: el tamaño, el espacio usado, el espacio disponible, el porcentaje de uso y el punto de montaje. Se puede usar con -h para que muestre los tamaños en forma “entendible por humanos” (en lugar de que mostrar 3064428 muestre 3.0G:

df -h

Comando du

Con este comando podemos ver cuánto tamaño ocupa cada carpeta (y subcarpeta) del sistema. En mi caso me fue de mucha utilidad, pues quería saber exactamente qué es lo que me ocupaba tanto espacio dentro de /home. También admite la opción -h. Dependiendo de la profundidad (número de subcarpetas) que tenga alguna carpeta o sistema de archivos puede llegar a ser un poco tedioso ver la salida del comando. Por eso, otra opción interesante es --max-depth=n donde n es la máxima profundidad que queremos que se nos muestre. Así, si por ejemplo ejecutamos:

du -h --max-depth=3 /home/koki

Nos mostrará el total de espacio que ocupa cada carpeta, hasta un nivel de 3 subcarpetas a partir de /home/koki/, por ejemplo una parte de la salida es:

4.0K /home/koki/.kde/share/icons 1.9M /home/koki/.kde/share/wallpapers 160K /home/koki/.kde/share/mimelnk 1.6M /home/koki/.kde/share/config 4.0K /home/koki/.kde/share/locale 8.0K /home/koki/.kde/share/services 4.0K /home/koki/.kde/share/servicetypes 16K /home/koki/.kde/share/applnk 57M /home/koki/.kde/share/apps 61M /home/koki/.kde/share

Donde vemos el tamaño de cada subcarpeta dentro de .kde/share y al final el total.

Si es que tenemos un número grande de carpetas, podemos redireccionar la salida a un archivo de texto para analizarlo luego con calma:

du -h --max-depth=3 /home/koki >archivo.txt

Espero les sea de mucha ayuda