Pwning the (broken) unbreakable challenge: message

This post is about an old pwn challenge which, after (probably a kernel) update, broke and it was not possible to solve in the intended way anymore. The challenge in question is message from pwnable.xyz. I got fixated with breaking this challenge in an unintended way and eventually I was able to do it. Even though no new or fancy technique was used for this, I hope this post inspires somebodye else to do that one thing that seems impossible but you have that strong suspicion you could be the one to do it, against all odds....

23 October 2024 · 15 min · 3179 words · Jacopo Scannella

Load (glibc) DWARF debug symbols in Ghidra

Today, I was doing a pwning challenge (maybe more on this on a future blog post) and for some stupid reason, I wanted to load the glibc of my system on Ghidra. 99% of the times there is no real good reason to load glibc on Ghidra. That being said, loading other symbols for other binaries can be useful in other scenarios, hence the post. This guide will cover symbols in DWARF (....

11 October 2024 · 3 min · 545 words · Jacopo Scannella

Firmware Vulnerability Analysis on D-Link DIR-878

The D-Link DIR-878 is a Wi-Fi router that reached its End of Life. Many vulnerabilities were discovered on this device. Today, my task was to help a colleague of mine in its master thesis research project. His project concerns analyzing, studying and locating well known vulnerabilities in firmware. He shared me a curated list of vulnerabilities which needed some analysis so that their data could be added to its thesis. It is important to note that even though I performed this analysis, I have no merit in the content of his thesis whatsoever....

23 July 2024 · 10 min · 2016 words · Jacopo Scannella

The most engaging Reverse Engineering challenge of my life

The initial pitch It started as a normal work-day morning, when my friend Alessio comes out of the blue and asked me to play some CTF. "My colleague sent me this VM challenge..." Challenge name: VeryMuch RE Description: Implementing my own VM - Can you check if I did it right? Milestones 15 minutes: player recognizes the implemented virtual machine 30 minutes: (the player) starts writing a disassembler 1 hour: (the player) has the whole program disassembled 1 hour and a half: (the player) understands the logic 2 hours and a half: (the player comes up with a) solution Later in the evening, I picked the challenge up....

30 March 2024 · 9 min · 1791 words · Jacopo Scannella

Backport Software to Nix Using Overlays

I know, I know… It’s been almost two years since the last time I wrote here. Well.. I had stuff to do! I am still studying for my masters degree, but I had some major step forwards in many other directions. One of those was picking up NixOs, a great operating system powered by the almighty Nix package manager. There are various reasons behind this choice and I will probably expose them once I installed it as my main system on most of my boxes....

4 January 2022 · 4 min · 709 words · Jacopo Scannella