Skip to content

Guia basica para iniciar a resolver maquinas CFT (Capture the flag)

Notifications You must be signed in to change notification settings

attrix182/CiberseguridadCFT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

Ciberseguridad (Attrix182)


Introduccion

Mi nombre es Luciano, en este documento explicare paso a paso como comenzar a resolver maquinas de captura la bandera, las cuales consisten en acceder a una maquina solo conociendo su IP, para ello se debe utilizar distintas tecnicas de reconocimiento y explotacion de vulnerabilidades. Soy nuevo en este campo, pero me gusta aportar lo que voy aprendiendo para quienes tambien se interesan en aprender. Nota: Actualmente lo estoy redactando en español, pero proximamente lo hare en ingles tambien

Webs que proveen laboratorios para resolver:

  1. https://www.hackthebox.eu/
  2. https://tryhackme.com/

Preparacion del entorno de trabajo

Recomiendo utilizar una maquina virtual con alguna distribucion de linux, las mas conocidas son Parros OS y Kali Linux, estas ya vienen con las herramientas nececsarias preinstaladas Links:

  1. https://www.virtualbox.org/
  2. https://www.parrotsec.org/
  3. https://kali.org/

Resolver máquinas CTF

Debemos pasar por varias etapas para comprometer un sistema, estas son:

  1. Etapa de reconocimiento
  2. Explotación de vulnerabilidades
  3. Escalada de privilegios

Comencemos con:

1) Etapa de reconocimiento

Esta consiste en analizar todo lo que se pueda con la IP que se nos otorga, tanto desde el navegador como desde consola.

Es muy importante que durante todo el proceso guardemos toda la informacion relevante que vayamos encontrando, desde nombres de usuario, hasta frases, o retorno de comandos que ejecutemos, ya que con esta informacion podemos armar diccionarios* propios o usar esos datos para probar ingresar al sistema

diccionarios*: Son archivos de texto de varias lineas, con varias palabras o conjuntos de palabras, las cuales se utilizan como datos iterar mediante fuerza bruta


Este reconocimiento se puede hacer de forma visual y tambien desde terminal. Generalmente se suele iniciar con el visual para luego seguir investigando.

A. Reconocimiento visual:
Consiste en ingresar desde el navegador a la IP que se nos ha proporcionado y observar de que tipo de sitio se trata, recomiendo utilizar Chrome e instalar la siguiente extension: Wappalyzer esta nos retornara las librerias, frameworks y lenguajes que detecte en el sitio. Tambien si utilizamos Chrome, con click derecho, podemos seleccionar la opcion de ver el codigo fuente, y buscar comentarios en el codigo. Otro lugar a buscar son las imagenes, a veces tienen de nombres palabras claves

B.Terminal Consiste en utilizar

Para ello podemos ejecutar los siguientes comandos:

A. PING. Ver sistema operativo y verificar conexión

ping -s 1  00.00.00.00 

( 00.00.00.00 es la ip de la máquina objetivo) con este comando enviamos una traza icmp, es decir transmitimos y recibimos paquetes para saber si tenemos conexión con la máquina y vemos el TTL*

La salida será similar a:

PING 00.00.00.00 (00.00.00.00) 56(84) bytes of data.
64 bytes from 00.00.00.00: icmp\_seq =1 ttl=127 time=76.3ms

*TTL:  Time To Live, representa el número de saltos que ha dado el paquete de host en host por internet hasta alcanzar su destino. Es probable que veamos que disminuya en 1 unidad

ttl=128: Windows ttl=64: Linux



B. NMAP. Buscaremos puertos abiertos en la IP de la máquina entre otras utilidades de NMAP

nmap -p- --open -T5 -v -n 00.00.00.00 -oG AllPorts

Buscara en todos los puertos cuales están abiertos y exportará la salida en formato grepeable en el archivo AllPorts.

nmap -sS --min-rate 5000 -p- --open -vvv -n 00.00.00.00 -oG AllPorts

Lo mismo que el comando anterior pero mucho más rápido

**Luego podemos usar extractPorts(Recomendado): https://pastebin.com/tYpwpauW by s4vitar

extractPorts AllPorts

Debemos tener agregada esta función a nivel zshrc, la salida será similar a:

[ *] Extracting information…
   [*] IP : 00.00.00.00
[*] Open ports: 22,80

[*] Ports copied to clipboard

nmap -sc -sV -p80 00.00.00.00 -oN targeted

Buscara servicios y versiones en la IP determinada y lo exporta en un archivo de texto

En este momento podremos ver para donde apuntar el ataque buscando exploits y vulnerabilidades del gestor de archivos o servicio que esté instalado en el servidor

C. WFUZZ O DIRBUSTER

wfuzz -c -–hc=404 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

[http://00.00.00.00/FUZZ] // Esta utilidad basandose en un diccionario reemplazará con esos nombres de rutas comunes, por fuerza bruta, en la palabra FUZZ, y mostrará todos aquellos que retornen una respuesta distinta a 404(Not Found), para que asi podamos saber por que rutas atacar


2) Explotación de vulnerabilidades

Aqui debemos detenernos y ver que es lo que encontramos hasta el momento para ver por donde dirigir el "ataque"

Si con nmap vimos abiertos los siguiente puertos, generalmente significan lo siguiente (no siempre puede ser asi):

Puerto Servicio
22 ssh
80 http

Aqui si te encuentras con un puerto con ssh abierto puedes hacer lo siguiente:

SSH

Intenta ingresar ssh –p 22 [email protected]

Si tiene clave podemos utilizar hydra, para intentar usar combinaciones de claves por fuerza bruta, el comando sería como:

hydra -l user -P diccionario.txt 00.00.00.00 -t 4 ssh

About

Guia basica para iniciar a resolver maquinas CFT (Capture the flag)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published