Huellas en la escena del crimen

Iniciado por tiestsodeejay, 2 Noviembre 2013, 05:29 AM

0 Miembros y 1 Visitante están viendo este tema.

tiestsodeejay

Saludos a todos colegas!

les propongo el siguiente escenario y ustedes me aclaran o dan su punto de vista. Lo cierto es que necesito saber "COMO" y "QUE"..

Escenario:


Mi equipo con WindowsXP esta en una lan, y desde otra maquina con Windows 7 que también esta en la misma lan se realiza la apertura de los discos C y D de manera remota, usando la clave administradora para hacerlo, Ejemplo:

(en la bara de direccion de una carpeta)
\\192.168.1.20\d$\
User: Admin
Pass: test123
dominio: PCLAN1

hecho esto, sin tener que romper ninguna regla "aparentemente", se logra ingresar al equipo, copiar unas carpetas y borrar otras.. Ahora viene la pregunta:

Días después, de que manera puedo auditar el equipo para saber si:

1)Alguien se conecto a la maquina,
2)que carpetas modifico o copio o borro,
3)queda algún registro de la IP?
4)queda algún registro de la MAC que perpetro el hecho?
5)en que carpetas podría ubicar estos datos?

He encontrado información muy vaga al respecto, tan dispersas que son mas las dudas que tengo que las certezas...

Agradecería muchisimo si me pudieran ayudar..
Connected...!

nightcode

lo que te voy a explicar es un poco largo no se si se ajuste a lo que preguntas en si pero es muy importante. La post explotación trata de leerlo todo sobre todo la parte final:

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)

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 comando ejecutados por cada usuario (aunque no registra los argumentos con que dichos comando fueron ejecutados).

Espero te sirva un poco trate de resumirlo para no ser muy técnico muchos no le prestan importancia a la post explotacion que es casi 90% mas importante que la explotación o el ingreso al sistema. Saludos Att: Nightcode




"Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los ordenadores"

0x98364

Muy bien...so lo has explicado en Linux.... :-X :huh:

Para Windows yo creo que desde el visor de eventos se pueden ver esas cosas.
while(!noHacking)
      KeepCalmAndHackThePlanet.start();

nightcode

Jaja me deje llevar. Y si desde el visor podes verlos y mas sencillo xD
"Las organizaciones gastan millones de dólares en firewalls y dispositivos de seguridad, pero tiran el dinero porque ninguna de estas medidas cubre el eslabón más débil de la cadena de seguridad: la gente que usa y administra los ordenadores"

Axtrall

Hola tiestsodeejay,

pudiste contestar a las 5 preguntas que planteabas solamente utilizando el visor de eventos?

Saludos.
La felicidad es siempre un objetivo, no un estado.