Sign in


Take back control of your code base!

Photo by KOBU Agency on Unsplash

Maintaining the code base on your own personal blog or website can be a great learning experience. It teaches you about the design and architectural decisions involved in running a successful site, and allows for added flexibility outside of otherwise preset behaviors.

Additionally, this approach makes you less reliant on a single framework or platform. Should you need to move hosting providers, simply copy your files into another cpanel or web directory.

Despite these benefits however, there is a steep learning curve to maintaining your own site — beyond the notable coding knowledge required. For example, minor changes to a…

and jeopardizing your PCI compliance!

Photo by Ales Nesetril on Unsplash

What does it mean to be “PCI” compliant?

If you own a business or work in the industry, you’ve most likely heard of PCI and know maintaining compliance is critical for a business to continue accepting credit card payments.

For the rest of us however, “PCI” is an even shortened version of the acronym “PCI DSS”, which stands for Payment Card Industry Data Security Standard. This is a set of standards released by the PCI Security Standards Council that provide technical and operational baselines an organization must meet in order to handle credit card information. In other words, any organization processing credit card data needs to be compliant…

Have you ever installed a Python application, only to find out later the required dependencies replaced those of another critical application?

Python virtual environments can help eliminate this dependency nightmare and make the installation and management of your projects more sustainable. This post will review the concept of virtual environments and introduce three tools for applying safer dependency management practices.

Photo by AltumCode on Unsplash

What are Virtual Environments in Python?

Python virtual environments are isolated spaces that allow programs to run separate from the shared, system-wide installation. These environments are created in self-contained folders that consists of all required binaries for execution. …

Okay, so Slack can’t actually perform port scans! However, it can act as a communication channel to relay tasks, such as port scanning, to a remote server.

This post demonstrates how to use Slack to automate repetitive, resource intensive tasks during bug bounty hunting or any offensive security engagement. This comes with multiple benefits and ultimately frees up your primary host to continue testing until results are returned.

Photo by Stephen Phillips — on Unsplash


Port scanning is an essential step in the recon process that can lead to missed opportunities if left unchecked. …

Bash scripting is an easy concept that can allow bug bounty hunters to automate repetitive tasks and spend more time on advanced vulnerabilities, often resulting in higher payouts.

Tool chaining is just that, using Bash scripting to integrate multiple tools executed in a predefined pattern. This post discusses the use of tool chaining in bug bounty automation and introduces a new enumeration tool to add in your recon process!

Photo by Caspar Camille Rubin on Unsplash


Automation is the latest trend in bug bounty hunting, with new frameworks being released every day. This ranges from full-fledged solutions with user interfaces and back-end databases to collections of custom-built…

Photo by Tumisu from Pixabay

LinkedIn is the world’s largest professional networking platform and used every day for recruiting, marketing, and connecting. However, it’s because of this that LinkedIn is also a great source for information gathering during penetration testing.

Through a company’s profile, it’s possible to collect a list of current employees and their position. This information can lead to spear phishing, password spraying, or other attacks against the organization. While there are various opensource tools to help collect and weaponize this information, I have always found one reason or anther to perform this process manually. Until now…

Introducing CrossLinked

CrossLinked was created to simplify the…

Metadata is simply defined as data about data. In computer systems, this is used to correctly interpret files and store descriptive attributes. While not always visible, metadata provides far more information than content creators realize. Once a document and containing metadata is made public, it could unknowingly help an attacker infiltrate your organization.

Photo by Josue Valencia on Unsplash

As a penetration tester, I am often given a week to target a client’s public facing environment with the goal of breaching their internal network. This form of testing allows the client to evaluate the effectiveness of their defensive solutions, assess the security team’s response to simulated…

A Web spider is an automated approach to identifying links and other resources hosted on a target website. In today’s world, this can be used in anything from data mining to mapping an attack surface during offensive security assessments. This post demonstrates how to create a Python web spider and add further customization to fit your own programming requirements.

Photo by Christopher Gower on Unsplash

Web Spider vs Web Scraper

Before diving in, let’s define the difference between a web spider and web scraper. These are two common terms easily confused online:

  • A Spider, also referred to as crawler, is a bot-like program that systematically indexes pages on a site. This…

As a fan of The Big Bang Theory, and while practicing “social distance” due to COVID-19, I decided to try a write-up for emaragko’s TBBT: FunWithFlags machine on My goal was to gain root privileges on the box and identify all 7 flags using only open source tools, without the use of Metasploit.

Port Scanning

When first launching the virtual machine (VM) with VirtualBox, the DHCP address was provided on screen prior to login. Anyone who has used vulnhub before knows, this is super helpful as the first step is always finding where the system landed on the network. …

As more applications and resources move to the cloud, organization’s are requiring multi-factor authentication (MFA) to better safeguard user accounts. This post outlines various methods used to bypass MFA in Microsoft 365 and Azure AD during offensive security engagements.

Photo by Gerd Altmann on Pixabay

Conditional Access Policies

The first method used to bypass MFA is through conditional access policies. Simply put, these are if-then statements that allow an organization control over user access requirements. This can be used to enhance security by implementing policies such as:

  • Requiring MFA on all users with administrative roles.
  • Creating trusted zones for MFA self-enrollment.
  • Blocking potentially risky sign-in behaviors.

Another common use-case…


Sr. Penetration tester, Opensource Developer, Bug Bounty Hunter —

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