The last couple of months I have been focusing on learning to develop and use the Metasploit framework. As probably most of the readers know by now, the Metasploit framework is an excellent tool to develop and maintain your exploits mostly because most of the tools are already there and you don't have to reinvent the wheel. On the other hand, if you want to use it for the development, it is important to learn its internals.

Disassembling router firmware is a very interesting concept as it involves opening up and understanding something thought of as a black box - the home router. Some time ago I heard the home router firmware is in many cases actually a downsized but otherwise fully functional Linux system which can be reversed, explored, and sometimes even modified.

I was building a tool in Python recently which had to connect to the Internet over the Tor network. As I learned some valuable lessons, I wanted to share them in this post. As Tor is actually a SOCKS5 proxy, it is quite easy to tunnel traffic over it. The catch is to prevent the local machine to perform the DNS queries, as those would leak important privacy information.

I recently wanted to create a live Kali USB drive. The main reason behind this was to have a clean slate each time a new hacking session is started, as far as the pentesting environment goes. Live environments images on the USB are usually not changed while booted, only their memory copies are. This would allow a pentester to have totally clean environment each time on boot.

I recently started playing with Kali's possibility of maintaining personal setup for Kali live distro. As I wanted to keep it versioned, I created a Git project for it in my repository. I wanted to accomplish the Git setup so that I can fetch the latest changes from the Kali repository at any time, which was easier said than done.

As I had started learning the reverse engineering, I was constantly lacking the information which would inform me about how to do it properly. There are many resources on the internet which are excellent for learning the basics, but I had some bad luck in finding those which would show me the entire reverse engineering sessions. This is what I would like to show in this series of write-ups.

In this post I'm hoping to describe the filtering process as simply as possible. The reason for this is it took me quite a lot of reading to actually understand what is happening during the filtering, mostly because most of the articles I've read were either listing what needs to be done without actually explaining how it works, or listing detailed calculations, equations and hardware implementations without explaining it in plain words. Most of these articles have also assumed the reader is an expert in the topic, effectively excluding interested enthusiasts who are still beginning to grasp the basics of DSP. So this will hopefully be helpful for the mentioned folks to tie up loose ends. Here is the list of the things I will try to cover: