Thursday, April 16, 2020

Hidden Networks: Nueva Versión Con "TimeLine"

La C0r0n4CON surgió como un evento de un día en el que se buscaba donaciones para la Cruz Roja. El evento fue creciendo y acabó siendo un evento de 4 días con 4 salas en paralelo. Cuando Carlos Rodríguez me invitó a participar, por supuesto no lo dudé. Vi como el evento creció y todo el mundo quiso poner su granito de arena. El enfoque del evento creció para que todo el mundo pudiera aprovechar, aprender, conocerse y disfrutar del conocimiento de todos durante 4 días.

Figura 1: Hidden Networks: Nueva versión con "TimeLine"

Tanto mi compañero Fran Ramírez y yo pensamos en una charla que pudiera ser de interés por su ámbito forense, pero que a la vez fuera algo que pudiera ser de interés para todos. Los dispositivos USB y el rastro que éstos dejan son de interés para todo el mundo, hablando de nuestro proyecto de Hidden Networks. Como comentamos en la charla, este fue un proyecto que empezamos a trabajar hace un par de años en el departamento de Ideas Locas, pero que venía de una idea de Chema Alonso del año 2014.


Figura 2: Codetalk for Developers: Hidden Networks

En el año 2018 hablamos de ellas en Rooted Valencia, y dimos una CodeTalk For Developers hablando de las Hidden Networks en ElevenPaths, ya que fue el año que se presentó el proyecto y la herramienta, en su primera versión. Desde entonces, es cierto que hemos ido añadiendo alguna funcionalidad, pero por cuestión de tiempo y optimización de código no hemos publicado aún lo nuevo.

Prometemos actualización

Durante la charla comentamos que tenemos una actualización de la herramienta, ya que desde 2018 no se actualizaba. Así que durante estas dos próximas semanas prometemos tenerla publicada. Estamos "puliendo" ese código.

Figura 3: Hidden Network Python

Eso sí, os dejamos el enlace al Github de la herramienta, tanto de la herramienta con nuestro querido Python que tanto adoramos los pentesters, como podéis ver en la Figura 3, como sus inicios con los scripts en Powershell que también es una de nuestras herramientas favoritas para hacer pentesting.

Figura 4: Hidden Network PowerShell

Los dispositivos USB y los incidentes de seguridad

En la charla comenzamos hablando sobre la historia del USB, el empujón histórico que Steve Jobs le da quitando los Legacy del iMac G3 por dos puertos USB, hasta cómo el USB ha estado involucrado en una gran cantidad de incidentes de seguridad. Seguramente los incidentes de seguridad más conocidos serían Stuxnet o Brutal Kangaroo entre otros.

Figura 5: Algunos incidentes con USB

Comentando un poco estos, llegamos a hablar de Rubber Ducky - o nuestro querido Arducky - como vector de ataque a través de un USB con un enfoque muy distinto, ya que se hace uso de USB para disponer de un teclado virtual. Otra de las amenazas mostradas fue USB Killer, como un ataque físico para una denegación de servicio completa del equipo.



Pero el volumen de ellas es cada vez más alto y no para de crecer, como por ejemplo el USB Ninja que utiliza Kevin Mitnick en sus presentaciones.

¿Qué es una Hidden Network? 

Una "Red Oculta" por definición para nuestro proyecto es una red abstracta generada por el camino que ha seguido un dispositivo USB. Esto es importante de entender, ya que no tiene que ver con arquitectura TCP/IP. Esto puede llevar a error. Debemos entender que una red oculta es el número de nodos (equipos) por el que una tecnología ha pasado. No solo tiene por qué ser un USB. Este mismo ejercicio se podía hacer con tecnología Bluetooth

Figura 7: Equipo "desconecado" de la red cable y WiFi

Entonces, si tenemos una red inventariada en nuestra organización, pero no controlamos por qué equipos van pasando diferentes dispositivos USB, podemos estar creando un bypass de reglas de red o, directamente, estar conectando una red aislada con Internet

