Skip to content

Commit 2857967

Browse files
committed
Update to New Format and add PicoCTF19
1 parent e257cf0 commit 2857967

File tree

97 files changed

+3474
-4
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+3474
-4
lines changed

.github/CONTRIBUTING.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,22 @@ Welcome to Cal Poly's White Hat Club's CTF Write-Up Repository! If you're readin
1515
* The ````README.md```` file for the folder is an exception to this rule.
1616
* Any pull requests on the ````LICENSE```` file or any files in the ````.github```` folder are an exception to this rule.
1717
3. All associated, non-markdown files should be placed in a subfolder named ````assets````
18-
* All non-markdown files must use __camel case__.
18+
* Asset file names should be prefixed with the challenge name.
19+
* Asset files __do not__ have to use camel case if following another naming convention such as snake case for Python files.
1920
4. The folder containing the write-ups must contain a README.md
2021
* This file must contain:
2122
* The __full CTF name__,
2223
* The year,
2324
* And a bulleted list of formatted links to all write-up markdown files.
24-
* This list must be in alphabetical order.
25+
* This list should be sorted by category then by point value then by alphabetical order
26+
* The links should be named `challenge name - point value`
27+
28+
An example file structure for picoCTF19:
29+
```
30+
writeups
31+
└── picoCTF19
32+
├── assets
33+
│ └── handyShellcodeCallGraph.png
34+
├── handyShellCode.md
35+
└── README.md
36+
```

.github/TECHNIQUE_TEMPLATE.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Technique Name
2+
Author: Feel free to put your name or alias
3+
4+
## Result(s)
5+
- Result 1
6+
- Result 2
7+
8+
## Requirement(s)
9+
- Requirement 1
10+
- Requirement 2
11+
12+
## Steps
13+
14+
1. Step One
15+
16+
Detailed general explanation of step one. You can include an example.
17+
18+
2. Step Two
19+
20+
Detailed general explanation of step two. You can include an example.
21+
22+
23+
## Notes
24+
25+
Write any notes here. Some things you can write include clearing up when this technique is applicable or other techniques/tools that are relevant to this technique.
26+
27+
## Example
28+
29+
Optional

