Offensive Golang (II)

Una vez vistas en el artículo anterior las ventajas y limitaciones que existen en el desarrollo de artefactos ofensivos en Golang, en esta segunda parte vamos a explicar más detalladamente de qué trata el repositorio OffensiveGolang, y qué podemos encontrar en él. Vamos allá.

OffensiveGolang cuenta principalmente con cinco módulos que tratan de lo siguiente:

  • Encryption: Una forma sencilla de evitar que un análisis estático detecte un payload que se desea ejecutar, es cifrar el shellcode que contiene el artefacto. Este módulo permite utilizar el algoritmo de cifrado simétrico AES mediante una clave de 32 bytes generada aleatoriamente. Además, cuenta con los métodos de descifrado correspondiente para incluirlos en los binarios generados y poder ejecutar el payload.

A continuación se muestra un ejemplo básico del módulo encryption, que devolverá un fichero denominado data.txt con el shellcode cifrado y la clave generada aleatoriamente en la salida estándar de la terminal.

package main

import “github.com/MrTuxx/OffensiveGolang/pkg/encryption”

func main() {
      encryption.GetEncryption(“<SHELLCODE>”)
}
[Read more…]

Offensive Golang (I)

Offensive Golang

Dentro de la seguridad Ofensiva en general, así como en el desarrollo de malware en particular, se requiere salirse de lo convencional para explorar nuevas ideas o herramientas que puedan permitir lograr los objetivos.

Un buen reflejo de este pensamiento podría ser el uso del lenguaje de programación menos común Go (Golang) en el desarrollo de malware. Golang es un lenguaje de programación que ha sido desarrollado por Google y tiene más de una década de antigüedad, pero desde hace unos años se han identificado diferentes ransomwares y artefactos que intentan aprovecharse de las ventajas que posee este lenguaje. Esto ha propiciado una mayor popularidad de Golang en este campo y han aparecido nuevas herramientas y técnicas.

En este artículo se pretende explicar los diferentes componentes y funcionalidades básicas que componen el repositorio OffensiveGolang que he desarrollado, tomando como inspiración la charla en la DEFCON 29 de Ben Kurtz y el repositorio de Michael Long.

Pero antes de comenzar se debe resolver la pregunta principal, ¿Por qué Golang?:

[Read more…]

SocialPwned Release v2.0 – Nobody gets hacked

Es bien sabido que durante un Red Team o la ejecución de un ataque real, la primera fase consiste en la recolección de información (Information Gathering) de un objetivo, ya bien sea una persona individual o una organización. A mayor nivel de exposición de información, la probabilidad de trazar un vector de ataque efectivo basado en ingeniería social aumenta, es por ello que las herramientas OSINT (Open Source INTelligence) juegan un papel fundamental en esta fase.

Existen diferentes herramientas que permiten obtener correos electrónicos de una organización o persona individual, la mayoría basadas únicamente en LinkedIn o Google Dorks. También existen muchos leaks públicos donde se pueden obtener contraseñas o nombres de usuarios, pero esto requiere de bastante tiempo y de una buena depuración para conocer el espectro real que abarca la información obtenida.

Es en este punto donde entra SocialPwned, una herramienta OSINT que he desarrollado en Python y podéis encontrar en mi perfil de GitHub, y cuya finalidad principal es obtener los correos electrónicos que se encuentran publicados en redes sociales como Instagram, LinkedIn y Twitter. Además, de forma automatizada se pueden consultar bases de datos como PwnDB o Dehashed, para obtener contraseñas que se han visto relacionadas con los correos obtenidos.

Ilustración 1: SocialPwned.
[Read more…]