Figura 8: Creación de una Hidden Network

Otra forma de visualizar esto podría ser el siguiente esquema. Lo importante es que la idea quede clara. Debemos controlar la trazabilidad de estos dispositivos. Si existe un incidente de seguridad y tenemos indicios de que el vector de acceso ha sido el USB, se podrá trazar los equipos o nodos por los que éste ha ido pasando gracias a la herramienta Hidden Networks

Primera idea: Conceptos y Powershell 

Cuando surge la idea empezamos a trabajar con Powershell para poder conectarnos con las máquinas Windows de manera sencilla, pensando en una organización. Empezamos a trabajar en ver qué parámetros o información deja un dispositivo USB.

Figura 10: Pentesting con PowerShell 2ª Edición

Llegamos al querido registro de Windows dónde hay mucha información.  Lo primero que hay que decir es que es un hive HKLM, por lo que para poder "tocar" o poder "eliminar" cierta información habría que tener privilegio en la máquina, pensando en un "anti-forensic".

Figura 11: Información de USB en el Registro de Windows. 

Como se puede ver en la Figura 11, accediendo al registro de Windows hay muchas cosas que se pueden saber sobre qué dispositivos se han conectado. Tal y como se observa la información que se puede sacar a priori es:
- USB Serial Number: Este identificador es único para los dispositivos USB y se repite si lo llevamos a otro equipo. Gracias a él podremos rastrear el paso de un equipo a otro. Además, da nombre a la clave.  
- El Container ID: Este es un identificador único en la máquina, pero si llevamos el dispositivo a otra máquina, se generará un nuevo Container ID.  
- FriendlyName: El nombre del dispositivo. Gracias a esta información se podrá obtener la imagen del dispositivo USB. 
Esto fue la primera aproximación, ya que hay que tener en cuenta que las fechas de inserción (de la primera conexión) en el equipo pueden obtenerse y será un dato fundamental para reconstruir la línea temporal que vamos a preparar.

Figura 12: Mapa de conexiones USB en línea temporal generada con Gephi

El script devolvía por pantalla los dispositivos de una máquina, pero lo interesante era generar un CSV con toda esa información de todas las máquinas. De esta manera, empezamos a trabajar con Gephi, una librería para generar grafos. Como se puede ver la idea de la línea temporal o "TimeLine" ya la teníamos en la cabeza, pero nos faltaba darle sentido a las direcciones de los arcos. 

Segunda idea: Python y herramienta final 

Nuestro compañero Fran Ramírez propuso hacer la herramienta en Python y darla mayor entidad. En la siguiente imagen se puede ver la GUI de Hidden Networks. Tienes una descripción completa del interfaz y cómo se utiliza en el artículo que escribimos en este blog: Hidden Network "Una herramienta de ElevenPaths para detectar las redes ocultas en tu empresa".

Figura 13: Interfaz de Hidden Networks

Pero cuando acabamos la herramienta, empezamos a pensar en el enfoque más dirigido al Análisis Forense, por lo que perseguimos el obtener los datos de conexión de los dispositivos, ya con el Timeline muy en la cabeza, exprimiendo al máximo la potencia de nuestra herramienta escrita en Python.

Figura 14: Técnicas de  Análisis Forense Informático para Peritos Judiciales
de Pilar Vila

Y si quieres verla en funcionamiento, en el siguiente vídeo tienes tal y cómo funcionaba nuestra Hidden Network Tool creada en 2018. Sin tener aún desarrollada la opción del TimeLine en las conexiones de los dispositivos USB.


Figura 15: Hidden Network Tool escrita en Python

Para hacer el TimeLine de conexiones, el archivo setupapi.dev.log de la ruta c:\windows\inf dispone de la información de la fecha de inserción del dispositivo USB. Esto nos da todo lo necesario para poder generar un timeline e incorporarlo a la herramienta en forma de grafo dirigido.  Pero estuvimos pensando en qué más cosas se puede sacar, y vimos que se puede sacar el usuario o usuarios que tenían habilitada la sesión en el equipo en el momento de inserción del dispositivo

