As you may know from my last post my programming journey started with special fractals called hopalongs. I thought it would nice to revisit this once again using AI. Since around spring 2026 I stopped writing code by hand and mostly used AI agents for that task. For this post, I implemented hopalongs in Javascript, so I can embed them on this website. Drag the sliders and enjoy. a b c n (points)
This post is a book review of Fiesta by Hemingway. Again, as with my previous book review, this is not a summary but rather some thoughts and highlights. If you are interested in the book, go buy the book. Writing Style Hemingway is widely known for his short and concise writing style. As someone who has written some academic papers and is still writing technical documentation, i have to agree.…
Introduction I am probably a minimalist without ever wanting to be one. I prefer to own few things of high quality instead of multiple items of low or mediocre quality. But I have never purposefully engaged with keeping order and was never interested in cleaning or decluttering. My parents always had trouble in convincing me to clean my room. But i looked into related topics to decluttering such…
In this post, I want to explore another technique to exploit a buffer overflow in the Linux kernel. In a previous post i used the functions commit_creds(prepare_kernel_creds(0)) to elevate privileges to root. In this post, I want to demonstrate another way that involves overwriting the symbol modprobe_path in the kernel. This was swiftly mentioned in my previous post in a section called KPTI…
After my last book review, I decided to do another one. This is about The Astronauts by Stanislaw Lem. Again, this is not a summary, but my personal opinion. Nevertheless, it may contain spoilers, so go read the book. The book was written in 1951 and the main part of the book is set in 2000. It carries that typical Soviet optimism for the future. For me this is always associated with a nostalgia…
Usually, I do not post book reviews, but recently I read Prometheus Rising by R.A. Wilson and feel that i need to write down some thoughts on it, so I do not have to read the book again in the future, but can still refer to the ideas. This is not a summary of Prometheus Rising, but rather a retelling and an interpretation by me. If you are interested in the book, go buy the book. First of all,…
If you are not interested in malware development for Linux and have not read some of my previous blog posts, this blog post may be too technical for you. You could rather start here In this blog post, I want to present a toy LD_PRELOAD rootkit. It works by hijacking the dynamic linker and thus hiding itself from the system. Later, we will talk about how to detect it. Preliminaries Usually, when an…
Prelude This blog post documents my forays into Linux kernel exploitation. The basis for this introduction is a challenge from the hxp2020 CTF called kernel-rop . If you want to follow along, you can either download it from the CTF page or from a local mirror . There are already a lot of solutions to this challenge on the internet. If you came to my blog by looking for such a solution, you may be…
My background When i left academia after pursuing my PhD and got into penetration testing, i was irked by how people used the word “security research”, but I could not quite put my finger onto it. For me, research was an activity that increased the knowledge of humanity. As an example the theorems of Pythagoras or Thales of Milet still hold and are still relevant for today. The same holds true for…
In all Zen sesshins I have been to, there was an evening service where the guy leading the sesshin recited something akin to the following. Great is the matter of life and death. Life slips quickly by. Time waits for no one. Wake up! Wake up! Don’t waste a moment. Actually, i visited only one English speaking retreat, so mostly it was a German version as the one below. Aus tiefstem Herzen sage ich…
Introduction In this post, we will talk about meets and joins in preorders. The beauty here is, that this point of view allows to generalize multiple different notions such as the minimum of two numbers, intersections of sets, and greatest common divisors Preorders First and foremost, let us define what we mean when we are talking about preorders. A preorder \((A,\leq)\) is a set \(A\) together…
Introduction In this post we will take a look at some of Gera’s Insecure programming challenges. These are a popular set of computer security challenges flying around the web. We will look at the challenges called stack1.c up to stack5.c We compile everything with gcc -m32 stackn.c -o stackn.o , where n is from 1 to 4. This says to gcc that we want a 32-bit binary. Stack1.c /* stack1-stdin.c * *…
Introduction This blog post concerns how to detect wildcard DNS records. This is an important step, e.g., when enumeration subdomains using brute force, which is a common part of bug bounty hunting and CTF playing. Background A wildcard DNS record is a DNS record that matches any subdomain. An example is *.example.com that matches every subdomain that ends with .example.com . Wildcards in DNS only…
Introduction This blog post gives an overview of three types of Linux rootkits, ordered by their complexity. Definitions What is a rootkit? A rootkit is a program that is installed on a computer after it is breached. It allows the attacker to maintain a foothold on the system. Thus, it is a mechanism for achieving persistence. Consequently it should be stealthy, should survive reboots, and should…
Introduction A dropper is a program that is used to execute malicious code on a computer. It is a kind of installer, that hides the malware from the antivirus system, and the analyst. In a previous blog post , i described a dropper that I designed in Golang. It had (at least) two drawbacks: The malware that is delivered needs to be in the form of position independent code, with all data inlined,…
Introduction A previous blog post introduced a well-known anti reverse-engineering technique under Linux using ptrace. A program was introduced that showed different behavior on whether it is being debugged or not. This program relied on the function ptrace() . The program executed ptrace() on itself, and if it failed, it concluded that it was debugged by another process. In this blog post, we…
Introduction This blog post describes how to hide symbols in ELF files from static analysis. While this may seem like a curious gadget, this approach is used in the real world to prevent software from being analyzed, e.g., in software protection mechanisms or malware. As an example, we take a program that prints “Hallo World!” using the function puts from libc. // compile with gcc -o main main.c…
Introduction This blog post describes an old Anti-RE technique under Linux using the ptrace syscall. A program is introduced that shows different behavior on whether it is being debugged or not. Background When malware is analyzed, it tries to hide itself. There are various different techniques for this. As a first step, malware is often analyzed automatically in a sandbox, due to the high number…
Introduction This is an explanation of (and a rant about) the culture industry. Originally the notion of culture industry is due to Adorno and Horckheimer, two Jews who fled Nazi Germany. Then in America they wrote the book “Dialectic of Enlightenment” which was publicized in 1947, where they criticize the uniformity of American culture. Unfortunately that book is hard to read, so i decided to…
This is a travel report about my trip to St. Imiere to commemorate the 150th anniversary of the first Anti-authoritarian International. The back story is that 150 years ago Bakunin held its congress there which marks the separation between the communist and the anarchist movement. The trip was an autonomously organized camp with lots of workshops and concerts. Everyone could propose a workshop or…
Einführung This post is in German. If you do not understand German read this , this or that instead. Neulich wurde ein lustiges lange bestehendes mathematisches Problem gelöst, über das ich heute schreibe. Innerhalb der kleinen Mathecommunity gibt es die Nische der Parkettierungscommunity, die sich mit Perkettierungen hauptsächlich von Ebenen beschäftigt. Der Vorteil an Problemen in dieser…
Introduction Last weekend i agreed to support as a mathematician in a CTF team. We were participating in the Hack-a-sat CTF , which is an international competition sponsored by the air force about hacking satellites. We scored 7th place. As i had nearly no knowledge about satellites, i used a few evenings to read a little bit. These are my (somewhat) cleaned up notes. This is not a writeup, as my…
Introduction In the middle of March i decided to take the Certified Red Team Operator (CRTO) certification by ZeroPoint Security . As I would have loved to read some more reviews of it before taking it, here’s mine. General The CRTO is a pretty novel certificate in the area of IT security and especially red teaming (in contrast to penetration testing). It is considered a beginner certificate as it…
Introduction This blog post is about a fancy program that i wrote. Due to dramaturgical reasons we will start from the end. I will first show the program and explain how it works. Then i will jump back to the other side and explain how i wrote it. If you are interested in calling C functions from Golang and position independent assembly code, then read on. If you know how to write a dropper then…
In this post, I describe how to setup a tor hidden service. The information can be found scattered among many manpages and websites. So i tried to collect all of that in one place, in case I have to do it again. Idea So the other day i got that raspi and had no idea what to do with it. I decided to set up a tor proxy for my network together with a tor hidden service. The tor proxy is in my local…
Intro Back in April, I bought my first car. Here in Germany, you can pick your license plate and one part of it is a number. So, as the nerdy mathematician that I am I selected a special number. First, I tried 6174 but in my region you can only pick numbers with three digits. Next, I tried 257 but that one was already taken, probably by another mathematician. Finally, I picked 561 which was still…
Intro Today I want to write about Bayesian statistics. Bayesian statistics is an approach to inferring probabilities. It provides ways to specify a previous belief (the prior) and update the belief, as new observations are made and new data becomes available. Thus, it is a valuable instrument for very diverse areas such as earth quake prediction or clinical trials . Previously, Bayesian analysis…
Intro In this post, I will share my knowledge about mixing metal music. I have been in (mostly metal) bands on and off since age 16. And even though I always tried to get around mixing the music I have accumulated some knowledge. This is how I mix metal. There are many other ways to do it, but if you do it like this it serves my taste. The most important part is that you do not need expensive gear…
Intro This post is a very fast tour through elementary number theory. It consists mainly of lecture notes shrinked to a cheat sheet. Linear Diophantine Equations \(ax+by=c,\;a\neq 0,\;b\neq 0\) (solvable \(\Leftrightarrow gcd(a,b)\mid c\)) Let \(d:=gcd(a,b)=ax_0+by_0\). Then the solutions are \(x=\frac{c}{d}x_0+\frac{b}{d}n,\;y=\frac{c}{d}y_0+\frac{a}{d}n\) for all \(n\in\mathbb{Z}\). Perfect…
Introduction Today, I talk a little bit about constructive or intuitionistic logic. I am not a constructive logician but I enjoy their ideas and hope that I repeat their point of view undistorted. In a nutshell, constructive logic is a new approach to the foundations of mathematics that only allows for constructive proofs. Arguments for Constructive Logic Computability In classical math, there…
Introduction In today’s post I will show you how to solve a sudoku using tools from algebraic geometry. Sudokus consist of a 9x9 grid containing some numbers, together with some special requirements. The task is to fill in the missing numbers. If you do not know what a sudoku is, please take a look here . The usual approach for solving sudokus is a back-tracking approach. The first empty cell is…
Back, when the internet was still small and i was still a pupil I had an intense fascination with fractals. Among others, I worked on so called hopalongs. These are orbits of a special map. They were discovered by Barry Martin of Aston University in Birmingham. In 1986 they were popularized in the Scientific American by the well-known recreational mathematician Dewdney. The hopalong map is…