I have no idea what I’m doing when approaching a cryptographic challenge. My
background is in art.
I approached the challenge naively unaware it even was a challenge. A
designer had been asked to put 1s and 0s on the cover of the report
because hey, it’s about computer stuff right? That’s what I thought at least.
I’ve been asked to do that sort of thing, and copy and pasting finger-mashed
1s and 0s is boring. I always made an effort to make my gibberish mean
something. At the least, I’d find Cicero’s lorem ipsum dolor sit amet et cetera ad nauseum.
I assumed something amusing would be there but didn’t bother much with it. It
was 5:30AM and the report made better coffee reading than the cover. When I
reached the end though, I found the major clue.
By two searches away from WikipediA, I meant, as others have noted that it was a one-hit google search at the time, for a geocaching clue.
Handy. Even handier is the ‘decrypt’ link on the geocaching site, yielding the
original text, le chiffre indéchiffrable. Seems like an obvious clue! As I
related in my tweet, that led me straight to the WikipediA article on the Vigenère cipher.
What is The Verizon Breach Report cover binary text? http://is.gd/hafb please be Clutch lyrics, please be Clutch lyrics, please be Clutch l-
At the office, I asked a few co-workers if they had noticed the clue on page
48, and showed them that the cover text was probably something. I had no
idea what, but hey presto, let’s give it a spin.
I threw the source 1s and 0s into Vim and got rid of all the newlines.
Nothing useful. Then I tossed the single long line into TextMate to play with
wrap points.
While shifting it around in Textmate I noticed a pattern.
Neat columns, but what does it mean? I didn’t know. I was getting tired of
moving the source text around though, and knew it was copy and pasted a few
times, because I was still going on the naive ‘it is nothing or it is funny’
approach. I selected the first line and searched-all in TextMate. Four hits on
lines 101, 201, etc… I did the same for the second and third lines. Sure
enough, only the first 100 lines were unique. Oh well that proves nothing, back to work.
Only the first 100 lines matter. Off to blue team, will have to resume
after lunch. Argh, obviously a Vigenère. http://is.gd/sz5k #vzbdir
After my morning meetings, I decided to keep at it through lunch. After
talking to my friend Ben, we agreed I should just
script out ascii one letter at a time whether that was what I was looking at
or not. All the easy to find online ascii-binary converters wouldn’t accept
it. I read up on perl’s pack() and threw this together.
#!/usr/bin/perl -w# bin-to-asciimy$binary_text= shift;
open (BINARY,$binary_text)ordie"Can't open input file: $!";foreachmy$line(){my$length= length($line);my$hex= pack("B$length",$line);print"$hex ";}
Whoa! Letters! Chris Eng got this far immediately with a shell one-liner: sick fu!.
I had no idea how to attack the Vigenère but given the clue on page 48, that’s
where I had to start. I read up on brute forcing Vigenère. Yikes. If it’s possible, I can probably find a tool to do it. I found lots, but the first hit was enough.
@alexhutton I just submitted my cipher
text solution. Never done any code breaking before, was a lot of fun!
#vzdbir (now back to work!)
I got a call an hour later.
I was the first to submit! I’d won!
Congratulate me at CharmSec this Wednesday, and I’ll
buy you a beer.
Update
I just used this old ascii <-> hex <->binary converter
I keep handy and noticed it would have converted the binary for me. I use it
for hex so much I forgot it handled binary. I didn’t need that perl script
after all. Doh.