Archivo

Posts Tagged ‘hacking linux’

Explotación de Software Parte 12 – Uso de System Calls en Linux

abril 24, 2014 Deja un comentario

Ejemplos sobre el uso y monitorización de system calls en sistemas linux.

SimpleSysCalls.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/SimpleSysCalls.s
ComplexSysCalls.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/ComplexSysCalls.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 11 – Funcionamiento del Kernel de Linux y System Calls

abril 17, 2014 Deja un comentario

Explicación sobre los componentes principales del Kernel de Linux y el funcionamiento de las System Calls.

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 10 – Elementos en la Stack

abril 10, 2014 Deja un comentario

Explicación sobre los elementos que se almacenan en la stack (además de los stack frames de las funciones del programa).

Parameters.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/Parameters.s
VariablesEntorno.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/VariablesEntorno.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 9 – Funcionamiento de la Stack

abril 3, 2014 Deja un comentario

Explicación sobre el funcionamiento de la Stack cuando se producen invocaciones a funciones y la forma en la que se almacenan y recuperan datos. También se explican los valores que se almacenan en el stack frame asociado a cada función.

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 8 – Bucles y Funciones en Assembly

marzo 27, 2014 Deja un comentario

Instrucciones básicas para realizar crear bucles en ensamblador.
Introducción a la definición e invocación de funciones en ensamblador.

LoopTesting.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/LoopTesting.s
FunctionTest.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/FunctionTest.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 7 – Instrucciones Logicas en Assembly

marzo 20, 2014 Deja un comentario

Lógica booleana en programas escritos en ensamblador.

LogicDemo.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/LogicDemo.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 6 – Desplazamientos de Bytes y Trabajo con enteros

marzo 13, 2014 1 comentario

Instrucciones para realizar operaciones aritméticas simples y para el desplazamiento de bytes.

DemoRotation.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/DemoRotation.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 5 – Flujo de ejecución de un programa en Assembly

marzo 6, 2014 1 comentario

Instrucciones disponibles en ensamblador para ejecutar saltos condiciones (Similar a las instrucciones if-else en lenguajes de alto nivel).

inconditionalJumps.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/inconditionalJumps.s
conditionalJumps.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/conditionalJumps.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 4 – Programacion en Assembly bajo Linux

febrero 27, 2014 1 comentario

Uso de la instrucción LEA para manipulación de direcciones de memoria.
Instrucciones varias para manipulación de cadenas en ensamblador.

lodsDemo.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/lodsDemo.s
stosDemo.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/stosDemo.s
cmpsDemo.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/cmpsDemo.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 3 – Programación en Assembly bajo plataformas Linux

febrero 20, 2014 1 comentario

Diferencias entre sintaxis Intel y AT&T para escribir programas en ensamblador.
Comenzamos a trabajar con programas simples para manipulación de datos y direcciones de memoria utilizando el GNU Assembler.

MovInstDemo.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/MovInstDemo.s
MovsDemo.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/MovsDemo.s
MovRep.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/MovRep.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 2 -Modos de operación del procesador e Instrucciones en Assembly

febrero 13, 2014 1 comentario

Conceptos básicos sobre el funcionamiento del procesador y sus modos de operación (arquitectura IA-32).
También se habla sobre conceptos básicos sobre programación en ensamblador.

SimpleExit.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/SimpleExit.s
SimpleData.s: https://github.com/Adastra-thw/ExploitSerie/blob/master/SimpleData.s

Repositorio GIT de la serie:

https://github.com/Adastra-thw/ExploitSerie.git


Make a Donation Button

Explotación de Software Parte 1 – Conceptos básicos arquitectura de Ordenadores

febrero 6, 2014 1 comentario

Vídeo introductorio sobre conceptos y elementos básicos en la arquitectura de ordenadores.


Make a Donation Button

Intentando evadir mecanismos y restricciones de Seguridad – Desactivando procesos resilientes en una máquina comprometida – Parte XV

marzo 14, 2012 14 comentarios

En esta ocasión se intentará indicar como es posible desactivar procesos resilientes en máquinas comprometidas (máquinas Windows) para evitar las dificultades que conlleva trabajar con un sistema monitorizado por un anti-virus u otro software de seguridad, para esto se utilizará en primer lugar MetaSploit Framework con una consola meterpreter establecida, IRB para ejecutar scripts escritos en Ruby contra la máquina comprometida y finalmente una DLL que permite “dormir” un proceso determinado y sus correspondientes procesos hijo, esto es todo lo que se necesita para conseguir eliminar procesos resistentes que no pueden ser detenidos o suspendidos por medio de los mecanismos convencionales.

