Sign in

John Troon

Focusing the lens in Kenya and its neighboring countries


In the last two decades, we have seen a vital connection between our electoral process and election outcome. When an election process is found with irregularities it often leads to post-election conflicts.

In some African countries, elections are conducted to appease the electorate, satisfy a checklist for the international observers, and for the exiting government to maintain power. For instance, the recent Uganda general elections conducted on 14 January 2021, a “democratic” process that does not institutionalize democratic structures or strengthen its existing governance systems. …

Within the next few years, the DNS-over-HTTPS (DoH) protocol is likely to become an important component in internet connectivity. The Internet Engineering Task Force (IETF) process of getting DoH from a conceptual idea into a Request for Comments (RFC) document has been fast compared to other standards which averagely takes up two to three years [1]. It took about a year to publish the DoH RFC 8484 filed by P. Hofmann (from ICANN) and P. McManus (from Mozilla) [2].

Since DNS resolution is an integral part of users connecting to the Internet and accessing web resources, privacy becomes a concern…

“There’s more to doing good than hating evil.”


Early last week, I found myself in an interesting conversation with a long time buddy, Harry. Being a little bit older than me, a computer geek, and always cheerful, we talk about anything. “Kids nowadays display sex acts and other explicit content boldly in their rap videos, I’m shocked. What’s up?”, Harry asked while a gengetone hit song played in the background. We argued that we probably experienced a similar phase in our teenage lives, maybe without noticing or not being as underlined as today. We also jammed to Nonini’s hits and…

Image 1: three common missing commands on GEF

GEF (pronounced as “Jeff”) is a kick-ass set of commands for X86, ARM, MIPS, PowerPC, and SPARC to make GDB cool again for exploit dev. It is aimed to be used mostly by exploit developers and reverse-engineers, to provide additional features to GDB using the Python API to assist during the process of dynamic analysis and exploit development [1].

Setting up GEF is straightforward, there is a nifty script that does the auto-config for GDB [2]. …

Continuation of part one

In the first part of this article, I have explained the essential Winsock API functions that are required to implement a reverse stager TCP shellcode. This is a continuation of the article. We shall examine a more detailed implementation of the concepts established.

Windows Socket Programming

The following is a summary of the steps taken to develop a reverse staged TCP shellcode:

  • Initialize Winsock
  • Create a Socket
  • Connect to a remote IP address (on a particular port)
  • Receive second stage shellcode
  • Execute the second stage shellcode
Img. 2 — Execution flow.

Cstyle Implementation/PoC

Client-Side PoC code. Fetch and execute 2nd stage shellcode.

Compiling the…

The art and fabrics of windows shellcoding…


Crashing an application is just one part of the vulnerability research and exploit development process. After root-cause analysis, what follows, is crafting an elusive exploit that is reliable and stable. It is all an art of perfection, intrinsic to weaponizing an exploit.

An essential feature of an exploit code is the size and quality of the shellcode used. They affect the efficiency and effectiveness of an exploit code. At some point, you will have to encrypt or decrypt, encode or decode, and patch your shellcode on the fly in an attempt to evade an Intrusion Detection System (IDS) or to…

Kenyans on Twitter — KOT, and the entanglement of local politics.

One of the most distinctive features of the human language compared to any other animal is the ability to tell fiction. Talking about things that can only be imagined, in some cases, lies. We couldn’t have achieved modern civilization and the creation of different social constructs without the aid of our peculiar linguistic features. It is hard to convince a monkey to give you its banana in exchange for an endless supply of more bananas after-life. …

Automation is key to improving the efficiency and accuracy of your analysis.

i. Introduction

In an older post, we examined a stack-based buffer overflow in FreeFloat FTP Server. The step-by-step guide for beginners was to illustrate the process and technique of basic exploit development. However, I skipped the part where I was to explain how to determine which bytes or characters can break an exploit code. In this post, I’ll discuss how to hunt down bad characters in exploit development. If you are preparing for OSCE, you will find this post somehow useful.

ii. General approach

The fundamental principle of testing which bytes corrupt your…

If your range of randomness is predictable and can be easily computed with less effort, it makes “random” useless.

This article is not about the basics of cracking WPA/WPA2 Wi-Fi network. I assume you know how to break WPA/WPA2 wireless networks. The article is a more specific analysis of cracking Huawei 4G MiFi Internet Router default password with 100% success.

The Huawei 4G MiFi default password (WPA/WPA2) is generated in a not so random approach. I bought this device just a month ago, and I noticed the default password is easy to crack.

The default password for the device Wi-Fi…

I stumbled upon while running a Pentest Training a couple of months ago. I find the challenges friendly to anyone trying to dive into penetration testing. This is a continuation of the first post —

7. Secret message

Message Hidden in Image

How I solved it:

This is a very simple challenge but I think I took a wrong start with my analysis. I’ll document all the steps I took (including the wrong turns I made) just to show you I also make mistakes and how my solving process looks like.

I downloaded the image and jumped straight into steganalysis. I checked to see what…

John Troon

If I was a writer I’d have nice words to put here :) Purple Teamer.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store