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ú

Mensajes - Cl0udswX

#161
GNU/Linux / Re:Contenedores Docker for dummies.
Mayo 30, 2016, 01:27:24 AM
@Gabriela saludos brujita del alma, mmmm  la verdad es que los contenedores al no funcionar sobre un sistema operativo  como tal son muy fuertes contra el malware, sumando a ello que tiene políticas muy estrictas en cuanto a que no permite modificaciones después de desplegado el contendemos con lo cual es un poco incómodo, pero veré si se puede desplegar REMnux con todas sus herramientas u desde ahí ir tirando.

Me podré a ello por ti...

@ANTRAX  ya viene el segundo por ahí, así que cuenta con ello bro...

Un abrazo a todos familia...!!!


Enviado desde mi iPhone utilizando Tapatalk
#162
La verdad esa es la visión real de este templo, en lo personal no te había dado la bienvenida pero gracias por llegar y formar parte.

Espero verte muy a menudo y que podamos redactar algo entre los dos.

Un abrazo binario de parte de cloudswx..!!!


Enviado desde mi iPhone utilizando Tapatalk
#163
GNU/Linux / Contenedores Docker for dummies.
Mayo 26, 2016, 08:30:08 PM
Introducción

Saludos queridos underc0ders, primero aclarar que lo "dummy" esta en el sentido cariñoso de la palabra, ya que yo no soy ningún experto en la materia, simplemente me ha tocado unos trainings en el área y que mejor forma de reforzar lo aprendiendo que enseñando. En esta ocacion quiero presentarles un post que considero necesario, ya que en muchos ambientes se suele hablar de contenedores, de Docker, se suelen usar conceptos como "desplegar aplicaciones" ó "entrega de aplicaciones en un entorno funcional" y muchas veces creo que no todo el mundo sabe y conoce del tema en realidad, asi que por eso decidi escribir sobre el tema en mi estilo sencillo y "funcional".

¿Que es un contenedor Linux?


Para definirlo de forma sencilla digamos que es un espacio donde se empaquetan las aplicaciones junto con todo lo que necesitan para funcionar de forma correcta, sin necesidad de instalar mas cosas (dependencias, librerias, plugins, etc..)

Supongamos que Juan Luis Guerra (pudo haber sido cualquier otro, pero como soy dominicano...) hace conciertos de ciudad en ciudad, y en cada ciudad los técnicos deben instalar las luces, el sonido y los instrumentos musicales, en algunos casos deben solicitar cosas extras para poder funcionar de forma correcta, esto es asi en la vida real, y la logística resulta un poco compleja.

Ahora supongamos que de alguna forma los técnicos logran empaquetar las luces, el sonido y los instrumentos musicales en un contenedor gigante, en el que solamente se debe pinchar un botón para que todo se despliegue sin mas complicaciones, no seria esto mas sencillo?

Pues básicamente esto es lo que hace un contenedor, virtualizar una aplicación a nivel del sistema operativo.

Ventajas de los contenedores:

Potabilidad
Es posible desplegar la misma aplicación en diferentes entornos de sistemas Linux de forma rápida y precisa

Viajar ligero.
Por razones que explicare mas adelante, se daran cuenta que un contenedor es mucho mas ligero que una VM, tanto en el aspecto del procesamiento, como del almacenamiento.

Autosuficiencia.
Podemos desplegar aplicaciones libres del tedio de tener que instalar cualquier dependencia, librería ó plugin necesario para el buen funcionamiento de la misma.

Supongamos que elijo 10 sistemas al azar entre todos los underc0ders, para instalar linset. Me descargo el tarball, descomprimo, compilo, doy permisos y ejecuto... Lo mas seguro es que consiga algo como esto:


Y en cada sistema me faltarían distintas cosas, quizás podría crearme un script para que después de analizar las herramientas faltantes las instale por si mismo, pero hay cosas que no serán iguales de un sistema a otro (repositorios, manejador de paquetes, conexiones, etc...) con lo cual no creo que llegue a instalar linset en mas de 4 equipos.

Ahora imaginen que previamente empaqueto linset con todas las herramientas que necesita para funcionar en un contenedor, y que posterior a eso me voy a cada equipo con el contenedor, desplegando asi de forma sencilla y eficaz esta aplicación. Seria mas sencillo no?

¿Que es Docker?


Vamos a wikipedia:

Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software.

Con lo cual podriamos deducir que docker es el software con el que se gestionan los contenedores, es el motor que actua entre las aplicaciones y el sistema operativo.

Las principales partes de Docker son:

1.- El demonio Docker: Usado para manejar los contenedores en el sistema host.
2.- La CLI (Command Line Interface) de Docker: Aqui es donde nos comunicamos con los demonios Docker que manejan los contenedores
3.- Indice de imagenes Docker: Es un repositorio publico ó privado para imagenes docker


