Attack Observation: Catching 'titanjr' a Day Old

Time and Date of Activity: Primary window: 2026-07-11 16:52 UTC through 2026-07-12 06:11 UTC (the web exploitation from .64 and the SSH loader session from .230). Related activity from the same /24 continued on 2026-07-14 with the .243 Mirai Telnet sweep. This observation is a cluster rather than a single host. Four IPs in one /24 (94.154.43.0/24) worked in concert to stand up a fresh Mirai-variant IoT botnet, which I am calling titanjr after its payload naming. Unlike the RedTail loader I wrote up previously, which uploaded its binaries over SFTP, this operation split the work across the block: 94.154.43.64 ran the web-facing exploitation, 94.154.43.230 handled SSH and pulled the payload set, 94.154.43.192 served the payloads from an open directory, and 94.154.43.243 ran a Mirai Telnet sweep two days later. What earns this the final observation is that the payloads were actually captured (real hashes, not the empty stubs I see on most sessions) and the campaign was brand new: every sample was first seen on VirusTotal on 2026-07-11, one day before my sensor caught them. ...

July 16, 2026 · 6 min · Joshua Burnett

Enrichment Appendix: 130.12.180.51 RedTail Payload Attribution

OSINT enrichment for the RedTail SSH campaign: per-indicator attribution of six hashes (four RedTail ELF variants plus loader/installer scripts), VirusTotal detection context, and a triage recommendation. Companion appendix to the third attack observation.

July 8, 2026 · 6 min · Joshua Burnett

Attack Observation: RedTail Cryptominer Delivered over SSH

A SSH-2.0-Go actor at 130.12.180.51 brute forced HoneyPi, then ran a two-stage shell loader, implanted an authorized_keys entry for persistence, and dropped six architecture-specific RedTail payloads over SFTP. Same bundle seen from a second IP two weeks earlier points to shared tooling.

July 8, 2026 · 7 min · Joshua Burnett

FortiSwitch MCLAG Pair / FortiGate HA Cluster (FortiLink, FortiOS 7.6)

Standing up two FortiSwitches as an active-active MCLAG pair behind an HA FortiGate over FortiLink, including the firmware-skew and hidden mclag-icl CLI gotchas the official docs skip.

July 6, 2026 · 9 min · Joshua Burnett

HoneyPi: First Attack Observation

The full setup and configuration process behind HoneyPi was documented in the earlier parts of this series, so this post skips the build and goes straight to the first attack observation report I put together for my SANS Internet Storm Center internship. It focuses on a single attacker and walks it end to end. Initial Attack Observation Time and Date of Activity: 2026-06-15 00:00:07 UTC through 2026-06-17 02:11:21 UTC The attacker (source 87.251.64.176) was active for around 45 hours, with 114 successful logins occurring in bursts, indicating automated tooling running through a set of target IPs/hosts. Successful logins would occur in a burst, quiet down for a couple of hours then another burst. It should be noted that similar SSH-2.0-Go campaigns have been observed from other attackers since deployment of the HoneyPi, however this particular attacker was interesting because its attack pattern was persistent and observed from a single source, rather than cycling through different IPs like in other campaigns. ...

June 26, 2026 · 4 min · Joshua Burnett

HoneyPi: A Sample AI-Generated Threat Report

I wanted to post a sample of the AI-Generated reporting that I was able to achieve with only a little bit of tweaking to the prompts in the base script. The value add here for someone in my position with limited time and resources is incredible. My next implementation of this, will be internal focused on that Security Onion stack and the report will be directed at what I need to address daily on my internal assets. ...

June 18, 2026 · 12 min · Joshua Burnett

HoneyPi Part 6: AI Reporting

The previous two posts got all three streams into Loki, unified by src_ip and joinable by Community ID. That’s a powerful dataset, but it has a problem: it’s enormous. A single day produces tens of thousands of Cowrie events, thousands of Suricata alerts, and thousands of Zeek records. Nobody is reading that by hand every morning. This post covers the layer that makes the whole thing usable, a Python script that pulls the day’s data, scores attackers by how interesting they are, and hands the most significant ones to Claude to write up as per-attacker narratives. ...

June 17, 2026 · 9 min · Joshua Burnett

HoneyPi Part 5: Combining the Streams on the Mac

In the previous post I got two of the three streams live on the Pi: Cowrie and Suricata, both shipping to Loki through Alloy with a shared src_ip key. This post covers the Mac side, which is where the third stream comes in and where the whole correlation idea stops being a diagram and starts being something you can actually query. By the end of it, one attacker IP lights up across all three tools at once, and any single network flow can be matched between Suricata and Zeek deterministically rather than by eyeballing timestamps. ...

June 16, 2026 · 10 min · Joshua Burnett

HoneyPi Part 4: Setting up the Streams on the Pi

A quick preface before we get into the technical stuff. The next several sections are AI generated. I dumped my notes, config files, scripts and all the rest into a project in Claude, then prompted it through how I wanted the post compiled, linked and published. I have already had many nights of tinkering, troubleshooting and building a rather large note repository on this project, I didn’t want to take another week trying to type up, link and copy/paste code snippets in here. This is just much more efficient and I highly encourage it. Now, on to the juicy details! ...

June 15, 2026 · 10 min · Joshua Burnett

About Me

At the time of writing, I’m 42 years old and the CTO of a small co-op in Alabama. I have been married to my best friend for almost 20 years and we have three incredible children. I am a Marine Corps Veteran (0311, E5) and have an associate degree from Valley Forge Military College in Wayne, PA. Currently I am enrolled in the SEC511 course of the BACS program through the SANS Technology Institute, as well as the SANS ISC Internship that is part of that program. Last year I was on the Dean’s List and hopefully, God willing, I will finally have my bachelor’s before the year is out. ...

June 14, 2026 · 8 min · Joshua Burnett