Figura 16: Archivos setupapi.dev.log

A continuación, se muestra una captura de un grafo dirigido para un USB TransMemory insertado en todos estos equipos y con sus fechas de inserción. Además, una de las últimas características añadidas fue la posibilidad de poder consultar la imagen del pendrive o del dispositivo USB.

Figura 17: TimeLine de conexiones de un Pendrive

De esta forma, se puede obtener un dato gráfico que puede ayudarnos a buscar el foco de infección de forma física. Es más fácil conocer qué buscar, que ir comprobando el USB Serial Number de todos los dispositivos de la organización. Para acabar, os dejamos el enlace al paper de Hidden Networks para que podáis conocer y estudiar en mayor profundidad el detalle. 



Y ya para terminar, os dejamos el vídeo completo de la charla que dimos mi compañero Fran y yo sobre Hidden Networks en C0r0n4CON. Esperamos que os guste y que probéis la herramienta sobre vuestra red. 

Figura 19: Hidden Networks en C0R0N4CON


Esperamos que estos proyectos que llevamos desde el equipo de Ideas Locas os sean de utilidad, y os estimulen a crear cosas nuevas. Por supuesto, más que abiertos estamos a que colaboréis con nosotros en todos ellos.

Saludos,

Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root",  "Pentesting con Powershell" y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica.  Para consultas puedes usar el Buzón Público para contactar con Pablo González

Figura 20: Contactar con Pablo González

Related news


  1. What Are Hacking Tools
  2. Pentest Tools For Mac
  3. Hacker Tools For Windows
  4. Hacking Tools Online
  5. Pentest Tools Github
  6. Hack And Tools
  7. Bluetooth Hacking Tools Kali
  8. Hack Tools For Pc
  9. Easy Hack Tools
  10. Hacking Tools Hardware
  11. How To Hack
  12. Pentest Tools For Windows
  13. Hack Tools For Games
  14. Hacking App
  15. Easy Hack Tools
  16. Hacking App
  17. Kik Hack Tools
  18. Hack Tools For Pc
  19. Hacker Tools For Mac
  20. Beginner Hacker Tools
  21. Hack App
  22. Hacker Search Tools
  23. Hacker Tools Github
  24. Hacking Tools For Mac
  25. Easy Hack Tools
  26. Hack Tools 2019

Goddi (Go Dump Domain Info) - Dumps Active Directory Domain Information



Based on work from Scott Sutherland (@_nullbind), Antti Rantasaari, Eric Gruber (@egru), Will Schroeder (@harmj0y), and the PowerView authors.

Install
Use the executables in the releases section. If you want to build it yourself, make sure that your go environment is setup according to the Go setup doc. The goddi package also uses the below package.
go get gopkg.in/ldap.v2

Windows
Tested on Windows 10 and 8.1 (go1.10 windows/amd64).

Linux
Tested on Kali Linux (go1.10 linux/amd64).
  • umount, mount, and cifs-utils need to be installed for mapping a share for GetGPP
apt-get update
apt-get install -y mount cifs-utils
  • make sure nothing is mounted at /mnt/goddi/
  • make sure to run with sudo

Run
When run, will default to using TLS (tls.Client method) over 636. On Linux, make sure to run with sudo.
  • username: Target user. Required parameter.
  • password: Target user's password. Required parameter.
  • domain: Full domain name. Required parameter.
  • dc: DC to target. Can be either an IP or full hostname. Required parameter.
  • startTLS: Use to StartTLS over 389.
  • unsafe: Use for a plaintext connection.