Los principales componentes de Docker son:

1.- Contenedores Docker:

Realmente esto no es mas que un directorio donde se empaqueta todo lo necesario para desplegar una aplicación en cualquier otro sistema que sea necesario. El único requerimiento necesario para desplegar un contenedores es tener instalado en el sistema anfitrion el software que gestiona dichos contenedores, en este caso Docker.

La magica oculta detras de esta increible tecnologia se consigue gracias a los LXC (Linux Containers).


Según wikipedia:

LXC (Linux Containers) es una tecnología de virtualización en el nivel de sistema operativo (SO) para Linux.


Dicho de otra forma podríamos decir que es un conjunto de características que aprovechan directamente el kernel de un sistema operativo y eso le permite manejar aplicaciones asi como los recursos que consumen dentro de un único entorno virtualizado. (Trato de simplificarlo, creanme...)

Características de un contenedor:

Que permiten?

- Potabilidad
-Aislamiento de procesos
-Evitan modificaciones externas
-Administración directa en el consumo de los recursos

Que NO permiten?

-Interferir a otros procesos
-Infierno de dependencias (cuando un paquete de software depende una libreria ó de otro paquete que no funciona con la version que estamos instalando)
-No son vulnerables de ataques a nivel de aplicación.
-No pueden abusar en el consumo de los recursos del sistema.

2.- Los docker_images:

Esto es la base sobre la que se construye un contenedor, es un sistema de archivos sazonados con los parametros correctos para que una aplicacion pueda funcionar dentro de dicho contenedor, podriamos imaginarlo como un sistema base linux, construido de una forma en la que ya no es posible actualizarlo ni modificarlo.

3.- Y los Dockerfiles: Son scripts que automatizan el proceso de construir, mantener y manejar una Docker_image.


Ok filosoforaptor, tranquilo, a continuacion explicare en que se diferencian.

Diferencias entre un contenedor y una maquina virtual?

Digamos que tienen dos diferencias basicas muy marcadas:

1.- Los contenedores ocupan menos espacio en disco.
2.- Funcionan mas rapido que una maquina virtual.

La razon?

Vamos a mirar con detenimiento esta imagen:


Como podemos ver en la imagen, el funcionamiento de la app1, app2 y app3 se apoya en sus propios binarios y librerias, lo que a su vez necesita correr sobre algun sistema operativo, de esa forma cuando virtualizamos un sistema operativo es necesario que algo haga de "falsificador" y le haga creer al sistema operativo que esta corriendo sobre un hardware real, y es ahi cuando necesitamos el hypervisor para que cumpla con su funcion. Asi tenemos una app y sus binarios+librerias corriendo sobre un SO, que a su vez corre sobre el hypervisor.

Todo lo anterior se traduce en mas recursos consumidos (almacenamiento y procesamiento) con lo cual para desplegar una aplicacion deberiamos migrar todo el sistema operativo.

En la otra esquina esta el esquema de los contenedores, y como podemos ver se elimina la necesidad de tener un SO funcionando sobre un hypervisor, mas bien tenemos que las aplicaciones se basan en sus binarios y librerias y estas sobre el motor de Docker, y ya..!!!

So Simple..!!


¿Como instalar Docker?

Hare la instalacion tomando como distro de referencia a Debian, ya que es la que tengo en mi portatil.

Primero agregamos la llave para el repositorio:

Código: text
sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D


Luego  abrimos el /etc/apt/sources.list.d/docker.list con nuestro editor favorito, en mi caso "nano" (de no existir el archivo entonces sera creado)

Código: text
sudo nano /etc/apt/sources.list.d/docker.list


Y dentro del fichero agregar las lineas de acuerdo a la version que corresponda:

Debian Wheezy
deb You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login debian-wheezy main

Debian Jessie
deb You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login debian-jessie main

Debian Stretch/Sid
deb You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login debian-stretch main


Ahora damos un update a la lista de paquetes:

Código: text
sudo apt-get update


Cabe aclarar que para poder usar los repositorios de Docker es necesario que APT trabaje con https y certificados CA, de conseguir algun error al hacer un update seria necesario instalar:

Código: text
apt-get install apt-transport-https ca-certificates

Si todo va bien ya solo tendriamos que hacer un:

[code]sudo apt-get install docker-engine

Y conseguiriamos una pantalla como esta:

[center][img width=481 height=400]http://fotos.subefotos.com/1370bf73703de455693d26105d1df3e2o.png[/img]

Bueno seria una pantalla parecida, ya que dudo que alguno de ustedes tenga a Rust Cohle (True detective) como fondo en su terminal  ;D

Y al aceptar iniciaría todo el proceso de instalación de la tecnología docker, luego de instalado iniciamos el demonio:

