I sent an email to a vendor asking for a document and when the vendor replied to my email with the document attached, the document was password protected.  He said as much and he also said that I could probably crack it.  He is correct.  

I've probably cracked a PDF once or twice.  I've probably also cracked a few ZIP files, RAR files, and various other files with passwords but I think you get the point.  Essentially, most of these types of files will all crack the same way -- John the Ripper.  

There are a couple of John the Ripper versions but somewhere along the way, I discovered that the Jumbo John package is the one to use for cracking ZIPs and RAR files.  I don't know whether PDFs fall under that some umbrella but that's where I went.  

Read more: PDF Password Cracking

As I mentioned previously, I've been spending time on HackTheBox.  I've gone through about 12 machines in both the Active and Inactive areas.  A lot of what I'm finding so far is more along the lines of situations you wouldn't find in the real world.  That said, it's a great way to add technical chops and acquire more critical thinking skills.  Which is another way of saying I do a lot of head banging and Googling.  

The other day, I stumbled across Cronos which is a retired box and there several reasons why I decided to write about it.  Rather than spoil, I will mention those reasons when I get to them but let me summarize by saying that it's a bit more real world than what you typically see.

Read more: HackTheBox Cronos Walkthrough

Hacking is doing something that wasn't meant to be done.  Or perhaps a better way of putting it is to say that when the designer designed their product, they were not thinking of our method of interaction. 

When the login form below was designed, the idea was that a decent person would visit this site with the intention of logging in with their credentials.

Read more: Brute Force and SQL Injection on Logins

We deal with small to medium-sized businesses which means we might not have a budget for a thousand plus dollar Active Directory auditing tool. But maybe we only want a subset of those tools and we can script some of those tools in PowerShell.  For example, assuming you have a lockout policy setup in Active Directory (you should!), the point is to stop someone from guessing passwords on your accounts.  Wouldn't you like to know if someone is attempting to guess passwords on your accounts?

This script can be added to the Task Scheduler and I would setup its frequency based on your lockout duration. 

A few things to note about this script --

Read more: PowerShell: Account Lockout Email Notification

I go back and forth between working on various problems and when a hard problem wears me down, I work on something easier.  That's where Blocky comes into play. 

It seems they move boxes in and out of the Retired section of HTB because I don't even recall its name.  I do know that I was working on another box, went through the weekend without touching it, and when I went back to it that following Monday, it was inactive.  

Anyway, so Blocky went from Nmap scan to root in no time purely because of a solid guess.  I sometimes just poke at something for the sake of covering all of my bases but it doesn't normally bear fruit.  This time it did and I was completely taken aback.  More on that in a bit.

First we kickoff an Nmap scan:

Read more: HackTheBox Blocky Walkthrough

I started playing with the HackTheBox October machine and during my enumeration process, I discovered something and I ended up in a Python rabbit hole.  Before I continue, let me say that I'm jumping straight to a spoiler -- so if you're looking for some subtle hints on entry, I'm past that point with respect to the direction of this post.  Assuming you've ended up here for some other reason, I'm going straight to to the ovrflw file which is vulnerable to a buffer overflow.  If you execute the binary, we see the following:

root@c2:~/hackthebox/October# ./ovrflw
Syntax: ./ovrflw <input string>

If we input a few characters, we get no response.  We assume that we can exceed a certain number of characters to get it to crash.  With buffer overflows, we want to get the exact byte count of the crash so that we can insert our shell code just after that point.  There are any number of ways to get the byte count for this buffer overflow, we could do something like:

root@c2:~/hackthebox/October# ./ovrflw `python -c 'print "A"*112'`
Segmentation fault

Read more: HackTheBox October Ovrflw