En entradas anteriores de este blog se han indicado las bases sobre el uso de Ruby y de IRB desde Meterpreter, estos conocimientos son en esta ocasión, utilizados con el fin de crear un script que permita la carga de la librería DLL a un proceso del sistema y una vez cargada, intentará suspender el proceso. El procedimiento es realmente simple, se indica a continuación:

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Uso de redes virtuales privadas – OpenVPN ALS/Adito – Parte XIII

marzo 9, 2012 Deja un comentario

OpenVPN ALS es una solución de VPN escrita en Java con interfaz web y soporte a SSL, esta aplicación Web soporta AJAX y tecnologías Web 2.0 que permite el acceso completo a una red de ordenadores conectados independiente de su localización física. OpenVPN ALS es también conocido como Adito, el cual anteriormente era compuesto por SSL-Explorer, actualmente se encuentra disponible de forma independiente.

Esta aplicación es software libre, licencia GNU/GPL lo que invita a utilizarla y comprobar con un nivel de profundidad adecuado las potencialidades que ofrece.

A continuación se indicará el proceso de instalación y los conceptos clave para tener una VPN con Adito escalable y sobre todo segura.

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Uso de redes virtuales privadas – OpenVPN – Parte XII

marzo 7, 2012 Deja un comentario

OpenVPN es una aplicación sumamente interesante en el campo de las redes VPN que aprovecha al máximo todas las características de cifrado, certificación y autenticación que soporta OpenSSL para crear túneles sobre redes IP utilizando únicamente un puerto TCP/UDP, se trata de una aplicación bastante robusta y estable que se ha consolidado como una de las mejores aplicaciones en el campo de VPN en el software libre (su licencia es GNU/GPL).

Al igual que cualquier túnel sobre IP utilizando una VPN, una de las principales ventajas es precisamente la posibilidad de “saltar” las restricciones que pueden estar establecidas entre una máquina determinada y la red a la cual se encuentra conectada, a continuación se indica como es el proceso de instalación y como utilizar OpenVPN

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Uso de redes virtuales privadas – Hamachi – Parte XI

marzo 5, 2012 3 comentarios

Existen muchas herramientas que permiten usar VPN las cuales permiten crear, literalmente, una “red” completamente independiente de las configuraciones de Firewall, IDS y otros elementos restrictivos en un determinado entorno (como por ejemplo, una organización, una universidad, etc).

Los conceptos de lo que es una VPN, se pueden ver con un mayor nivel de detalle aquí: http://en.wikipedia.org/wiki/Virtual_private_network

la intención de esta entrada es simplemente indicar como se puede utilizar este mecanismo para realizar un “bypass” de las restricciones a las que habitualmente nos encontramos expuestos en determinados sitios, a continuación se indicará el uso de Hamachi para lograr este cometido

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Burlando restricciones de Firewall usando protocolo ICMP – Parte X

marzo 2, 2012 1 comentario

ICMP (Internet Control Message Protocol) es un protocolo que permite consultar si un servicio solicitado se encuentra realmente disponible para su uso así como también si un host remoto puede ser alcanzado, por ejemplo, cuando se ejecuta un comando ping especificando una dirección IP o un nombre de dominio, realmente se utiliza protocolo ICMP para determinar si el host objetivo se encuentra al alcance.

>ping google.com

PING google.com (209.85.147.106) 56(84) bytes of data.

64 bytes from bru01m01-in-f106.1e100.net (209.85.147.106): icmp_req=1 ttl=52 time=65.3 ms

64 bytes from bru01m01-in-f106.1e100.net (209.85.147.106): icmp_req=2 ttl=52 time=65.2 ms

64 bytes from bru01m01-in-f106.1e100.net (209.85.147.106): icmp_req=3 ttl=52 time=64.0 ms

