Journal Entries By Tag: #spf

Assorted journal entries with the tag #spf.


TL;DR — I recently received an email telling me that I've been hacked. Since I don't believe it, I thought I'd make fun of it instead.

👓 6 minutes

A couple of weeks ago, I was lucky enough to receive an #email telling me how one of my email accounts (and the devices associated with it) had been hacked. What’s more, this email appeared to be “From” the hacked accounts, a feat designed to help me understand just how serious of a threat this hacker is.

And I do understand - they’re a joke.

Now, I am not disrespecting “real” #hackers , the kind who are perfectly capable of destroying my bank account, doxxing my children, and generally ruining my life, so please, don’t take this as some kind of a challenge. Instead, I’m disrespecting a “script kiddie”, someone who can’t actually hack, and instead spends their time trying to fake it by scaring people who don’t understand the shiny magic boxes we commonly call computers (or, more generally, “devices”).

If you really wanna be a fake hacker, this book will tell you how!

Unfortunately for this lamer, I do understand these magic boxes enough to call their bluff, and have decided to post their weak-sauce attempt at extortion here (along with some commentary of my own). Although I’ve redacted the addresses that I received these messages from, I’ve kept most of the actual text of the messages intact, in hopes that someone searching for this text may come across this post and save themselves a truly unnecessary extortion payment.

The Email

From: [redacted-address]
To: [redacted-address]
Subject: [redacted-address] - this account has been hacked! Change all your passwords!



I have bad news for you.


19/07/2018 - on this day I hacked your operating system and got full access to your account [redacted-address]

Oh, noes! You hacked my operating system to get access to my email address?

Wait, how does that work?

It is useless to change the password, my malware intercepts it every time.

Wow, that’s some magical malware.

How it was:
In the software of the router to which you were connected that day, there was a vulnerability.
I first hacked this router and placed my malicious code on it.
When you entered in the Internet, my trojan was installed on the operating system of your device.

After that, I made a full dump of your disk (I have all your address book, history of viewing sites, all files, phone numbers and addresses of all your contacts).

I’ve always wondered how it was, so thanks for telling me.

By the way, I like how you use the generic term “device” - that must make it easier to mass-send bogus emails like this. I mean, which device associated with this email did you hack?

I only ask because… well, let’s not ruin the fun yet. 😉

A month ago, I wanted to lock your device and ask for a small amount of money to unlock.
But I looked at the sites that you regularly visit, and came to the big delight of your favorite resources.
I’m talking about sites for adults.

I want to say - you are a big, big pervert. You have unbridled fantasy!!!

You know, I used to play bass for Unbridled Fantasy back in high school.

After that, an idea came to my mind.
I made a screenshot of the intimate website where you have fun (you know what it is about, right?).
After that, I made a screenshot of your joys (using the camera of your device) and joined all together.
It turned out beautifully, do not doubt.

Both my favorite intimate website and my “joys”, together in one picture? I gotta see this!

By the way, thanks for telling me how beautiful my “joys” look, it’s not often that I get a complement like that.

I am strongly belive that you would not like to show these pictures to your relatives, friends or colleagues.

And I am strongly belive that you’re not much of a writer. Or a hacker.

I think $741 is a very small amount for my silence.
Besides, I spent a lot of time on you!

OK, this just got weird.

I accept money only in Bitcoins.
My BTC wallet: 1H9bS7Zb6LEANLkM8yiF8EsoGEtMEeLFvC

But, what if I don’t know to replenish a Bitcoin wallet?

You do not know how to replenish a Bitcoin wallet?
In any search engine write “how to send money to btc wallet”.
It’s easier than send money to a credit card!

I don’t know, send money to a credit card is pretty easy.

For payment you have a little more than two days (exactly 50 hours).
Do not worry, the timer will start at the moment when you open this letter. Yes, yes … it has already started!

After payment, my virus and dirty photos with you self-destruct automatically.
Narrative, if I do not receive the specified amount from you, then your device will be blocked, and all your contacts will receive a photos with your “joys”.

Well, it’s been over a week since I opened the “letter” (approximately 168 hours, by my math), and so far, no “joys”.

I want you to be prudent.

  • Do not try to find and destroy my virus! (All your data is already uploaded to a remote server)
  • Do not try to contact me (this is not feasible, I sent you an email from your account)
  • Various security services will not help you; formatting a disk or destroying a device will not help either, since your data is already on a remote server.

Yeah, here’s the thing about the email you “sent”: you didn’t actually send it, you just tried to send it (and you didn’t even bother to hide the source IP!), but my email handling rules caught it, flagged it, and dumped it into my #spam folder, which is why it took me over a week to notice it.

P.S. I guarantee you that I will not disturb you again after payment, as you are not my single victim.
This is a hacker code of honor.

Well, you sure seem trustworthy, so I’m sure I can believe your “guarantee”. And your haxx0r “code of honor”.

From now on, I advise you to use good antiviruses and update them regularly (several times a day)!

Don’t be mad at me, everyone has their own work.

Sure, if by “work” you mean “scaring technophobes from your parents’ basement”.


Bite me, lamer.

The Truth

