Coder Social home page Coder Social logo

ctfscrapper's Introduction

CTFScrapper

Read this in other languages: Español, English.

Proyecto creado con la intención de recopilar los retos presentados en los CTFs mediante la generación de un ambiente de trabajo local con los archivos y la creación de un README.md con la información disponible de los retos.

Tabla de Contenidos

Instalación

git clone https://github.com/srrequiem/CTFScrapper.git
cd CTFScrapper
pip install -r requirements.txt

Uso

python ctfscrapper.py <url|ctf_id> <username> <password>

python ctfscrapper.py <url|ctf_id> -t <token>

Actualmente son soportadas las siguientes plataformas que hostean CTFs:

CTFd

python ctfscrapper.py <url>

# Ejemplo
python ctfscrapper.py https://demo.ctfd.io
Username: srrequiem
Password:

Escenario con protecciones

En algunas ocasiones suelen configurar un token de CAPTCHA por lo que al momento, si es el caso, la herramienta mandará un mensaje de fallo de autenticación y solicitará el valor de la cookie de sesión de la plataforma.

python ctfscrapper.py https://demo.ctfd.io
Username: srrequiem
Password:

[!] Authentication failure
Session: ced668a9...

HTB CTF

Una vez realizado el registro del evento en la plataforma, es necesario obtener el id y el Bearer Token para proporcionarlo al script.

Obtención de ID:

https://ctf.hackthebox.com/event/700 → ID = 700

Obtención de Bearer:

Al entrar al evento buscar la request que mande a llamar la api de hackthebox https://ctf.hackthebox.com/api/ctf/700 y extraer el Bearer token del header de Authorization.

Extracción de Bearer token

python ctfscrapper.py <ctf_id>

# Ejemplo
python ctfscrapper.py 700
Bearer token: eyJ0...

Resultado

La ejecución del script generará la carpeta CTFS dentro del directorio del proyecto y dentro de esta la carpeta del CTF que se haya descargado, teniendo como resultado la siguiente estructura:

CTFS
└── 20221022_htb_hack_the_boo
    ├── files
    │   ├── crypto_challenge.zip
    │   └── web_challenge.zip
    └── README.md

Dentro del README.md se podrá encontrar la información de los retos bajo el template:

# Nombre CTF

## Web

### Web Reto 1

#### Stats

| Attribute | Info |
|---|---|
| Description | - |
| Files | - |

#### Solution

## Crypto

### Crypto Reto 1

#### Stats

| Attribute | Info |
|---|---|
| Description | - |
| Files | - |

#### Solution

## Reversing

### Reversing Reto 1

#### Stats

| Attribute | Info |
|---|---|
| Description | - |
| Files | - |

#### Solution

## Pwning

### Pwning Reto 1

#### Stats

| Attribute | Info |
|---|---|
| Description | - |
| Files | - |

#### Solution

## Forense

### Forense Reto 1

#### Stats

| Attribute | Info |
|---|---|
| Description | - |
| Files | - |

#### Solution

Soporte

Por favor abre un issue para obtener soporte.

Contribuciones

Si has identificado un error de cualquier tipo puedes abrir un issue o seguir los siguientes lineamientos para realizar las correcciones y/o añadir nuevas características:

  1. Realizar un Fork del repo en GitHub.
  2. Clonar el proyecto en tu máquina.
  3. Hacer Commit de los cambios en tu propia rama.
  4. Hacer Push de tu modificación en el fork que hayas realizado.
  5. Enviar un Pull request para revisar e integrar tus cambios.

NOTA: Asegúrate de haber integrado los últimos cambios que se encuentren en la rama remota antes de realizar un pull request.

TODOS

  • Add hints to markdown file (ctfd type).
  • Markdown challenge template.
  • Improve code structure (public, private functions).
  • Evaluate possibilty to add threads.
  • Retrieve execution process info to user.

ctfscrapper's People

Contributors

srrequiem avatar

Stargazers

Shuciran avatar  avatar  avatar Angel RN avatar  avatar  avatar

Watchers

 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.