Feel free to browse around and you'll have a pretty good idea of what this is about. I write about security, privacy, vulnerabilities and exploits, various programming languages and my projects. I might have written some stuff that's in my GitHub, but I'll never admit it anyway.

Hacker. Not Phineas Fisher. My other computer is your computer.

#Tor · #Ricochet · #Debian · #Infosec · #CubeSat · #OSdev · #Cyberpunk · #Cypherpunk

If you want to contact me, do it. I might answer. Probably. Or not.

 PGP  Key: 0xFAEA6AF5567BE45D
Fingerprint: 9AB8 10E5 AC82 1C12 53A3 D1D8 FAEA 6AF5 567B E45D

Compile a list of all Facebook-owned IPs

Sometimes you want to block all Facebook IPs for various reasons (1, 2, 3, 4, 5, 6, 7, 8). Sometimes you really really do want that (and you should do it), so compiling a list with all the IPs is easy:

$ whois -h whois.radb.net '!gAS32934' | tr ' ' '\n' | awk '!/[[:alpha:]]/' > facebook-ips.txt
$ whois -h whois.radb.net '!6AS32934' | tr ' ' '\n' | grep '::' >> facebook-ips.txt

And a list of Facebook-owned IPs will be saved into the facebook-ips.txt file, ready to be added to your /etc/hosts.

The Starfish Parable

One day an old man was walking along the beach. It was low tide, and the sand was littered with thousands of stranded starfish that the water had carried in and then left behind.

The man began walking very carefully so as not to step on any of the beautiful creatures. Since the animals still seemed to be alive, he considered picking some of them up and putting them back in the water, where they could resume their lives.

The man knew the starfish would die if left on the beach’s dry sand but he reasoned that he could not possibly help them all, so he chose to do nothing and continued walking.

Total Meltdown - Windows 7

Did you hear about the newest bug in Windows 7, introduced by the Meltdown patches that Microsoft implemented? Accidentally leaving the Page-Map Level 4 (PML4) as user?

A simple user-space application that tried to read a kernel address should’ve crashed, how about this for a basic test, Microsoft?

#include <stdio.h>
int main() {
	volatile unsigned long *ptr = (volatile unsigned long *)0xFFFFF6FB7DBED000;
	printf("%lu\n", *ptr);
	return 0;

Compile with Cygwin and run. If it doesn’t crash, the new Windows 7 Meltdown bug is present.

The real question is, I guess, how do you accidentally make PML4 user. Oh, and if you’re wondering why this only affects Windows 7, it’s easy: parts of the memory management code were rewritten for Windows 10 so that the location of the page tables could be randomized.

Have fun.

Re-installing Firefox OS on the Flame device

This tutorial is for a macOS device, should work on any UNIX-compatible machine (you will still need to install Android SDK manually). If you’re running Windows, well, replace flash.sh with flash.bat and godspeed.

You need to install the android-platform-tools recipe via Homebrew Cask if you don’t have it installed already.

$ brew tap caskroom/cask
$ brew cask install android-platform-tools

Quote of the Day

Folkloric dances in the metro, innumerable campaigns for security, the slogan “tomorrow I work” accompanied by a smile formerly reserved for leisure time, and the advertising sequence for the election to the Prud-hommes (an industrial tribunal): “I don’t let anyone choose for me” - an Ubuesque slogan, one that rang so spectacularly falsely, with a mocking liberty, that of proving the social while denying it. It is not by chance that advertising, after having, for a long time, carried an implicit ultimatum of an economic kind, fundamentally saying and repeating incessantly, “I buy, I consume, I take pleasure,” today repeats in other forms, “I vote, I participate, I am present, I am concerned” - mirror of a paradoxical mockery, mirror of the indifference of all public signification. - Jean Baudrillard, Simulacra and Simulation