Now, you may be asking yourself, “how does he know that his devices haven’t actually been hacked?” Well, in addition to all of the reasons raised above, there is one more I neglected to mention: the email account that this master haxx0r allegedly compromised isn’t even associated with any devices. It’s just a email address, plain and simple, and isn’t used for logging into any application or device anywhere on the #internet . What’s more, I’ve been sending out and posting resumes with this address for a few weeks now, and suspect that this is how this wannabe got their hands on it.

So, in the end, how can one try and minimize their exposure to hacking threats (especially fake ones)? Well, IANAHOSE, but these are some of the ways that I do it:

  • For years, I’ve tried to diversify my accounts, using different emails for different sites, and keeping those email addresses separate from the accounts I use on actual devices.
    • To make this work, I had to buy a domain name (which costs about $10 / year) and setup a catch-all (or “wildcard”) address. That way, I can use anything I want for the “local-part” of the email address (aka the portion before the “@” symbol), and I’ll still get it at my main address (which I don’t typically share).
  • Likewise, I diversify my passwords, using a different password for each site / device. The easiest way to do this is with a good password manager.
  • I also try to keep good backups, so if my devices do get hacked, I can wipe and restore them (relatively) easily.
  • Finally, as alluded to above, I have Sender Policy Framework (SPF) rules setup to work with my domain, which helps to prevent others from sending unauthorized emails from an account I own.

Always try to remember: No matter how scary an email may look, don’t believe everything that you read. Many (if not most) are from fakers just like this one, and are nothing more than poorly-weaponized spam. And, just like with regular spam, the only proper (and safe) way to react is to ignore it completely.

Failing Me Softly with SPF

TL;DR — The joys of the Sender Policy Framework and the (apparent) difficulties of implementing it correctly.

👓 3 minutes

About a year ago, I started receiving some fairly odd email messages: some originating from my own domain (, and many originating from my own email address!

Most of these emails were obvious spam (or were themselves the product of spam, such as failure messages from external domains where the spam had been sent), and I started panicking: had I been hacked?

As I dug into the issue, I discovered that no, I hadn’t been hacked, but that my domain was just blindly accepting requests to send email. That’s when I first learned about SPF (Sender Policy Framework), “an open standard specifying a technical method to prevent sender address forgery.” Basically, to use SPF, I (as the domain owner) simply had to add a single TXT record to my domain information that indicated what servers could actually send email from my domain, and all others would be rejected. So, after fiddling around with the format for a while, I found my hosts’s recommended record (name changed to protect the innocent):

v=spf1 a mx ~all

Needless to say, I added it to my domain record, and bam – overnight, nearly all of the spam stopped flowing.

So, I went about my merry way, figuring I had solved the issue. I even added this record to the other domains that I own, since it had worked so well with the first one.

But it turns out that I was wrong.

Although I stopped receiving messages the messages from myself, every now and then I’d get a failure notice about an email coming from one of my domains being unsendable. When I’d get these, I’d think, “huh, I thought I fixed that,” and then I’d forget about it and move on to something else.

Then, just the other day, I received an email from me, to (another) me, telling me that I had a voicemail from an international number (it even helpfully suggested that “You might want to check it when you get a chance.”). And I thought, “wait a minute, didn’t I already fix this?”.

So, this time, rather than forgetting about it, I actually took a moment to look at the header, and that’s when I saw this (again, name changed):

softfail ( domain of transitioning
  does not designate as permitted sender)

So, I went back to the SPF site again, and that’s when I learned that the server could not only reply with “pass” and “fail”, but a whole cornucopia of messages:

Received-SPF: softfail ( domain of transitioning does not designate as permitted sender)

Received-SPF: neutral ( is neither permitted
   nor denied by domain of

Received-SPF: none ( domain of does
   not designate permitted sender hosts)

Received-SPF: permerror -extension:foo ( domain of uses mechanism not recognized by this client)

Received-SPF: temperror ( error in processing during
   lookup of DNS timeout)

The next obvious question is “why?” (well, that and “what the hell does transitioning mean?”).

It turns out that my host either misinterpreted the SPF spec, or tried to protect their users from themselves. Apparently, the presence of the tilde (“~”) in a record indicates that the domain is in transition to SPF - it’s designed for large email providers and corporations to let them start transitioning to SPF without forcing hard failures on every email that originates from an unlisted server (the idea is that the email owner would collect these softfails, verify the IPs are valid, and then add them to the SPF record). Oops.

Fortunately, I now knew what to do to fix the problem: replace the tilde with a dash (“-”):

v=spf1 a mx -all

A few hours later, problem solved, and no more spam from my domain (so far).

Based on my reading, I’m not the only one that made this mistake, and since SPF has been around for a few years (and is implemented, in some for or another, on most corporate domains), I can only imagine how many other domains using an incomplete / incorrect implementation of it (based on the number of F*-buddy requests and Canadian pharmaceutical offers I still get, I’d imagine that number to be fairly high).

So, if you own one or more domains, please do everyone a favor and implement SPF for your email. And if you aren’t using a ton of different mail servers (wherein you might not be able to list them all in your TXT record), skip the tilde and go straight for the dash.

The internet will thank you for it.