PS C:\Users\Administrator\Desktop> .\godditest-windows-amd64.exe -username=testuser -password="testpass!" -domain="test.local" -dc="dc.test.local" -unsafe
[i] Begin PLAINTEXT LDAP connection to 'dc.test.local'...
[i] PLAINTEXT LDAP connection to 'dc.test.local' successful...
[i] Begin BIND...
[i] BIND with 'testuser' successful...
[i] Begin dump domain info...
[i] Domain Trusts: 1 found
[i] Domain Controllers: 1 found
[i] Users: 12 found
[*] Warning: keyword 'pass' found!
[*] Warning: keyword 'fall' found!
[i] Domain Admins: 4 users found
[i] Enterprise Admins: 1 users found
[i] Forest Admins: 0 users found
[i] Locked Users: 0 found
[i] Disabled Users: 2 found
[i] Groups: 45 found
[i] Domain Sites: 1 found
[i] Domain Subnets: 0 found
[i] Domain Computers: 17 found
[i] Deligated Users: 0 found
[i] Users with passwords not set to expire: 6 found
[i] Machine Accounts with passwords older than 45 days: 18 found
[i] Domain OUs: 8 found
[i] Domain Account Policy found
[i] Domain GPOs: 7 found
[i] FSMO Roles: 3 found
[i] SPNs: 122 found
[i] LAPS passwords: 0 found
[i] GPP enumeration starting. This can take a bit...
[i] GPP passwords: 7 found
[i] CSVs written to 'csv' directory in C:\Users\Administrator\Desktop
[i] Execution took 1.4217256s...
[i] Exiting...

Functionality
StartTLS and TLS (tls.Client func) connections supported. Connections over TLS are default. All output goes to CSVs and are created in /csv/ in the current working directory. Dumps:
  • Domain users. Also searches Description for keywords and prints to a seperate csv ex. "Password" was found in the domain user description.
  • Users in priveleged user groups (DA, EA, FA).
  • Users with passwords not set to expire.
  • User accounts that have been locked or disabled.
  • Machine accounts with passwords older than 45 days.
  • Domain Computers.
  • Domain Controllers.
  • Sites and Subnets.
  • SPNs and includes csv flag if domain admin (a flag to note SPNs that are DAs in the SPN CSV output).
  • Trusted domain relationships.
  • Domain Groups.
  • Domain OUs.
  • Domain Account Policy.
  • Domain deligation users.
  • Domain GPOs.
  • Domain FSMO roles.
  • LAPS passwords.
  • GPP passwords. On Windows, defaults to mapping Q. If used, will try another mapping until success R, S, etc... On Linux, /mnt/goddi is used.


More information


Evolving Logic Until Pass Tests Automatically

Automating the automation is still a challenge, but in some cases it's possible under certain situations.

In 2017 I created logic-evolver, one of my experiments for creating logic automatically or better said evolving logic automatically.

In some way, the computer create its own program that satisfies a set of tests defined by a human.

https://github.com/sha0coder/logic-evolver

This implementation in rust, contains a fast cpu emulator than can execute one million instructions in less than two seconds. And a simple genetic algorithm to do the evolution.


Here we create the genetic algorithm, and configure a population of 1000 individuals, and the top 5 to crossover. We run the genetic algorithm with 500 cycles maximum.
Note that in this case the population are programs initially random until take the correct shape.


An evaluation function is provided in the run method as well, and looks like this:




The evaluation function receives a CPU object, to compute a test you need to set the initial parameters, run the program and set a scoring regarding the return value.


Related word

BurpSuite Introduction & Installation



What is BurpSuite?
Burp Suite is a Java based Web Penetration Testing framework. It has become an industry standard suite of tools used by information security professionals. Burp Suite helps you identify vulnerabilities and verify attack vectors that are affecting web applications. Because of its popularity and breadth as well as depth of features, we have created this useful page as a collection of Burp Suite knowledge and information.

