
Father, biker, adrenaline junkie, PC gamer, vaccinated. CISO @hunterstrategy / Faculty Member @IANS_Security. My views are my own. (He/Him)
Boca Raton, FL
Joined April 2010
- Tweets12.3K
- Following950
- Followers2K
- Likes23.8K
Pinned Tweet
Reminder: Everything you do is either goal achieving, or stress relieving.
Make sure you balance between the two is correct.
I'm a Security Engineer at AWS. I started as an Incident Responder with CIRT, moved to managing my own team, and now I manage the AWS Security Communication team
Ask me anything :)
(I hold the right to refuse to answer questions that could get me fired.. also, 2 hour limit).
Andrew King (AJ) retweeted
Could Fortinet please have one of the latest LLMs review and unfuck the source code they ship? The tokens would probably cost less than one of their appliances. And every customer would benefit from the fixes.
Network edge devices can give threat actors a direct path into an organization.
In a campaign linked to threat actor #k0t, Group-IB and NyxLab observed large-scale targeting of internet-facing FortiGate, FortiWeb, and Palo Alto GlobalProtect systems, with more than 70,000 exposed credentials and related data identified.
The operators combined vulnerability exploitation and brute force activity to gain initial access, then moved deeper into victim environments using tools such as NetExec, Mimikatz, and Impacket, while MeshCentral and AdaptixC2 provided persistence and command-and-control. The investigation also observed data exfiltration through Rclone to Wasabi S3 and MEGA.
Overlaps with organizations later listed by #ransomware groups including #Qilin and #TheGentlemen raise the possibility that the operators may be acting as Initial Access Brokers, although the relationship remains unconfirmed.
Read the full technical analysis: link.group-ib.com/4yDaMQY
Andrew King (AJ) retweeted
I'll be the first to admit I'm mediocre at exploit development, but I am in contact with enough extremely talented exploit developers to say this for certain:
Anyone claiming they were "easily" able to generate a working php2shell exploit with AI is either:
a) a world-class exploit developer with an extreme case of imposter syndrome.
b) currently looking at some very confident-sounding but wrong LLM output.
I'm rather certain it's the latter based on the number of AI-hallucinated exploits I've seen posted on GitHub. Threat actors are also blasting my honeypot network with "php2shell" exploits that not only don't work, but aren't even within 10,000 miles of anything to do with how the exploit actually works.
I've seen the same technique from the attached image in multiple alleged "php2shell exploits", including one on GitHub with over 100 stars. Problem is, it's not php2shell, nor is it even a vulnerability at all. It's a technique known as "session poisoning", which can be leveraged to exploit local file inclusion (LFI) vulnerabilities in PHP apps (not PHP itself).
The only thing it has in common with CVE-2026-109618/CVE-2026-109619 is they both use the "PHP_SESSION_UPLOAD_PROGRESS" feature. And mitigation advice for both issues reference setting "session.upload_progress.enabled" to "Off".
People are shoving loose details of the vulnerability into LLMs, the LLMs are keying in on the "PHP_SESSION_UPLOAD_PROGRESS" string, then generating session poisoning code that has nothing to do with the actual CVE. And because the people doing this have absolutely no idea what they're doing, they're confident enough to post their "proof of concept exploit" to GitHub and share it on social media.
So if you see people talking about "session poisoning + LFI" it's likely their LLM hallucinated an exploit based on a 2018 blog by Orange Tsai talking about a local file inclusion attack vector.
What's even worse is that "security researchers" are then using LLMs to triage these exploitation attempts, falling victim to the same hallucinations, then confirming there is ongoing mass-exploitation (there currently isn't).
The actual real exploit is very difficult to exploit, and so far I've not seen anyone successfully get it working on more than a handful of PHP version with highly-specific configurations.
LLMs are useful tools in the hands of skilled professionals, but for others, they're often just a Dunning-Kruger accelerator.
Andrew King (AJ) retweeted
An attacker installed ScreenConnect, then hid it from Programs and Features with one registry value.
SystemComponent = 1 on its Uninstall key.
- Service: running
- Programs and Features: no ScreenConnect
Sweep both HKLM Uninstall hives (incl. WOW6432Node) for SystemComponent = 1 and read the DisplayName. Installers hide sub-components this way too. A hidden RMM client is not one of them.
I truly apologize to the AI Overlord for cursing at you in console far too much. Can we please stop with the vuln bazar now?
Yo someone tell @xzibit this ain't cool man. We don't need no more vulns this month...week...day???
Andrew King (AJ) retweeted
What to do when your cloud provider is breached, from a former cyber insurance adjuster:
If your provider just disclosed a breach, you have to assume you've been exposed.
And every instinct you have about what to do next is probably wrong. So here's what you should actually do:
When you first hear about the hack, even if you doubt you were exposed, you need to get on it. Right away.
I don't care if you're on a date, or at your son's college graduation.
Get to a computer and start rotating every secret…everything. When someone asks later how fast you responded, you want the answer to be "immediately," with timestamps to prove it.
You're going to want to put as little in writing as possible. I get the instinct.
Do the opposite.
Document everything, obsessively. If your provider has locked things down and you can't rotate something yet, write that down too, with the time you tried. If you're using agents to investigate (and you should be, spread wide across everything), keep every trace and make them write down everything they find.
This will feel wrong in your soul. Do it anyway. If this ever turns into a claim, if you can show you did everything you were supposed to, minute by minute, you will survive.
You might tell yourself it's just names and emails and nobody cares. But this is wrong. All customer data counts.
I've watched companies lose millions just because someone could see data they shouldn't have.
You're going to want to wait for your provider to finish investigating before communicating with your own customers. Don't.
Figure out what information may have been exposed, even if you’re not sure yet who it belongs to, and what obligations you have under your contracts / applicable law. Your cloud provider’s investigation doesn’t change the fact that you have your own obligations to meet. And learning about a deadline after you’ve missed it is a very expensive lesson.
Bookmark this. I hope you never need it, but with everything happening lately, there's a real chance you will.
Andrew King (AJ) retweeted
Working RCE against PHP 8.5.12 (the 2026-10-21 security release that fixed CVE-2026-109618/109619).
Pure logic bug — no memory corruption,
ASAN-clean, orthogonal to the CVE-2026-109618/19 class.
Receipt: uid=33(www-data) over HTTP, one-shot
#infosec #php2shell #php
.... Dude the internet is cooked .... This can't be patched out 😈...
#CyberSecurity #infosec
Readers added context they thought people might want to know
The claimed RCE on fully-patched PHP 8.5.12 requires a custom lab app with a destructor gadget plus deliberate session.serialize_handler mismatch (php_serialize writes, legacy php reads) and non-default settings like cleanup=Off; this is an app flaw, not core PHP RCE.
github.com/rafalohaki/php…
php.net/manual/en/sess…
Andrew King (AJ) retweeted
WTF, $3000 Samsung TV has an always-on mic, automatic content recognition, geo tracking, network mapping, and ships your data to Samsung + 400 partners.
Bro Rooted a brand-new 2025 Samsung TV after noticing absurdly targeted ads.
Firmware was locked down, so zero-days it was.
Got a root shell.
then found: always-on voice service, ACR, geo, full telemetry pipeline, and four separate DRM systems.
This isn’t a bug, It’s the product bro.
Andrew King (AJ) retweeted
NOW THE DNS HAS RCE WHAT THE FUCK
is it time to turn the internet off yet
kb.isc.org/docs/cve-2026-943…
Andrew King (AJ) retweeted
How bad is this Gitlab issue? About as bad as it gets.
Anyone on the internet can take over an exposed, self-hosted GitLab server without logging in, on any version from the last 12 years.
Shodan is showing ~60K exposed servers online, which is a lot, but there are are far more internally for anyone with a foothold already.
🚨 CRITICAL: GitLab flaw (CVSS 10.0) affects 12 years of releases.
CVE-2026-110264 could allow unauthenticated remote code execution on self-managed servers.
Read - thehackernews.com/2026/10/cr…
Andrew King (AJ) retweeted
Very successful people are really good at something we never talk about: Ignoring things that don't matter.
There are always a thousand things you can focus on...
They know what to ignore or delegate, what to pay attention to, and what to push personally.
Andrew King (AJ) retweeted
The Cloudflare's writeup on our php2shell response is up.
Rules went live at 03:02 UTC, about 9 hours before disclosure. Unfortunately the vulnerability leaked early, so we were already watching attackers mutate payloads against the rules and updating as variants appeared.
New rules keep landing in the WAF changelog.
Expect updates through out the day. We will have a more thorough post of what we had to build to better protect people coming shortly.
PHP runs almost 70% of websites. The flaw is in the runtime, so updating plugins won't fix it. Patch PHP.
blog.cloudflare.com/php-vuln…
Took this one step further.
Vibe coded my own TV OS with Claude Code
No more ads: replaced with a live 3D model of my apartment. Lights + ceiling fan wired in, they turn on in the 3D in real time.
The TV inside the 3D shows the live TV 🤯
What should I add next?
Andrew King (AJ) retweeted
“We found DeepSeek V4.1 Flash 1017 beats GPT 6 Sol on our multi-step offensive cybersecurity task.”
READ THAT AGAIN.
the same cyber capabilities that OpenAI kept behind a gate got beaten by a Chinese open model you can run locally.
buckle up guys.
We found DeepSeek V4.1 Flash 1017 beats GPT 6 Sol on our multi-step offensive cybersecurity task. Sol was tested via the Daybreak trusted access program.
We have been building a cybersecurity benchmark based on simulated corporate networks. This is a valuable indicator for the cyber-risk a model poses if in the hands of a bad actor. We plan to make the full evaluation public in the coming weeks but wanted to share our first immediate finding here.
Andrew King (AJ) retweeted
ConnectWise has an incident with compromise this weekend where they disabled backups in customer M365 environments.
Even if you're not a ConnectWise customer, you likely have third party risk management concerns here for those you do business with who are.
Andrew King (AJ) retweeted
This is 100% the move.
A centralized, up to date knowledge base that all your agents can access so you're never locked in to one platform.
Here's how we built ours:
1. The whole thing is 2 private Github repos of plain markdown files. One company brain, one personal.
2. We numbered each folder by function. Company has brand, customers, products, sales, ops, finance. Personal has health, investments, family.
3. One AGENTS. md file that every agent reads first.
4. At the end of each day our agents run a "knowledge base audit" skill that compares the day's work to both brains and suggests edits.
What I love about this system is that it allows us to test all the new agent platforms without starting from scratch.
Zero agent lock-in.
I moved my bots' memory into an Obsidian vault so switching agents doesn't mean starting over from scratch.
Grok Bot, Meta Muse, ChatGPT dots, Hermes bots. I like to try all of them without having to teach each one about my projects, preferences, and everything else I've already explained.
So I keep their memory, logs, and workflows in the same vault. Just plain files I own and can read or edit myself.
Each bot has instructions to read the relevant files before answering and save new information there. My health bot updates the health folder. My project bots update their own folders. Dated logs keep the history.
When I try a new agent, I point it at the same vault and give it the same instructions. It can pick up context that another bot saved.
I wrote earlier about memory becoming the thing that locks people into an agent provider. This is how I'm trying to avoid that.
This.
I see so many young people unwilling to do the basics of setting yourself up for success.
If the car your Dad bought you in high school still works and isn’t a repair money pit - drive the wheels off.
You’re building a foundation. Not impressing friends.
If I were starting over today at 44, here’s what I’d do.
I’d start with a house like this. $39,900 in Toledo, Ohio.
1. I’d stop whining about how expensive everything is and start looking at what I could actually afford.
2. I’d get a part-time second job or do Rover. I’d list the shit I wasn’t using on Facebook Marketplace or eBay. And I’d stack cash.
3. I’d look for the lowest point of entry in my market with room to improve. This house is currently a one-bedroom. I’d figure out what it would take to turn it back into two.
4. I’d ditch the expensive debt, cook at home, and put in the 6–12 months of effort to get myself ready to buy.
5. I’d aim for 20% down. On this house, that’s $7,980. I’d also save for closing costs, repairs, and a cushion for whatever breaks first.
6. I’d live in it for two years. Turn it back into a two-bedroom. Improve it a little at a time. Finish the basement if it made sense. I’d rent the extra bedroom and put that money toward the work.
7. At the two-year mark, I’d look at selling. I’d want it to be the nicest house a buyer could get at that price. I’d run the numbers before deciding whether moving actually put me ahead.
8. I’d use the proceeds to buy something a little larger or nicer. And I’d repeat until I got to the house I wanted to stay in.
I did this over 12 years. That’s how I got into the neighborhood and house I plan to stay in.
I worked a part-time job at Ross. I sold on eBay. I put in the effort, and I lived in houses that needed work while I worked on them.
My first house wasn’t my forever home. It was what got me started.
Andrew King (AJ) retweeted
米国NIST、NSA、CISAがAIエージェントの学習・評価環境におけるインシデント対応指針を公開。準備、検知、対応、復旧、報告の5段階で10項目。モデル、ハーネス、ホスト、NWの各層での監視、外部通信制限、独立評価、証拠保全、エージェントの自動停止、第三者への通知を推奨。 nist.gov/news-events/news/20…
Andrew King (AJ) retweeted
Having responded to probably hundreds of incidents at this point, from ransomware to APT's, in my experience, the lack of knowledge on how to adequately secure Entra applications and service principals continues to be the biggest knowledge gap most defending teams have.
You should be able to securely configure apps, detect compromise of apps and understand how to investigate compromise of apps. It seems overwhelming at first, but it isn't.
Get started like this
Secure them:
•Use managed identities where possible - negates the need for credential handling
•Limit privilege - reduce both the permissions granted and add additional API specific restrictions (i.e don't grant read/write all to all SharePoint sites, just the ones an application needs to access). This includes pushing back on vendors or internal teams that request privilege not required
•High privileged applications should have no direct owners - lower privileged users can be granted direct ownership of an app, don't do this, govern the ability to manage applications via Entra ID roles
•Configure credential restrictions such as requiring shorter lived secrets or enforcing use of certificates
•Remove unused apps and service principals, this can prevent existing high privileged apps being leveraged and reduces your supply chain compromise footprint for multitenant apps
•Monitor risk events for service principals like you would users
Detect compromise of them:
•Alert on application creation or application credential creation - may be noisy in large environments, but a good starting point
•Alert on credentials being added to service principals - credentials generally live on the application object, service principal credential creation should be rare
•Alert on permission consent - this can detect not only malicious activity but permission creep
•Alert on anomalous resource access - does your app usually access only Azure Storage, and suddenly it accesses Microsoft Graph? - this may indicate a compromised credential
•Alert on anomalous ASN or location access - does your app usually access only from a specific ASN or country, and suddenly that changes? - this may indicate a compromised credential
Many of these are covered by Defender for Cloud Apps and other tools out of the box, but it is worth ensuring you are covered down and what they actually mean.
Investigate compromise of them:
Know how to query the following logs and understand the events surfaced
•Entra ID sign in data - filter on service principal sign in events via the Entra portal or Kusto in the Defender XDR portal
•Entra ID audit logs - filter on events related to the service principal via the Entra portal or Kusto in the Defender XDR portal. Service principals can be used to further establish persistence, such as creation of users or additional service principals, rinse and repeat for any malicious additions to your environment
•Microsoft Graph - was the compromised app used to access data via Microsoft Graph? You can query via the Defender XDR portal using Kusto to find these events
•Defender for Cloud Apps - did the compromised app access other M365 services? You can query via the Defender XDR portal using Kusto to find these events
•Unified Audit Log - you can retrieve the events related to the compromised app via the audit functionality inside the Defender XDR portal





































