Git Product home page Git Product logo

ciberseguridadcft's Introduction

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

ciberseguridadcft's People

Contributors

attrix182 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.