[code]sudo service docker start


Verificamos la instalacion con un amistoso:

Código: text
sudo docker run hello-world


y conseguiriamos algo asi:



Y con eso mi trabajo estaria listo por ahora, quizas mas adelante les preparare algo mas ambicioso, pero vayan masticando algo y practicando por su cuenta un poco.

Les dejo algunos enlaces de interés referentes a los contenedores.

Documentos Docker
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Entrenamiento oficial
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#164
Muy buen aporte Stiuvert, gracias por compartir.

Realmente creo que la la computacion en la nube terminara dandole un giro a la seguridad de las redes WPA ya que a medida que vamos avanzando tendremos mas poder de procesamiento por cada vez menos dinero. Recientemente estoy escribiendo algo sobre los contenedores Docker y es una barbaridad las cosas que se pueden hacer.

E teoria seria posible hacer ataques por diccionario de forma fragmentada, creando varias instancias y pasandole a todas el handshake con la diferencia de que segmentamos el diccionario para cada instancia. Y con los buenos precios de AmazonWebService podriamos conseguir por 2 dolares la hora una instancia con 22Gb de RAM, 33.5 EC2 (2 x Intel Xeon X5570, quad-core "Nehalem"), y 2 NVIDIA Tesla "Fermi" M2050 GPUs.

Es decir que por 8 dolares la hora podriamos tener 4 instancias buscando hashes hasta dar con el valido.

Muy interesante todo esto..!!
#165
Muy interesante...!!

Lo mejor del caso es que es multiplataforma, con lo cual le da cierta flexibilidad al momento de hacer algun volcado en algun trabajo de forensic.

Saludos y gracias por el aporte.
#166
Depende de como el Admin haya configurado la cuenta estandar de la que conseguiste las credenciales, ya que precisamente esa es la idea de quitar o dar privilegios.

Por ejemplo un usuario estándar que no este supuesto a conectarse de forma remota no podrá hacerlo.
#167
Correcto.!!

Podrías hacerlo si tuvieras una maquina troyanizada en el mismo segmento de red que el objetivo que buscas.

Saludos.
#168
No es posible hacer IP Spoofing fuera de tu red local ya que el router descartara cualquier paquete que tenga una direccion IP de origen en su cabecera que no pertenezca a la red de la interfaz por donde la recibio. Dentro de la red LAN puedes hacer el ataque pitufo que es inundar una estacion con respuestas a un ping falseado (spoofing) que tiene como destino la direccion Broadcast de esa red y como origen la direccion IP de la victima. Tambien esta el IP Spoofing que trata de hacerse pasar por una maquina que guarda cierta confianza con otro equipo (generalmente un server) y una de las medidas de seguridad es un filtrado por direcciones IP, pero este tipo de ataque son muy complejos ya que debes:

Saber la direccion IP del equipo a suplantar (Obvio)
Inhabilitar el equipo que estas suplantando para que este no responda las peticiones SYN (Podrias usar el ataque Smurf descrito arriba)
Saber calcular los numeros de secuencias en las cabeceras de los paquetes TCP. (Que dependerá en gran parte del ventanamiento y que a su vez depende del comportamiento de la red)

Saludos.

#169
Pues recuerdo que fue alguien del staff me invito estando yo en el You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login (creo que fue @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login ó harkomen) y como nunca digo que no cuando se trata de compartir me apunte. El resto es historia.

Saludos.
#170
Saludos.

Citarsi monto un servidor IIS en otra red y desde mi red lo ataco con alguno de esos programas que nombre arriba o simplemente creo yo un programa que mande peticiones tcp,udp,icmp o http request, puede caer el sitio y quede denegado?

No, no caeria nada, simplemente te faltaria potencia, un servidor de acuerdo a sus configuraciones puede manejar cientos, miles de peticiones por segundo con lo cual la capacidad de procesamiento seria superior a la capacidad de generacion.

Citarsolamente con un ataque ddos usando botnets se puede?,

Pues pa que te digo que no si si,  por eso se alquilan... Para hacer ataques distribuidos y sostenidos a un blanco en particular.

Citarexisten sitios que esten creados para practicar este tipo de cosas sin perjudicar a nadie?

Ummmmm.... No que yo sepa.
#171
Normalmente cuando haces un ataque DoS tratas de inhabilitar una caracteristica del sistema, por ejemplo un login que se bloquee despues de 10 intentos, le atacas y lo bloqueas, con lo que impides que alguien con las credenciales legitimas pueda autenticarse. Si tomas un iphone y fallas en el PIN mas de 10 veces este se bloquea por 2 minutos, si sigues intentando se bloqueara por 5 minutos y asi ira subiendo hasta bloquearse por dias, en este caso estarias haciendole DoS.

