The Monster in the File Picture this: you're reverse-engineering some binary format, and you discover a nightmare hierarchy that makes onions jealous. Files split into slices. Slices containing commands. Commands holding elements. And oh, did I menti...
What is Tracking Tracking refers to the set of technologies and techniques used to observe, record, correlate, and analyze a user's digital behavior. It’s not just about who you are. It’s about what you do, when, where, for how long, how often, with ...
It’s been a while since I last posted here — or on the other blog, for that matter. My fault.Adulthood, personal affairs, and a few darker things kept me away from the keyboard. I suspect many of you can relate. Still, none of that ever really stoppe...
For the largest part, developing a Ducky Script (from now on, DS) Payloads implies thinking out what stream of bytes depicts the actions that you would perform on the target system to obtain what you want. These actions are to be described in the DS ...
Abstract In the first article of this series, we introduced hotplug attacks. Here we will dwell more in detail, and make a few considerations on how these attacks should be mounted. A few considerations on how the attack should be done Consider that ...
Abstract Human Interface Devices attacks are as powerful as disregarded. In this article, we'll define the foundations of this family of attacks, the underlying concepts, and why this kind of attack can be a game changer for a successful intrusion te...
Abstract If you are like me, and use advanced math every day or so, you may find yourself struggling with the Green Function. In my case, it's because Green Function is largely introduced with Physics related concepts, and I don't really like physics...
Introduction Lately, I have spent some time sharpening my Swift skills. Swift is a wonderful language, but it has some aspects that deserve attention. The first topic I wanted to review is Closures. Closures are a powerful feature offered by the Swif...
Abstract In this series of articles, I am analysing the pieces of shellcode written by Odzhan on the page Shellcode: Mac OSX amd64. In the last article, we will put together what we have learnt so far and we will create a reverse bind shell Keywords ...
Abstract In this series of articles, I am analysing the pieces of shellcode written by Odzhan on the page Shellcode: Mac OSX amd64. In the last article, Some more shellcode I showed some basic static and dynamic binary analysis using Hopper. In this...
Abstract In this series of articles, I am analysing the pieces of shellcode written by Odzhan on the page Shellcode: Mac OSX amd64. In the last article, Come taste some shellcode..., we introduced some basic binary analysis and we learned how to ca...
Abstract In this series of articles, I am analysing the pieces of shellcode written by Odzhan on the page Shellcode: Mac OSX amd64. This is a wonderful way to learn some assembly on MacOS, and introduce some secure software development practices. Pl...
Abstract In the previous article (MachO Binary Analysis with objdump), we have followed step-by-step the compilation of an Objective C program. We have seen all the steps that lead from the code to the Assembly. Now it's time to see what happens at t...
Abstract In my previous article Building a binary, I went through the compilation phase in quite an abstract fashion. Here I do the same exercise with a pseudo-real world example, a simple Objective C program. We will see how the compilation model wo...
Abstract In this article, we discuss the process of compilation. We need to understand how something is built, prior to its reverse-engineering. We will work with clang on Debian, a quite common setup. We are also taking a look at the same process on...
Abstract In this article, we will show how to obtain a system-specific executable from its fat version. A prerequisite to understanding all the contents of this article is having a solid grasp of the MachO binary file format. Would you need to fill s...