Partiendo de este punto, frecuentemente nos encontramos que las peticiones salientes de una máquina utilizando este protocolo, rara vez son restringidas por los firewall, lo que permite utilizar este protocolo para realizar conexiones reversas, permitiendo a un atacante tener acceso a una consola en la máquina objetivo pasando por detrás de las restricciones del firewall, sin embargo, actualmente existen pocas herramientas que aprovechen esta potencial vulnerabilidad. En esta entrada se realizaré un análisis sobre algunas de las herramientas disponibles para este propósito, su uso y sus resultados, así como las ventajas y desventajas que tienen cada una de estas.

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Escaneo con NMAP evadiendo Firewalls – Parte VII

febrero 24, 2012 5 comentarios

Existen distintas técnicas que permiten conocer cuales puertos se encuentran abiertos en una máquina remota, cada una estas técnicas utilizan distintos tipos de envío de paquetes y protocolos, sin embargo, cuando una máquina remota tiene un Firewall o un IDS instalado y correctamente configurado, lo más probable es que los escaneos sean infructuosos, dado que la salida más frecuente, será precisamente ver todos los puertos bloqueados. Por ejemplo, si ejecutamos un clásico escaneo de puertos contra una máquina windows sin un firewall activo, podríamos ver lo siguiente:

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Evadiendo Anti-Virus con Metasploit Framework usando VBSMEM – Parte VI

febrero 22, 2012 10 comentarios

VBSMEM es un encoder incluido en las versiones de MetaSploit FrameWork  superiores a la 3.8, nace de la necesidad de una solución al problema que se enfrentar los pentesters a la hora de generar payloads con msfpayload, codificarlos múltiples veces con msfencode para que al final, sean detectados por el AV en la maquina objetivo y no sea posible obtener una sesión meterpreter, lo que desde luego, es bastante frustrante. Se basa en la idea de que, los payloads con VBScript no son detectados por los AV actuales, esto ocurre, porque se ejecutan en memoria y no realizan ningún tipo de operación de escritura en disco, evidentemente el AV confiá en el contenido de una macro que se ejecute dentro de un programa de Microsoft Office (por ejemplo), esto se ha detallado hace unas cuantas entradas, para revisar dicha entrada ver aquí http://thehackerway.com/2012/02/13/intentando-evadir-anti-virus-usando-metasploit-framework-y-visual-basic-contra-plataformas-windows-parte-ii/ tomando este enfoque, se ha implementado el encoder VBSMEM, el cual escribe un shellcode en un fichero VBScript el cual utiliza una librería llamada Dynawrap.dll la cual ejecuta llamadas nativas del sistema operativo en concreto las funciones:

1. VirtualAlloc: Separar un espacio en memoria para la ejecución del shellcode.

2. WriteProcessMemory: Copiar el shellcode en el segmento de memoria separado.

3. CreateThread: Ejecutar el shellcode cargado en memoria.

Por lo demás, para el funcionamiento de este encoder, se utilizan las mismas técnicas de ofuscación para VBScript para ocultar el Shellcode actual de un software AV en la máquina objetivo, la ventaja de esto es que se crea un fichero ejecutable (.vbs) con las mismas características de ofuscación de un fichero en ms office con una macro maliciosa, por lo tanto no es detectable (al menos a día de hoy) por ningún AV del mercado. Los pasos a seguir para conseguir esto son los siguientes:

Leer más…

Intentando evadir mecanismos y restricciones de Seguridad – Evadiendo Firewalls usando MetaSploit Framework – Parte V

febrero 20, 2012 6 comentarios

Existen diferentes técnicas para el establecimiento de una conexión entre dos máquinas que se encuentran separadas y condicionadas por un firewall que evita que determinados puertos, protocolos y/o hosts puedan establecer conexiones, aunque se trata de un mecanismo bastante eficiente, en muchas ocasiones estas reglas no restringen absolutamente todo por diferentes razones, como por ejemplo, la necesidad de tener determinados puertos abiertos para realizar conexiones a un servicio externo, entre otras cosas. Esta situación es bastante frecuente en algunas organizaciones, donde alguna de las aplicaciones internas necesita acceso a un servicio externo y para este fin se debe dejar abierto uno o varios puertos. En este escenario se puede realizar un ataque de “fuerza bruta” en busca de una conexión pasando por el firewall, para este fin se utilizan los payload windows/*/reverse_tcp_allports que intentan capturar alguno de estos puertos abiertos e iniciar la transferencia del stage.

Leer más…

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 778 seguidores

%d personas les gusta esto: