Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Collection of CTF tools (WIP)

Project description

SealTeamTools

Intro and motivation

When I started CTFing on the reg, I quickly saw the potential of automating certain tasks that arise in many, many CTFs. It might be something as dump as opening a connection to some remote server and sending/receiving data. Or quickly converting from one format to another without having to rewrite the code every time. Another example was RSA, I wrote a small wrapper script that quickly gets me a plaintext for a given c, q,p and e.

At this point the main question that will arise is, why not use pwntools? Well, it turns out that pwntools doesn't really play well with Windows. I love my Kali as much as the next guy for a variety of tasks but I also love my Win10. So I set off to slowly recreate some of the more popular functions. Fact is, the really complex functions of pwntools are not something you encounter often which means a light version fits my purposes.

Now, my motto is Go Big or Go Home. So I decided to build a comprehensive framework for CTFing and general pentesting that covers the most frequent topics: Crypto, Web, Forensics and some misc. I do most of my reversing in IDA/gdb so that category won't be represented much, I think. Additionally I have a general and socket category, the latter to make socket interaction smoother (e.g. I struggled time and again with socket blocking, it would freeze when trying to receive data when none was available), the former aiming to perform helper tasks like transposing arrays, recognizing patterns etc.

I will use this as my MCH (Main Control Hub) for progress and as time progresses, and is permitting, build an orchestrator to bring all partial scripts under one "roof".

24.9: Rearranged file structure. Now all modules will be organized using "STTxxx.filename" where xxx is the overall structure. Makes it easier to import stuff as well.

Structure

1. General

  • [ ] Pattern recognition
    • [x] Base64 --> STTUtils.StringParser
    • [x] Base32 --> STTUtils.StringParser
    • [x] Hex --> STTUtils.StringParser
    • [x] flags --> STTUtils.StringParser
    • [ ] Words
  • [ ] Encodings
    • [ ] all bases
    • [ ] rot13
  • [x] Socket --> STTSocket.STTSocket
    • [x] recvline
    • [x] recvlines
    • [x] recvutil
    • [x] sendline

3. Crypto

  • [ ] AES
    • [ ] CBC
    • [ ] ECB
  • [ ] RSA
    • [ ] Factorisation
    • [ ] Common modulus
    • [ ] Fault
    • [ ] Coppersmith
    • [x] General solve --> STTCrypto.RSASolver
  • [ ] ECC
  • [ ] DES
  • [ ] Common ciphers
    • [ ] Caesar
    • [ ] Railcipher
    • [ ] Vigenere
  • [x] Morse --> STTCrypto.morse

4. Web

  • [ ] Flask
  • [ ] Nodejs
    • [ ] Handlebar
  • [ ] XSS
  • [ ] WAF Bypass

5. Forensics

  • [ ] Images
    • [ ] LSB
    • [ ] MSB
    • [ ] exiftool
    • [ ] XOR
  • [ ] Audio

6. Misc

  • [ ] Pyjails
  • [ ] Bashjails
  • [ ] Esolangs
  • [ ] Embedded files
    • [ ] binwalk
  • [ ] Memdumps
    • [ ] Vola
  • [ ] OCR
  • [x] QR --> STTUtils.utils
  • [x] Packing --> STTUtils.packing

Project details


Release history Release notifications

This version

0.0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for SealTeamTools, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size SealTeamTools-0.0.1-py2-none-any.whl (16.1 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size SealTeamTools-0.0.1.tar.gz (11.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page