In its simplest form, Burp Suite can be classified as an Interception Proxy. While browsing their target application, a penetration tester can configure their internet browser to route traffic through the Burp Suite proxy server. Burp Suite then acts as a (sort of) Man In The Middle by capturing and analyzing each request to and from the target web application so that they can be analyzed.











Everyone has their favorite security tools, but when it comes to mobile and web applications I've always found myself looking BurpSuite . It always seems to have everything I need and for folks just getting started with web application testing it can be a challenge putting all of the pieces together. I'm just going to go through the installation to paint a good picture of how to get it up quickly.

BurpSuite is freely available with everything you need to get started and when you're ready to cut the leash, the professional version has some handy tools that can make the whole process a little bit easier. I'll also go through how to install FoxyProxy which makes it much easier to change your proxy setup, but we'll get into that a little later.

Requirements and assumptions:

Mozilla Firefox 3.1 or Later Knowledge of Firefox Add-ons and installation The Java Runtime Environment installed

Download BurpSuite from http://portswigger.net/burp/download.htmland make a note of where you save it.

on for Firefox from   https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/


If this is your first time running the JAR file, it may take a minute or two to load, so be patient and wait.


Video for setup and installation.




You need to install compatible version of java , So that you can run BurpSuite.

More articles


Wednesday, April 15, 2020

WHO IS ETHICAL HACKER

Who is hacker?
A hacker is a Creative person and a creative Programmer,who have knowledge about Networking,Operating system,hacking & a best creative social engineer who control anyone's mind he is also a knowledgeable person.
Hacker are the problem solver and tool builder.

                                OR

A hacker is an individual who uses computer, networking and other skills to overcome a technical problem but it often refers to a person who uses his or her abilities to gain unauthorized access to system or networks in  order to commit crimes. 


Related word


How To Create Fake Email Address Within Seconds

How To Create Fake Email Address Within Seconds

How To Create Fake Email Address Within Seconds

Email address is a type of identification by which an email receiver identifies the person who sends mail to him/her. That's why while creating an email address you need to enter your personal details that must be valid. However, what if we tell you that you can create an email address that doesn't require any validation of personal details and that email address gets permanently deleted after your work is done. So here we have a method To Create Fake Email Address. By this, you can create a fake email address that will get auto-deleted after ten minutes. Just follow the below steps to proceed.

Note:  The method we are discussing is just for a known purpose and should not be used for any illegal purposes, as we will be not responsible for any wrongdoing.

How To Create Fake Email Address Within Seconds

The method of creating a fake email address is very simple and easy as these are based on online websites that will provide you a free email address without taking any personal details from you.

#1 10 Minute Mail

10 Minute Mail
10 Minute Mail
10 Minute Mail will provide you a temporary e-mail address. Any e-mails sent to that address will show automatically on the web page. You can read them, click on links, and even reply to them. The email address will expire after 10 minutes.

#2 GuerrillaMail

Guerrillamail
Guerrillamail
It is one of the most user-friendly ones out there, with this, you can get disposable email ID easily. You need to enter the details, and the fake email ID will be generated. Moreover, this also lets you send emails with attachment up to 150MB. You will be provided with a temporary email address which you can use to verify some websites which require the email address.

#3 Mailinator

Mailinator
Mailinator
Mailinator is a free, Public, Email System where you can use any inbox you want. You will be given a Mailinator address which you can use anytime a website asks for an email address. The public emails you will receive will be auto-deleted after few hours of receiving.

#4 MailDrop

MailDrop
MailDrop
Maildrop is a great idea when you want to sign up for a website but you are concerned that they might share your address with advertisers. MailDrop is powered by some of the spam filters created by Heluna, used in order to block almost all spam attempts before they even get to your MailDrop inbox. This works the same way like Mailinator in which you will be given a temporary Email address which you can use to verify sites etc.

#5 AirMail

AirMail
AirMail
AirMail is a free temporary email service, you are given a random email address you can use when registering to new websites or test-driving untrusted services. All emails received by AirMail servers are displayed automatically in your online browser inbox.

More information