Do you want to learn something outside of a traditional classroom setting? Do have questions about how to do it well, how to do it successfully? Are you crazy busy with other obligations, and have no idea how you’ll make it all work?
You’re in the right place.
I’ve been teaching students of all ages for the better part of 20 years now, both in classrooms and remotely. I’ve been a self-directed learner for longer than that. Combining these histories, I’ve put together a set of tools, a little education theory, and some simple methods for success in self-directed learning. With these, I hope you’ll find success and fulfillment in the journey.
What You’ll Learn
Skills
By the end of this course, the learner should be able to:
Use Obsidian for note-taking and planning
Recognize the various levels of learning
Create a Learning Plan and Study Map to guide their journey
Effectively evaluate learning/information resources for quality and appropriateness
Self-assess learning via metacognition
Create Exhibitions of Mastery to demonstrate success
Concepts
By the end of this course, the learner should understand:
TTI’s Four Tenets of Adult Learning
Basic education theory concepts, including:
Bloom’s Taxonomy
Theory of Margin
Zone of Proximal Development
Cognitive Load Theory
Constructivism
Behaviorism
The dangers of LLMs
Prerequisites
None. This is the starting point for all TTI courses.
The Command Line Interface is the gateway to unlocking your computer’s true potential—and yours, as a developer, security professional, or general technologist.
This gentle introduction to the Linux command line prepares you to use this tool to make your work more efficient and lays the foundation for more advanced work in the terminal in later courses.
Isn’t it time you learned this essential tool for project management? No longer fear the words “merge conflict.” Branch with grace and ease. These are within your grasp.
This course provides you what you need to use Git intelligently to manage projects and publish documentation for any subject imaginable.
What You’ll Learn
Git Skills/Concepts
Commits
Branches
Merges
Remotes
Pull requests
Git uses
Project management
Documentation
Prerequisites
Familiarity with the following will make your study much smoother:
Containers are the next frontier of software delivery—and cyber risk. Become familiar with this critical technology in this hands-on introduction to building, deploying, and securing containers.
What You’ll Learn
Skills
By the end of the course, the learner should be able to:
Install Docker on a fresh system
Download images from an image registry
Run containers
Build new images from a Dockerfile
Launch apps with Docker Compose
Write Compose files to create multi-container applications
Configure Docker in Swarm Mode
Apply cgroups, resource constraints, and other security best practices
Replace Docker with Podman or another container runtime
Concepts
By the end of the course, the learner should understand:
The difference between containers and virtual machines
The relationship between images and containers
How containers and images are layered
Why containers should be ephemeral, and how to work with that ephemerality
How data can persist beyond a single container’s lifecycle
How Docker networking connects and isolates containers
How Docker Swarm scales containerized applications
Prerequisites
Although this is an introductory course, fluency with the Linux command line is expected. If you need a refresher, we have a course for you!
This brief introduction to regular expressions is intended to prepare you to use regexes for practical, everyday applications.
This course is self-paced, and mostly self-graded. It’s up to you to determine whether you’ve mastered the skills and concepts introduced, but there is help and feedback available!
Prerequisites
No prerequisites for this course, but familiarity with the Linux command line is helpful.
Most people just want to know how to quit Vim. But if you master its usage, a new world of text processing opens up to you. This powerful tool can become an integral part of many IT workflows, from software development to cybersecurity.
Vim has been in the utility belt of hackers for decades. Isn’t it time you found out why?
What You’ll Learn
Exiting
Changing Modes
Getting help
Find/Replace
Buffer management
Process files with shell commands
Modes
Buffers
Registers
Tabs
Windows
The .vimrc file
Prerequisites
Familiarity with the following will make your study much smoother:
Practical Web Application Security and Testing is an entry-level course on web application technologies, security considerations for web application development, and the web application penetration testing process.
We begin with the basics of HTTP, servers, and clients, before moving through the OWASP Top 10 on our way to a full demonstration penetration test. We also cover the reporting process for web application assessments, so you’re prepared not only to conduct security assessments on web applications but also clearly and effectively communicate your findings.
Who You Are
Aspiring Offensive Security Professionals should familiarize themselves with the design and function of web applications in order to effectively test them. Learning how to identify and exploit web vulnerabilities will broaden your possible career opportunities (and attack paths!).
Aspiring Defensive Security Professionals will better understand how to protect web applications if they understand how they are attacked. Learning these concepts, techniques, and approaches will prepare defenders to discuss server and application defense with developers and system administrators.
Web Application Developers will benefit from building their security muscle by seeing their code through the attackers’ eyes. Even if security is not your main job, keeping it in mind during development will benefit you, your team, and your users.
Prerequisites
Some familiarity with the Linux command line.
Computer Requirements
A computer capable of running a hypervisor—setup instructions are provided for Hyper-V and VirtualBox
At least 16GB of RAM
At least 50 GB of storage space
Many courses on red teaming will teach you the technical process of how to exploit targets. But seldom do courses cover what it means to carry out the role of a red teamer responsibly.
Responsible Red Teaming is a seminar on the ethical, legal, and tactical considerations of how to perform red team operations that are safe, responsible, and practical. It includes written lectures and practical labs centered on how we can emulate cybercriminals without introducing the risk of real cyber crime.
This course asks you to think deeply about what it means to you to be a considerate, ethical, responsible red teamer. It will then show you how to translate responsibility into practical application and refine your tradecraft in the areas of C2 infrastructure design, malware emulation, and payload engineering.
This is not a course that teaches you how to be a red teamer. It’s a course where you learn how to operate with honor.
Things You’ll Do In This Course
Discuss safety and responsibility during red team operations.
Consider the difference between legality, ethics, responsibility, and operational security (OPSEC) in the context of red teaming.
Examine an engagement scope document and identify areas that require more clarity.
Write scripts that log terminal activity and ship the logs to a log aggregation server.
Use Elastic, Fleet, and Sysmon for Linux to make a robust red team infrastructure logging and auditing system.
Create red team tools and detection rules for use in a Break Glass scenario.
Create a secure red team infrastructure from scratch using hybrid-cloud assets.
Use the Rust language to build malware that has execution guard rails and other safety features.
Integrate adversary Tactics, Techniques, and Procedures (TTPs) into technical exploitation responsibly.
Build a low-fidelity emulation of a malware sample that focuses on safety.
Capstone: A Choose-Your-Own-Adventure engagement on a live target where your choices will determine the success of the operation.
Level of Instruction
The course covers concepts that range in intensity from intermediate to advanced. It is expected that the student is familiar with the red teaming process and toolkit.
Medium of Instruction
The medium of instruction for this course includes written lectures and practical labs. It also includes a practical course capstone. The course material is written in English.
Prerequisites
This course requires fundamental understanding of basic red team concepts. A student should be familiar with how to carry out red team engagements, from C2 infrastructure setup to reporting and presenting findings. The course assumes competency with C2 frameworks and some basic malware development for red team operations. Extensive malware development experience is not a requirement for this course.
Course Requirements
A computer that has an internet connection and can run up to two virtual machines with the following specs:
Basically, if you can run a Kali Linux guest host and an Ubuntu desktop guest host on the hypervisor of your choice at the same time and they both can reach the internet, you meet the requirements.
The ability to provision a single cloud host with one of the major cloud service providers (DigitalOcean, AWS, Azure) is recommended to complete the C2 Infrastructure lab, though this is not required to complete the course. DigitalOcean is used in this specific lab, but any major cloud service provider will work.
A GitHub account is recommended, though not required, to complete the YARA rule writing lab.
Adding Python programming to your defensive skillset makes you a formidable adversary. Whether it’s vastly increasing the efficiency of common procedures, or adding new capabilities to the entire team, Python in Jupyter Notebooks completely transforms what’s possible for a security operations team.
Become the defender who can use use these skills to your advantage.
This course is separated into two parts. Part 1 explores the basics of Python and Jupyter from a defender’s perspective. Part 2 uses these skills to build real-world solutions to common cybersecurity problems, exploring how to operationalize these practices in a team of defenders.
If you have a basic conceptual understanding of binary exploitation (specifically, stack-based buffer overflows) but aren’t quite 100% sure what concepts like ‘ASLR’, ‘RELRO’, ‘PIE’ or ‘ROP’ mean, this is the course for you. The goal of this guide is to give an overview of modern binary exploitation mitigations, why they were introduced and how they have been defeated. All in a practical and hands-on way.
Detection Engineering is the art of building queries and searches that can reliably identify malicious behavior. Whether you are working in an enterprise environment, doing malware research in your lab, or just starting your journey into cyber security, this course can teach you the skills you need.
Together we will learn how to write Sigma rules, a powerful language for crafting detection queries, and seamlessly deploy them into your Splunk SIEM, enabling you to automate and streamline your security operations.
What You’ll Learn
Skills
By the end of the course, the learner should have the ability to:
Read and understand Sigma rules
Convert rules using the Sigma CLI tool
Implement the Splunk backend and create scheduled searches
Implement a custom Splunk application to support Sigma detections
Build pySigma pipelines to transform generic detections into Splunk queries
Utilize GitHub to build an automated Detection Engineering ecosystem
Employ linting and release control techniques on the Sigma rules repository
Concepts
By the end of the course, the learner should understand:
The value of open source and community driven detection rules
The relationship between Sigma rules, pySigma pipelines, Splunk conditional searches, and detection events
How to use pySigma transformations and conditions to build robust and complex SPL queries
Building a custom and internal Detection Engineering as Code system that starts with making a PR in GitHub with a new Sigma rule and results in a new event generated for future investigation
Prerequisites
While this course does provide an introduction to detection engineering, it is expected that students have practical experience in the following realms:
Able to read Python
Understand how to modify and apply existing scripts
CLI Fluency
Familiarity with Docker
Familiarity with Windows Event Logs, including Sysmon
Experience with GitHub Pull Requests and code change management
Have you ever wanted to simulate enterprise networks from the comfort of your home? Ever dream of executing malware in a safe, controlled environment? What about automating your deployments with industry-standard tools, all from the comfort of your home?
If so, this book can help you realize your homelab aspirations. Take advantage of Michael Taggart’s years of experience studying, designing, and deploying diverse IT systems, with a focus on affordability and ease of deployment. Leverage open source software to build secure, reproducible environments for any lab scenario. From simple WordPress servers to entire Windows domains, In The Homelab Almanac, you’ll find everything you need to begin.
This site-exclusive TTI Edition of the book comes with:
DRM-Free EPUB and PDF Files for easy reading anywhere
Static website version of the book with built-in search.
And for purchasing directly, you receive a discount over the price at online bookstores! Thank you for supporting TTI with your purchase, and happy homelabbing!
Table of Contents
About This Book
Prologue
Part 1: Planning
0: Introduction
1: Essential Questions
2: Hardware Choices
3: Purchasing
Part 2: Building the Lab
0: Introduction
1: Lab Server Setup
2: Network Creation
3: The Router
4: The Jumpbox - Network Configuration
5: The Jumpbox - Tools
6: The Seclab Repository
7: Asset Inventory
8: Secrets
9: PKI
10: Packer
11: Ubuntu Template
12: Kali Template
13: Windows Desktop Template
14: Windows Server Templates
15: Terraform
16: Ansible
17: Docker Host
18: Attack Box
19: Lab Firewall Config
20: SIEM
21: Wireguard Access
Part 3: Deployments
0: Introduction
1: Web Server
2: WordPress
3: Malware Lab
4: Juice Shop
5: Velociraptor
6: CryptPad
7: Windows Domain
8: AD Lab
9: Packet Capture
Part 4: Beyond One Server
0: Introduction
1: Adding Proxmox Servers
2: Cluster Networking
3: Network Storage
4: Cloud Services
5: Going Public
Epilogue
Acknowledgments
Purchase Price: $30 for lifetime access. One purchase ensures you continue to have access to new versions of the book!