HackyEaster was awesome again. From a technical point of view there weren’t too much new things, but the creativity of the provided challenges made it really fun. Including the little teaser challenge there were a total amount of 37 challenges. These challenges were divided into different levels. You could only proceed to the next level, if you have earned enough points in the current level. I really liked that new idea.
Continue reading “Hacky Easter 2021 writeup”mpv media player – mf custom protocol vulnerability (CVE-2021-30145)
The mpv media player provides a custom protocol handler (mf://) in order to merge multiple images to a video. An undocumented feature within this protocol handler allows the usage of a format specifier in the provided URL, which is evaluated using sprintf. This results in both, a format string vulnerability as well as a heap overflow (CVE-2021-30145).
After disclosing the vulnerability to the mpv team on the 3rd April 2021 I got an immediate response. The mpv team took the issue very seriously and immediately started to work on a patch with me. This was the first time I disclosed a vulnerability to an open source project and I was really impressed about the professional reaction and the passionate commitment. The patch was released only two days after my report on the 5th April 2021 (commit). Thanks a lot to avih, sfan5 and jeeb.
The impact of the format string vulnerability is limited on Linux, because the binary is compiled with FORTIFY_SOURCE by default. Though the heap overflow can be used to gain arbitrary code execution by overflowing into an adjacent heap chunk and setting a function pointer to an attacker controlled value. Nevertheless I estimate the probability of exploitation in real life as quite low, because a victim has to be tricked into opening a malicious playlist (e.g. via a URL like http://10.0.0.1/evil.m3u) and the attacker has to have detailed information about the victim’s system to fine-tune the exploit.
Within this article I describe the vulnerability itself as well as the development of a proof of concept exploit for Ubuntu 20.04.2 LTS with ASLR disabled. At the end of the article I outline a few thoughts on how ASLR can be bypassed and what changes if we develop an exploit for Windows. The article is divided into the following sections:
– Introduction
– Format String Vulnerability
– Heap Overflow
– Exploitation
– Further Thoughts
– Conclusion
HACKvent20 writeup
This year’s HACKvent hosted on competition.hacking-lab.com has been as great as every year. There was a total amount of 28 awesome challenges with varying difficulties. |
HACKvent19 writeup
This year’s HACKvent was hosted on the brand new Hacking-Lab 2.0 plattform. Each day from the 1st of december until the 24th a new challenge is published raising in difficulty. The flag format changed from HV18-xxxx-xxxx-xxxx-xxxx-xxxx to HV19{...} . After all I managed to solve all 28 challenges 🙂 |
Hidden | |
HV19.H1 Hidden One HV19.H2 Hidden Two HV19.H3 Hidden Three HV19.H4 Hidden Four |
|
Easy | |
HV19.01 censored HV19.02 Triangulation HV19.03 Hodor, Hodor, Hodor HV19.04 password policy circumvention HV19.05 Santa Parcel Tracking HV19.06 bacon and eggs HV19.07 Santa Rider |
|
Medium | |
HV19.08 SmileNcryptor 4.0 HV19.09 Santas Quick Response 3.0 HV19.10 Guess what HV19.11 Frolicsome Santa Jokes API HV19.12 back to basic HV19.13 TrieMe HV19.14 Achtung das Flag |
|
Hard | |
HV19.15 Santa’s Workshop HV19.16 B0rked Calculator HV19.17 Unicode Portal HV19.18 Dance with me HV19.19 U+1F385 HV19.20 i want to play a game HV19.21 Happy Christmas 256 |
|
Leet | |
HV19.22 The command … is lost HV19.23 Internet Data Archive HV19.24 ham radio |
Hacky Easter 2019 writeup
As every year hacking-lab.com carried out the annual Hacky Easter event with 27 challenges. As usual the variety of the challenges was awesome. I actually got full score this year 🙂 Many thanks to daubsi, who gave me a nudge once in a while on the last challenges (you can find his writeup here). |
Easy | |
01 Twisted 02 Just Watch 03 Sloppy Encryption 04 Disco 2 05 Call for Papers 06 Dots 07 Shell we Argument 08 Modern Art 09 rorriM rorriM |
|
Medium | |
10 Stackunderflow 11 Memeory 2.0 12 Decrypt0r 13 Symphony in HEX 14 White Box 15 Seen in Steem 16 Every-Thing 17 New Egg Design 18 Egg Storage |
|
Hard | |
19 CoUmpact DiAsc 20 Scrambled Egg 21 The Hunt: Misty Jungle 22 The Hunt: Muddy Quagmire 23 The Maze 24 CAPTEG |
|
Hidden | |
25 Hidden Egg #1 26 Hidden Egg #2 27 Hidden Egg #3 |
nullcon HackIM 2019 – babypwn
The nullcon HackIM 2019 CTF (ctftime.org) ran from 01/02/2019, 16:30 UTC to 03/02/2019 04:30 UTC.
I did the pwn challenge babypwn, which was really fun to do. The following article contains my writeup being divided into the following sections:
→ Challenge description
→ Security mechanisms and disassembly
→ Signedness vulnerabilitiy
→ Format string vulnerabilitiy
→ Final exploit
Heap Exploitation: Off-By-One / Poison Null Byte
The goal of this article is to explain in detail how an off-by-one vulnerability on the heap also known as poison null byte can be exploited. Although this technique does not work with the latest libc, I think it can be used very good in order to demonstrate how exploits based on heap-metadata corruption work (also check out shellphish’s how2heap).
In order to do this I created a vulnerable program, which we will use as an example to create such an exploit. If you like to, you can start by analyzing and exploiting the program on your own (at least check out Environment):
–> heap.zip
Though it is not required to the exploit the program, the source-code might be helpful:
–> heap.c
The article is divided into the following sections:
–> Environment
–> Vulnerable Program
–> Heap Basics
–> Libc-Leak
–> Control Instruction Pointer
–> One Gadget
–> Final Exploit
Continue reading “Heap Exploitation: Off-By-One / Poison Null Byte”
Hacky Easter 2018 writeup
As every year hacking-lab.com carried out the annual Hacky Easter event with 27 challenges. I could not spend as much time as I would have liked to on solving the challenges, but after all I managed to collect 25 of the 27 eggs and focused on this writeup. |
Easy | |
01 Prison Break 02 Babylon 03 Pony Coder 04 Memeory 05 Sloppy & Paste (mobile) 06 Cooking for Hackers 07 Jigsaw 08 Disco Egg 09 Dial Trial (mobile) |
|
Medium | |
10 Level Two 11 De Egg you must (not solved) 12 Patience (mobile) 13 Sagittarius… 14 Same same… 15 Manila greetings 16 git cloak –hard 17 Space Invaders 18 Egg Factory |
|
Hard | |
19 Virtual Hen 20 Artist: No Name Yet (not solved) 21 Hot Dog 22 Block Jane 23 Rapbid Learning 24 ELF |
|
Hidden | |
25 Hidden Egg #1 26 Hidden Egg #2 27 Hidden Egg #3 |
angstromCTF 2018 – writeup hellcode
The angstromCTF 2018 (ctftime.org) ran from 16/03/2018, 20:00 UTC to 23/03/2018 00:00 UTC.
As the description on ctftime.org states, the ctf is primarily geared towards high school students but with a very wide range of challenge difficulty.
There have been a lot of interesting challenges which have been fun to do. I decided to make a writeup for the pwn challenge hellcode.