.github/WRITEUP_TEMPLATE.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# CTF Name - Challenge Name
2+
Author: Feel free to put your name or alias \
3+
Date: Optional
4+
5+
Category - Points
6+
7+
> Copy/paste the challenge description here
8+
9+
## TL;DR
10+
11+
The TL;DR should include a brief description of both the challenge and the solution.
12+
13+
# Writeup
14+
15+
This is where your content goes. This should include the solution as well as how you got to that solution. Do not just post code without an explanation of the code. Any magic numbers/strings should have an explanation. Be sure to include and images, screenshots and any other figures if necessary. Writeups can be informal and don't have to be a purely technical document so feel free to include any entertaining or comedic content to keep the reader interested.
16+
17+
Any important content you link to should be backed up in the `assets` folder to protect them from [link rot](https://en.wikipedia.org/wiki/Link_rot). Don't forget to cite any resources placed in `assets` or copied elsewhere.

README.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,24 @@
1-
# ctf-writeups
2-
CTF Write Ups
1+
# White Hat CTF Writeups
2+
3+
## Table of Contents
4+
5+
- [Tools and Resources](tools/tools.md#tools-and-resources)
6+
- [Binary Exploitation](tools/tools.md#binary-exploitation)
7+
- [Cryptography](tools/tools.md#cryptography)
8+
- [Forensics](tools/tools.md#forensics)
9+
- [Reverse Engineering](tools/tools.md#reverse-engineering)
10+
- [Web](tools/tools.md#web)
11+
- [Techniques](techniques/techniques.md#techniques)
12+
- [Binary Exploitation](techniques/techniques.md#binary-exploitation-toc)
13+
- [Cryptography](techniques/techniques.md#cryptography-toc)
14+
- [Forensics](techniques/techniques.md#forensics-toc)
15+
- [Reverse Engineering](techniques/techniques.md#reverse-engineering-toc)
16+
- [Web](techniques/techniques.md#web-toc)
17+
- Writeups
18+
- [PicoCTF 2019](writeups/picoCTF19/README.md)
19+
- [UTCTF 2019](writeups/utctf19/README.md)
20+
- [DEF CON Quals 2018](writeups/defConQuals18/README.md)
21+
- [iFixit Trihackathon 2018](writeups/iFixitTrihackathon18/README.md)
22+
- Contributing
23+
- [Code of Conduct](.github/CODE_OF_CONDUCT.md)
24+
- [Contributing Guidelines](.github/CONTRIBUTING.md)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Determine Unknown Glibc Version from Leaked Addresses
2+
Author: PinkNoize
3+
4+
## Result
5+
- Glibc version used by a process
6+
7+
## Requirement
8+
- Address of 1 or more glibc functions
9+
10+
## Steps
11+
12+
1. Get the addresses of some glibc functions
13+
14+
You can get these addresses however you want. Some examples include debug statements or an arbitrary memory read to read the addresses out of the .got.plt section.
15+
16+
2. Compare the addresses to known glibc address offsets
17+
18+
You should not do this manually. Use a tool like [libc-database](https://github.com/niklasb/libc-database). The online version is at [https://libc.rip/](https://libc.rip/).
19+
20+
21+
## Notes
22+
23+
This technique is useful when you are supplied a challenge without a glibc ELF where exploitation would be simplified by having the glibc ELF. This can be combined with [one_gadget](https://github.com/david942j/one_gadget) to speed up the creation of shell dropping ROP chains.

techniques/techniques.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Techniques
2+
3+
## <a name="binary-exploitation-toc"></a> Binary Exploitation
4+
- [Determine Unknown Glibc Version from Leaked Addresses](binary-exploitation/unknown-glibc.md)
5+
6+
## <a name="cryptography-toc"></a> Cryptography
7+
8+
## <a name="forensics-toc"></a> Forensics
9+
10+
## <a name="reverse-engineering-toc"></a> Reverse Engineering
11+
12+
## <a name="web-toc"></a> Web

tools/tools.md

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# Tools and Resources
2+
## Table of Contents
3+
- [Binary Exploitation](#binary-exploitation)
4+
- [Cryptography](#cryptography)
5+
- [Forensics](#forensics)
6+
- [Reverse Engineering](#reverse-engineering)
7+
- [Web](#web)
8+
9+
# Binary Exploitation
10+
- [Angr](https://angr.io/)
11+
- [BAP](https://github.com/BinaryAnalysisPlatform/bap)
12+
- [Pwntools](https://github.com/Gallopsled/pwntools)
13+
14+
Tutorial available [here](https://github.com/Gallopsled/pwntools-tutorial#readme)
15+
16+
- [LiveOverflow Binary Hacking Course](https://old.liveoverflow.com/binary_hacking/)
17+
18+
# Cryptography
19+
20+
21+
# Forensics
22+
- [Autopsy/The Sleuth Kit](https://www.sleuthkit.org)
23+
24+
# Reverse Engineering
25+
- [Binary Ninja](https://binary.ninja/)
26+
27+
- `Price:` $74 with student discount
28+
- Comes with a BNIL(Binary Ninja Intermediate Languages) which approaches decompiled output.
29+
- Debugger is hard to use.
30+
31+
- [Cutter](https://cutter.re/)
32+
33+
- `Price:` Free
34+
- GUI frontend of radare2
35+
- Comes with Ghidra decompiler and many others can be installed
36+
- Debugger support
37+
38+
- [Ghidra](https://ghidra-sre.org/)
39+
40+
- `Price:` Free
41+
- A free solid decompiler
42+
- Spinning dragon animation
43+
44+
- [Hopper](https://www.hopperapp.com/)
45+
46+
- `Price:` $99
47+
48+
- [IDA](https://www.hex-rays.com/products/ida/)
49+
50+
- `Price:` Check the website, pricing page is too complicated
51+
- Decompiler and debugger
52+
53+
- [Radare2](https://www.radare.org)
54+
55+
- `Price:` Free
56+
- Decompilers including Ghidra's can be installed
57+
- Great debugger
58+
- Pure commandline
59+
60+
# Web
61+
- [Burp](https://portswigger.net/burp)
62+
- [gobuster](https://github.com/OJ/gobuster)
63+
- [sqlmap](https://github.com/sqlmapproject/sqlmap)
File renamed without changes.

0 commit comments

Comments
 (0)