├── .gitattributes ├── README.md ├── crypto └── holy-hell │ ├── README.md │ ├── app.py │ ├── extend.py │ ├── get-flag.sh │ ├── hlextend.py │ ├── vin-lookup-invalid.png │ └── vin-lookup-valid.png ├── pwn └── web-server-woes │ ├── Pipfile │ ├── Pipfile.lock │ ├── README.md │ ├── a.out │ ├── a.out.gzf │ ├── decomp-vuln.png │ └── exploit.py ├── steganography └── sadcarnoises │ ├── README.md │ ├── cewl │ ├── cewl.patch │ ├── decode.py │ ├── password │ ├── sad.ext4 │ ├── sad.luks │ ├── sadcarnoises.wav │ ├── spectrograph.png │ └── wordlist ├── user-space-diagnostics ├── Makefile ├── Pipfile ├── Pipfile.lock ├── README.md ├── Reversing.md ├── flash-firmware.png ├── image-defined-strings-search.png ├── image-defined-strings.png ├── image-prng-function.png ├── image-server-up-polling-string.png ├── image.bin ├── image.bin.gzf ├── scripts │ ├── backdoor.sh │ ├── common.py │ ├── download.py │ ├── flash.py │ ├── fuzzer.py │ ├── getmem.py │ ├── level1.py │ ├── level3.py │ ├── level5.py │ ├── rdbid.py │ ├── reset.py │ ├── rtctl.py │ ├── tprepl.py │ ├── unlock.py │ └── upload.py ├── security-access-lvl-3-key-check.png ├── security-access-lvl-5-key-check.png └── shell.c └── vsec-harborbay ├── Pipfile ├── Pipfile.lock ├── README.md └── scripts ├── common.py ├── getdtc.py ├── getmem.py ├── getvin.py ├── reset.py ├── tester.py └── unlock.py /.gitattributes: -------------------------------------------------------------------------------- 1 | *.wav filter=lfs diff=lfs merge=lfs -text 2 | *.png filter=lfs diff=lfs merge=lfs -text 3 | *.luks filter=lfs diff=lfs merge=lfs -text 4 | *.ext4 filter=lfs diff=lfs merge=lfs -text 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Block Harbor CTF Season 1 Writeups 2 | 3 | This repository contains writeups for my favorite challenges from [Block 4 | Harbor](https://blockharbor.io/)'s Season 1 CTF, along with the scripts I used to assist me in 5 | solving various tasks. 6 | 7 | ## Resources 8 | 9 | Here is a list of resources I found helpful when solving the challenges. 10 | 11 | - [Block Harbor's Vehicle Security Engineering Cloud](https://vsec.blockharbor.io) 12 | - [Block Harbor's YouTube Channel](https://www.youtube.com/@blockharbor) 13 | - [Python can-isotp Documentation](https://can-isotp.readthedocs.io/en/latest/index.html) 14 | - [UDS Explained - A Simple Intro by CSS Electronics](https://www.csselectronics.com/pages/uds-protocol-tutorial-unified-diagnostic-services) 15 | - [UDS Protocol Tutorial by PiEmbSysTech](https://piembsystech.com/uds-protocol/) 16 | - [UDS Tutorials by EmbeTronicX](https://embetronicx.com/tutorials/automotive/uds-protocol/) 17 | - [Unified Diagnostic Services - ISO-14229 Cheat Sheet by Softing](https://automotive.softing.com/fileadmin/sof-files/pdf/de/ae/poster/UDS_Faltposter_softing2016.pdf) 18 | - [Wikipedia Article on Unified Diagnostic Services](https://en.wikipedia.org/wiki/Unified_Diagnostic_Services) 19 | -------------------------------------------------------------------------------- /crypto/holy-hell/README.md: -------------------------------------------------------------------------------- 1 | # Holy Hell 2 | 3 | In this challenge, we are asked to retrieve information on VIN `1337`, and are directed to a web 4 | application, hosted at [celsius.blockharbor.io:5800](http://celsius.blockharbor.io:5800/), where we 5 | can generate VIN numbers and look up vehicle information by VIN number. 6 | 7 | > Can you retreive info about the following VIN: 1337. If so, let us know, we want to know about 8 | > that vehicle! 9 | 10 | ![VIN Lookup with Valid Signature](vin-lookup-valid.png) 11 | 12 | Looking at the page source, we find the following JavaScript, embedded between `