Cuando hablamos de DDoS estamos hablando de inundar de peticiones un servicio de forma distribuida, es decir supongamos que quieres atacar por http request y comienzas el bombardeo, el servidor se protegera simplemente bloqueando la direccion IP que le esta mandando los request, pero si es un ataque "distribuido" es dificil filtrar por direcciones IP cuales peticiones son legitimas y cuales no.

En resumen de cuentas, no te funcionaran un DDoS por dos cosas:

1.- No estas distribuido, tienes una maquina virtual atacando otra
2.-  Por ser entornos virtualizados ambas maquinas dependen del procesamiento del huesped, con lo cual si la maquina atacada se empieza a quedar sin recursos entonces la maquina atacante tambien se ralentiza.

Espero haber respondido tu duda, cualquier cosa comenta por aqui mismo hermano.

Saludos.
#172
Hola..!!!

Bienvenido al barco, espero te sientas a gusto y que tu estancia con nosotros sea larga, un abrazo.


Saludos
#173
Creo que una de las cosas por las cuales habia amigos reales era que no habian frios algoritmos que te hicieran sugerencias de amigos, los contactos eran personas que conocias de alguna forma previa y a las cuales tenias que pedirle su correo para agregarlos y estos tenian en su poder la opcion de darte la direccion ó no hacerlo.

Asi casi siempre tenias amigos de verdad.

#174
La gente no es ingenua ni tonta, mas bien el problema es que no son conscientes del peligro, no se sienten lo suficientemente importante para ser victimas de ningun atacante, por eso se piratean el call of duty y para poder jugarlo le aplican un crack de dudosa procedencia que en el readme.txt pone algo como: "Desinstala el AV para que pueda funcionar" y el usuario que lo que piensa es en poder jugar sin comprar el juego simplemente hace lo que sea por ello.

Cuando alguien va a una empresa  a hablar sobre seguridad informatica la parte que se lleva mas tiempo es la que tiene que ver con la conducta humana como vulnerabilidad y como se explota ese fallo. La ingenieria social estara por mucho tiempo con nosotros y no es cuestion de que sean bobos ó no, es un asunto de ignorancia (ojo que ser ignorante y tonto no es lo mismo)

Nadie lo sabe todo, pero todos ignoramos algo.
#175
Pues recuerdo cuando las cosas eran de:

"Me concecto por DialUp, las llamadas telefonicas no entraran pero no me importa, estare un rato en msn"

Y al poner mi correo y mi pass esas dos figuras comenzaban la hermosa danza de la conexion, toda mi lista de amigos reales, chats activos, el famoso tricky del netstat mientras se hacia la transferencia de un fichero, los zumbidos, etc... recuerdo que me gustaba mucho ir a un cyber y tirar Cain&Abel a capturar contraseñas (era la gloriosa epoca del texto plano). Luego llegaron las video llamadas y fue la bomba..!!!

Recuerdo esa epoca con mucha felicidad, se era realmente feliz en esos tiempos.

Saludos.
#176
Igual que como dice numeritos, yo lo hago como hobbie y por pasion, pero me ayuda mucho en el trabajo, me da un plus en lo que hago ya que por ejemplo en un dia normal tengo que configurar streamings de video de una locacion a otra, enlaces p2p para conexiones remotas etc.. Y saber un poco de cifrados, autenticacion & " other security stuff" me ayuda a realizar mejor mi trabajo.

Pero entiendo muy bien tu punto de vista Whiz, yo he conocido los encargados de seguridad de otras empresas y me doy cuenta que se la pasan todo el dia ajustando listas de acceso, manejando todo desde una interfaz web dando click aqui y click alla, etc... Creo que la vision general del pentester solo se encuentra en empresas que se dedican exclusivamente a ello.

Saludos.
#177
Muy buen trabajo, esta muy bien redactado y muy ameno a la lectura, felicidades..!!!


Saludos por alla y gracias.
#178
Dudas y pedidos generales / Re:Ayuda con Wireshark
Abril 27, 2016, 08:49:16 PM
Seguramente es algo con los permisos, intenta ejecutarlo como root:

sudo wireshark

Selecciona la interfaz and get ready..!!

Saludos.
#179
Dentro de la red no podras ver direcciones externas, en el router que da acceso al internet podras ver traducciones NAT de una peticion a una direccion publica (la tuya) desde una direccion publica remota, en caso de ser un servidor para servicios privados podrias saltarte todo eso con una lista de acceso (ACL) para que solo puedan alcanzar el server las direcciones que asi lo tengan permitido.

Si lo que quieres es monitorizar la red y sus recursos, deberias hacerte con algun soft para esos fines, te recomiendo leer este articulo.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos.
#180
La fuerza bruta se hace a base de diccionarios...

Saludos.