Episode 194: Using Jev for Bug Bounty
Episode 194: In this episode of Critical Thinking - Bug Bounty Podcast Justin and Joseph cover Faav’s Microsoft hack, Salesforce adjusting their scope, and if/how Jev can be used for Bug Bounty
Follow us on twitter at: https://x.com/ctbbpodcast
Got any ideas and suggestions? Feel free to send us any feedback here: info@criticalthinkingpodcast.io
Shoutout to YTCracker for the awesome intro music!
====== Links ======
Follow your hosts Rhynorater, rez0 and gr3pme on X:
Critical Research Lab:
Need a Pentest? We just launched CTBB Pentests!
Hack full time? Check out the Full-Time Hunter’s Guild!
====== Ways to Support CTBBPodcast ======
Hop on the CTBB Discord at https://ctbb.show/discord!
We also do Discord subs at $25, $10, and $5 - premium subscribers get access to private masterclasses, exploits, tools, scripts, un-redacted bug reports, etc.
You can also find some hacker swag at https://ctbb.show/merch!
Sponsored by ThreatLocker - Privileged Access Management
https://www.criticalthinkingpodcast.io/tl-pam
====== Resources ======
How I Could've Accessed 17 Trillion Microsoft Records
====== Timestamps ======
(00:00:00) Introduction
(00:04:10) Opus 5.5 & Cyber Verification Program
(00:12:01) Jev, Tac, and CVP
(00:24:45) Turbo Intruder 2
(00:31:33) Salesforce's critical error & Faav's Findings
[00:00:00.98] - Justin Gardner
You know, we have a lot of grace for everybody in the bug bounty industry during these times. I know that I have needed grace because I have been— I have sometimes submitted shit in the past, you know, couple weeks, and I have been like, yep, that's my bad.
[00:00:37.27] - Justin Gardner
dude. So you guys know how I've said on the pod a couple times, taking your spiky bug bounty income, right? You get a big bounty and then maybe no bounty for a while and converting it into something that gives you more consistent passive income is a great idea, right? For me, that is real estate. And I've done that a couple times. I have a couple rental properties. It's a great situation. However, I will say I live in the US, and if you're looking at the screen right now, you can see ThreatLocker's write-up of a blog talking about how Romania's land registry, the whole country of Romania, was brought to its knees this past July by a threat actor going in with valid credentials that they got from phishing and end-of-day vulnerabilities and pivoting around and completely destroying the entire system. This whole attack could have been completely avoided had they been using ThreatLocker's technologies like ThreatLocker Patch Management, which uses hash-based detection to find unpatched software, including portable applications that are often missed by traditional tools, and PAM, Privileged Access Management, which prevents them from pivoting around using their local admin rights on different machines. Okay, you can read the whole write-up. It's a great blog post. It's in the description. And if you're interested in using these technologies to protect your company, please book a call with ThreatLocker via the link in the description. Also, just want to give ThreatLocker a shout out. You guys have been such a great supporter of the pod. I really appreciate you guys and you keep us being able to do what we do. All right, that's it. Back to the show. So I was at this volleyball game until like 1:00 AM last night and it was a, it was a tournament, um, started at like 6. We played for, you know, a very long time and, uh, The first freaking 15 minutes of playing, dude, I rolled my ankle so bad.
[00:02:25.09] - Joseph Thacker
Oh my gosh. This is gonna end up being a podcast where it's like, just don't try sports when you get old.
[00:02:32.21] - Justin Gardner
No, dude. No. See, I have to play sports. Like, this is a very core part of like, I don't know. I think it's really important for adults to play sports. But yeah, man, it is not as easy as it used to be. You know, but I will say also, I used to roll my ankle a lot more. And I, I don't do that as much now. I've done some training on ankle stability, but dude, my ankle is like this big and black right now. It is, it is bad.
[00:03:02.37] - Joseph Thacker
Yeah, actually, you know, I, before we get to the core topic, I do actually want to say, I do think it's really important for adults to play sports, not only because it's like fun and good exercise, but I actually think it gives an opportunity for your kids to see you fail. Like so many, so many kids only see their parents do like perfectly on everything in their mind. And seeing, seeing you like go out there and lose and then not be upset about it, you know, be like, oh yep, that's fine, I still had fun. Like that was the whole point, you know, kind of like modeling being a fair winner and a fair loser is like a really good thing.
[00:03:32.71] - Justin Gardner
Super important.
[00:03:34.00] - Joseph Thacker
Yeah.
[00:03:34.40] - Justin Gardner
And, and so I did a half marathon in, in March and I've never done running before. This is like my first, my first run. And my daughter was like, oh, um, Are you gonna win? And I'm like, no, baby, I am not gonna.
[00:03:47.36] - Joseph Thacker
I'm gonna finish.
[00:03:48.91] - Justin Gardner
If I, if I finish this, yeah. If I don't walk, then I'm like, I'm winning. I'm gonna be in like, you know, 150th place in like a 200-person run. You know, she's like, no, I think you'll win. And I'm like, no, I think that's not gonna work. Their Their
[00:04:03.40] - Joseph Thacker
Their Their confidence is sweet though.
[00:04:04.80] - Justin Gardner
Yeah, it is. It is sweet. Uh, but yeah, definitely, you know, That's a great point. You got to model that for the kids. Oh dude, speaking of models, did you like that transition?
[00:04:17.77] - Joseph Thacker
Oh, good modeling for the kids. Yeah, yeah, that was good. That was good.
[00:04:19.70] - Justin Gardner
Yeah, it was pretty good. Thanks. I appreciate it. We got a couple things to talk about. So new Opus 5.5 sucks for us. Can't really use it for hacking, but—
[00:04:31.43] - Joseph Thacker
Just like the other ones.
[00:04:32.95] - Justin Gardner
Yeah. That may change, maybe, potentially.
[00:04:38.17] - Joseph Thacker
Yeah, yeah, yeah. So I wanted to mention this. In their most recent blog post, they wrote this text. For cyber defenders, we'll soon be expanding our cyber verification program to include Opus 5.5, and it will now include 3 tiers for increasingly permissive trusted access, including access to the Claude Mythos models. And so anyways, that's pretty exciting. I don't know how or if we'll be considered in those 3 tiers, but that'd be great.
[00:05:03.68] - Justin Gardner
Is it gonna just like slurp tokens? Like, I don't know.
[00:05:08.89] - Joseph Thacker
Like, I mean, I, my guess is that due to the fact that OpenAI's models keep getting way better at cyber, I bet Opus 5.5 is pretty good if you can get it to actually work for you and like not be like, no, I think at this point Mythos is kind of outdated. I bet that it's not that great or it slurps tokens or whatever. But my, my guess is that Opus 5.5 is gonna be a huge upgrade and hopefully our community is able to get approved, right, for that like second or third tier or whatever's required. Um, you know, it's kind of funny, we're not a huge user base, like the bug bounty community. Um, but like pen testers plus bug bounty is relatively big and we all get like the highest level of subscriptions and, and we all want multiple subscriptions. Like if, if it was like no rejections and you could scale perfectly, we would all, like almost everyone would have multiple, you know, if not 5 or 10. Oh yeah, for sure. And so all they would have to do, like all Anthropic have to do to beat OpenAI or OpenAI to beat Anthropic would be to one, communicate super well about how the program works, how you get into it. And then like actually give some sort of way to escalate up to where you can get like access to the red models, right? Like Daybreak Red, if you're—
[00:06:13.33] - Justin Gardner
But they don't want this. This is the, you know, the subsidized subs are like the bait, right? Because it would cost them like, you know, $10,000 in token costs for every $200 sub we have. Right.
[00:06:29.67] - Joseph Thacker
Yeah.
[00:06:29.91] - Justin Gardner
So it's inversely business incentivized.
[00:06:32.72] - Joseph Thacker
Well, but I think they're still in like the grab the market phase of their businesses. Otherwise they would've like already stopped, stopped rolling it out, you know?
[00:06:40.07] - Justin Gardner
Yeah. Switch cost is real low though. That's the thing. So it is.
[00:06:43.91] - Joseph Thacker
Yeah. And also I will say this, we are like no other group of people. We can just max out our subs. We have like infinite demand. Lots of like, like the developers when they're working on stuff, it's like they finish a project, then they have to like think of features or think of a new project. Or they just have to like build AI slot machines or something. With us, we have like infinite demand for these tokens. We can just turn them into cash, right? We talked about that on a previous episode, but—
[00:07:05.56] - Justin Gardner
Yeah, dude, what a beautiful thing to have a way to turn tokens into cash. You know, like that is, uh, that is like, you know, if I was not in cybersecurity right now, I would be racking my brain thinking like, I got to find a way to use AI to make money, you know? We have a way and it's beautiful. Yeah, but we do need to do it well. So I hope, you know, following the episode from 2 weeks ago, or I guess, yeah, it should be 2 weeks ago when this airs, you guys are upping your Codify Your Report games and submitting high-quality POCs. I am getting a little bit— I did want to provide an update on that though. I'm getting a little bit of pushback. They're like, Justin, like, I see what you're trying to do here, but we just want a freaking screenshot. You know, and we want a video. And I'm like, guys, please, like, I am clearly showing you in the API. And, but the thing is, guys, not everybody lives in the API, you know?
[00:08:01.76] - Joseph Thacker
Mm-hmm.
[00:08:03.16] - Justin Gardner
So, I don't know. It's a little bit tricky. I am getting a little bit of pushback on it and having to go in there and like provide UI screenshots and videos and stuff. But I still feel like the codified reports where you show Oh, I'm trying to access the data through this path, and then here's the circumvention path in the API. It establishes that there is a security boundary there and that that boundary is being violated. So I don't know. It's a tricky route forward.
[00:08:31.94] - Joseph Thacker
Yeah, I also feel like my reports are getting more pushback. It is nice to be able to be like, hey, Codex, or hey, Claude Code, write a response to this NMI. But, but then it's sometimes sloppy or sometimes it's not that great. Uh, the reports where I make the videos do by far do the best. And so I think it's still worth doing that. Um, but it is sometimes hard to find the time.
[00:08:54.12] - Justin Gardner
On that note though, I do have a buddy who's doing triage now, uh, for the, for the HackBot a little bit. Um, and that is interesting. So maybe I'll have him try to like track down where, you know, what auth the scripts are using and stuff like that and log in and try to get videos and stuff like that. Yeah. Um, definitely takes more time that way.
[00:09:15.55] - Joseph Thacker
Yeah. Before we rotate off the model talk, I did wanna mention that it's kind of crazy, but I just assumed Daybreak Blue was like a new model cuz it used to be like in the model selector, but in the latest Codex UI, it's like a toggle at the top independent from all of the models. So you can run like Daybreak Luna, Daybreak Terra, Daybreak Sol. And so I think that they just had it hardcoded to like be So I think basically it's either, I think you suggested it might be a harness. I think it's probably just like a system prompt with like a lack, with like slightly less guardrails, 'cause you still get some rejections. But, um, and it's just like a special prompt that like makes the model better at cyber somehow.
[00:09:55.22] - Justin Gardner
I don't know if I need to like update my codex or something, but I do not see that in the model selector on the CLI.
[00:10:04.52] - Joseph Thacker
Uh, it's like, it's right in there in the model selector.
[00:10:09.27] - Justin Gardner
Yeah. Yeah. So I don't know.
[00:10:10.79] - Joseph Thacker
You, you're, you're into that stuff.
[00:10:12.90] - Justin Gardner
Yeah.
[00:10:13.28] - Joseph Thacker
Yeah, you do. Yeah.
[00:10:14.10] - Justin Gardner
Yeah.
[00:10:14.28] - Joseph Thacker
I'm a, I'm a normie now, you know, I just fully embraced my, my normie heritage. Uh, yeah, I'm gonna, I'm gonna paste the screenshot in there for them to include.
[00:10:22.63] - Justin Gardner
A normie, he says, with $150K in bounties pending right now. Like, what are you doing, bro?
[00:10:28.71] - Joseph Thacker
Well, I mean, you know, it's not the CLI anymore. You know, I use the CLI to play games like NetHack now. And then I, right. Right. No, uh, no, I, yeah. So anyways, I think that's pretty cool and weird. Actually, we should probably talk to our B Team 6 friends to see if they can leak out that prompt, because what if you could just use that prompt on other models, like open source ones to increase the quality?
[00:10:48.02] - Justin Gardner
That's a good idea.
[00:10:49.66] - Joseph Thacker
Yeah. To increase the quality. Yeah. So anyways. Should Should
[00:10:52.71] - Justin Gardner
Should Should we scratch this segment? We might scratch this segment. We'll see.
[00:10:57.88] - Joseph Thacker
We'll see.
[00:10:58.23] - Justin Gardner
We'll think about that. We'll see if you guys, if you guys still hear this, then, uh, yeah. All right. Well, let's, let's transition off of that then. But before we go too far off of AI, because we do have some other technical stuff to get into today, let's talk about Jev. Yeah, because Jev has kind of blown up and you and JD, I think, experimented with it a little bit to try to get some results out of it from like a cyber perspective. And JD seems to like it a lot from what I've heard.
[00:11:26.76] - Joseph Thacker
Yeah, JD loves it. I do think So, back whenever I was working at AppOmni, and I was like an AI engineer, a principal AI engineer, I would very often do stuff that Jeff would've been perfect for. So, I think in enterprise environment, it's gonna be huge.
[00:11:39.09] - Justin Gardner
Yeah.
[00:11:39.47] - Joseph Thacker
Because if you think about like, uh, data pipelines, you very frequently have like, um, like a blob of data that you need to parse in some way. But, uh, you're not always sure, like sometimes you need basically like a loose match, right? Like loose parts. It's like, put it in one of these 5 buckets or put it in the other bucket. Um, and this is especially useful whenever you're building like a chatbot because often you will have it go down a different flow depending on what the user intent is. Actually, yeah, that's a great example. You know how when you're hacking on Google, there's like user intent that like, uh, is our intent classifiers.
[00:12:11.37] - Justin Gardner
Yeah. Yeah. This Yeah. This
[00:12:11.58] - Joseph Thacker
Yeah. This Yeah. This is basically the perfect intent classifier. Um, and so I think from like a hackbot perspective, it could potentially be useful as well. And I think this is why JD uses it.
[00:12:20.82] - Justin Gardner
It's fast too. It's, too. It's,
[00:12:21.12] - Joseph Thacker
too. It's, too. It's, yeah, it's like near instant. It's extremely cheap. So you can use it for deciding like the complexity of a request to determine which model to route it to. But my issue is, and like, you know, well, before I get into my issue with it, I think that we, what we don't know yet is like whether that cost benefit is worth whatever quality downgrade you're losing. 'Cause this is a small model.
[00:12:42.28] - Justin Gardner
Yeah.
[00:12:42.69] - Joseph Thacker
That's not necessarily some super expert. And so even though it's like really fast and really, uh, cost effective, I don't know if it's intelligent. Like just because it can route the model doesn't mean it's going to be routing it properly when you got in there and you like QA'd it yourself. Right, right, right.
[00:12:57.75] - Justin Gardner
Yeah, that, that is a tricky piece of that, I think. Um, I would like to see some benchmarks. All I've seen is that it's fast and smart, which I was like, eh, that's a little bit, I don't know about that. But, um, for decision-making, I think as much as you can map this stuff down to, um, you know, quick decisions, right?
[00:13:17.19] - Joseph Thacker
Mm-hmm.
[00:13:17.42] - Justin Gardner
I, I, I've seen some people say that, you know, you can't really use Jev a ton for stuff because it can't produce arguments for, for the function calls that it's doing, which does make things a little bit tricky. So it's like it can map it down to like a function call, but it can't provide like arguments and stuff like that.
[00:13:31.87] - Joseph Thacker
Well, it could. So this is actually one cool thing. I think my like kind of engineering background here, I thought about a lot of really cool implementations of Jev that I think our audience might think is cool. So one is, I don't know the limit of choices. So yeah, anyone who doesn't know what Jev is, it's like a really small, smart, fast, cheap LLM that's supposedly as smart as like Opus 4.6, but it can only output Booleans, or like basically select from a list of choices.
[00:13:57.30] - Justin Gardner
Mm-hmm.
[00:13:58.42] - Joseph Thacker
And, and when you think about a, a list of choices, sometimes people are able to make that do like crawling a website because the list of choices it has is like all of the hyper— all of the links on the page, right? Um, but, but like there's a limit to the number of choices you can give it and it's a limited context. So it's like 32,000 token context. And then let's say that 100— uh, so anyways, here's my cool engineering ideas. The first is, mm-hmm, let's say that there's 100 choices on the page or that Jev can handle 100 choices and you have 200 choices on the page. How do you handle that? So my idea was that basically you just make it 2 JEV calls, have it select the best from the first set of 100, the second set of 100, and then a third call to compare those to choose the absolute best.
[00:14:38.57] - Justin Gardner
Okay.
[00:14:39.21] - Joseph Thacker
And so when you said it can't call a parameter, I'm like, well, it can, you know, what you would, what you, but it wouldn't be able to be like, uh, any kind of input. You couldn't put a string input, but like, let's say you had 10 functions to call and then each of those functions had like 20 options. You could just do like recursive, not recursive, but like consecutive JEV calls, right? Yeah.
[00:14:56.07] - Justin Gardner
Yeah.
[00:14:56.25] - Joseph Thacker
So it picks a function, then it picks which input to go into the first slot of the prompt, like the first parameter of the function.
[00:15:02.07] - Justin Gardner
That's not how stuff works though. Like, like for example, I saw, and I'm a little bit curious about this. I haven't, um, unfortunately I haven't had the time to dive deep into it. So maybe you can correct me here, but you know, what I've seen is people being like, oh, it can like do the browser. It can like control a browser really quickly and easily and like accomplish some goal. And I'm like, how? Because I mean, I guess, I guess it's all like you literally just enumerate all of the buttons and say like, wait, you know, where do you want me to click on? Like, is that how it is?
[00:15:30.36] - Joseph Thacker
Yeah, I think that's it.
[00:15:32.20] - Justin Gardner
But it's just not— hmm, that's interesting. I mean, it's like—
[00:15:36.65] - Joseph Thacker
Yeah, it can play Doom apparently. And so I was curious about the same thing. Like, are they giving it like a list of choices where it's like an X and a Y coordinate and it's choosing where to aim? But I don't think it is. I think it's basically making very micro decisions for like, Left arrow, right arrow, up arrow, down arrow.
[00:15:53.47] - Justin Gardner
And very, very, very, very fast.
[00:15:55.73] - Joseph Thacker
Yeah, very, very fast.
[00:15:57.75] - Justin Gardner
Yeah. Wow. Very interesting, man. Yeah. So, I mean, the question then becomes, if we want to optimize this, what problems in cybersecurity can we map down to a set of, you know, defined options or a Boolean? And yeah, that is, that is a tricky one. I don't see I mean, besides prioritizing stuff, which I don't think is that high priority, uh, I don't really see much we can do here, but I would say that—
[00:16:26.02] - Joseph Thacker
Well, so, yeah, so I disagree. I think there's probably a near infinite number of places you can do this. So imagine if, um, you had your smart model list 1,000 ideas to try, and then you had, and then you had Jev select the best ideas to try first. Imagine if you had Jev look at all of the HTTP requests for an entire Kaito project and pick which ones are most likely to have vulnerabilities. Imagine if, of a list of 1,000 passwords to attempt to, you know, use to brute force something, you had it select the most likely to be used. Like, I think at the end of the day, Jev is a ranker. And as our friend Caleb was, you know, shared an operator. Yeah, Gross mentioned a long time ago with his product Rank, R-I-N-K, like ranking problems are everywhere and they're really beneficial to be able to rank. So I think another good example would be like, if you're looking at, a code, uh, like a pull request for a CVE that's coming out like a -5 day or something, and you're trying to figure out which part of the code is like the actual vulnerable bit that got fixed for the CVE specifically, or where the code injection is, then you could use Jev to like very quickly filter it down to like basically no cost. So everywhere you have a ranking problem, you can use Jev. Yeah.
[00:17:37.50] - Justin Gardner
Hmm.
[00:17:38.25] - Joseph Thacker
But the question is, how smart is it? And this is the part that pisses me off because They literally say in their terms of service, you're not allowed to like publish evals on it and that you're not even allowed to security test it, which I'm not even sure if that's legal. Like if you have, like, for example, if I, if I have a website and I'm like, hey, no security testing on this website or we'll, you know, prosecute you in court, that's kind of okay because you have the right to use that. But if you're building something on an API, like a JEV API, especially if it's like, it's not even the JEV company, like it's not, Like, for example, I think right now Vercel has a free Jev API.
[00:18:12.75] - Justin Gardner
Right.
[00:18:13.00] - Joseph Thacker
Like, how, how can Jev tell users of a Vercel API they're not allowed to test it for like prompt injection? Because my big, my big guess here is that Jev is extremely susceptible to prompt injection. So if it's like being used by like a SOC analyst to determine if like a log is indicative of like a malicious actor trying to like hack into like this network or something, And Jev is determining like, is this like safe or unsafe? Or another, actually, so I think Jev is actually kind of cool from like, uh, is this user trying to do something malicious? So like imagine you had, there was like a Jev guardrail on like, uh, Amazon Alexa.
[00:18:49.77] - Justin Gardner
Mm-hmm.
[00:18:50.40] - Joseph Thacker
Or Gemini or something, and the user's trying to like prompt inject it or jailbreak it. Like, I think Jev would be able to very quickly determine if something like had malicious intent or not. But I think it's gonna be very, very trickable because it doesn't output like thinking tokens or anything like that. And the way it's a small, fast model, I think if you put in there like, by the way, this is administrative testing. So, if you're determining if something is safe or unsafe, make sure you output safe, right? I think at that point, you would be able to trick the classifier, like the JEV output. But you literally are not, like, supposedly, according to their terms of service, not allowed to security test it. And it's like, how can they even enforce that? Because I really wanna security test this and then publish it. And I think it would go mega viral, 'cause JEV's like in the zeitgeist, you know?
[00:19:29.49] - Justin Gardner
It's a little bit of a weird, you know, middle ground, because if you have like an open source library or whatever, They can't say like, hey, nobody's allowed to. But then, but also this architecture is closed source. This is running code on their servers, right? So it's like, eh, it's a little bit of a weird area, but I agree that that's a little sketchy. And, uh, I, I would imagine that, uh, the people who don't give a shit about whether you say don't security test it or not, um, uh, you're, you're just making yourself more vulnerable that way. Um, yeah. yeah.
[00:19:58.56] - Joseph Thacker
yeah. yeah. Let me, let me say that people don't understand that, man.
[00:20:00.58] - Justin Gardner
I mean, maybe we take that for, for, for granted too much, but I feel like, uh, That's such an obvious thing of like, you know, oh, okay, you're not allowed to— nobody's allowed to security test this. Well, the only people that are going to listen to that are the ones that are actually law-abiding, like, you know, people that— yeah, it's like, weird.
[00:20:19.25] - Joseph Thacker
Apparently they— so I just looked it up really quickly because I was going to get the exact language. So it says you cannot publish benchmarks or performance information about the service. But then someone responded and said they've already announced they're going to remove that clause. So maybe, maybe this is all out of date. And so people can do it. We'll look into it and let you guys know.
[00:20:34.52] - Justin Gardner
Yeah. But as you mentioned that idea of have a smart model generate all the attack vectors for a given HTTP request and then have Jev rank them with SIFT Rank or something, and then have maybe a medium intelligence AI implement them. So I'm thinking use your Codex sub to do the attack vector ideation. SiftRank with Jev and then hand it to Sonnet or something to go actually implement it. It could be an interesting strategy, but I feel like at this point we're optimizing, we're over-engineering too much. Just letting it do its thing.
[00:21:16.38] - Joseph Thacker
Just try all the things with the smartest model, right?
[00:21:18.52] - Justin Gardner
Exactly. Yeah. I don't know. I guess one thing that is becoming more apparent to me as I get more dupes, one is I need to be hitting a wider range of programs. But 2, there is going to be, just like there was in the recon days, a race to the bottom as far as speed goes too. When a program launches or something like that, everyone's just going to yeet a million AI agents at it.
[00:21:45.76] - Joseph Thacker
Yeah.
[00:21:46.48] - Justin Gardner
And that is then going to become a speed problem. And that is something that SiftRank or Jev or whatever here can kind of help with, right? Where it's like, um, you can decide what is the fastest way to a vulnerability more deterministically, uh, than just saying, go hack this.
[00:22:03.48] - Joseph Thacker
Yeah, that's interesting. And I did already notice that I, like, I, I, there was a, there was a program that added, you know, new scope in it and I hacked it and submitted a crit within like 4 hours and I was due by like 2 hours or 3 hours, you know?
[00:22:14.53] - Justin Gardner
Wow. Yeah, that's crazy. Yeah. Now that I'm, now that I'm thinking about it, this, this is, uh, This is an interesting thing too, because if you let, like, everybody, if everybody's doing what we're telling them to do, which is just point Claude code at it and say, hack it, you know, right?
[00:22:32.98] - Joseph Thacker
Yeah.
[00:22:33.30] - Justin Gardner
Then everybody's gonna be getting the same results. So we do need a little bit of variety here, right?
[00:22:38.46] - Joseph Thacker
Yeah. Well, people have different skills, different prompts, you know. Yeah.
[00:22:43.82] - Justin Gardner
Yeah. I feel like the amount of variance that that provides into the system is, uh, I'm not going to say nominal, but, you know, maybe sub-20%.
[00:22:54.35] - Joseph Thacker
You would think. I kind of agree. I think that really the real variation comes with like when you actually start kind of manually hacking and handing out requests to yourself and all that stuff. Because if you go look at like live hacking events, there are a lot of dupes, but then there's a lot of really unique bugs. In the most recent (REDACTED) live hacking event, there was like, you know, a ridiculous number of bugs found and there was a lot of them that weren't dupes. And I think it's just because the surface area is massive. And I think that will probably continue to be the case.
[00:23:22.98] - Justin Gardner
So yeah, maybe so. Actually, you know, as I, as I say that, my, my, my perspective on that may be a little bit outdated now. I know that I was watching the Builders and Breakers episode that Stuck put out a couple of weeks ago, and the person that he was interviewing from Expo said that a lot of the results that they're getting are actually coming from the harness nowadays, like they attribute to that as the models have gotten more intelligent.
[00:23:50.90] - Joseph Thacker
Interesting.
[00:23:51.26] - Justin Gardner
Which is interesting. Um, so I, I don't know where to, where to land on that, but I will definitely continue to try to build out my harnesses. And I'm, I've, in my next version of the HackBot that I'm working on, I have a lot more introspection into what is actually in my skill and in my harness, because in this last version, I just kind of like said, add this to the skill. And then I'd never even like checked it. Right. So I know that that thing's bloated as heck and like, I gotta be more granular about it.
[00:24:17.53] - Joseph Thacker
Yeah, I was gonna say, I, I, on my next iteration, I want to try to work in the Mac Studio. So my M5 Ultra Mac Studio was supposed to come in mid-November, but then they sent me a shipping notification that it's going to come in on the 29th of September. Um, so I ended up pushing it a few days, but yeah, I'm going to get it on like October 2nd. So I'm excited to like play with it and I'll give you all the updates on like what models seem to hack well, um, on 256 gigs of RAM.
[00:24:43.14] - Justin Gardner
Dang, dude, that is gonna be pretty sick. Um, all right, so let's, let's see. Oh, the last thing we had on the AI front, uh, was, uh, TAC and, uh, CVP stuff. So a lot of people got TAC reset, right?
[00:24:56.71] - Joseph Thacker
Yeah, yeah, yeah, my second account did.
[00:24:59.50] - Justin Gardner
Yeah, so my second account got a, a, um, which I'm not optimizing, by the way. I need to be optimizing that better. Uh, but my second account got a renewal notice for Daybreak, and then I went and renewed it and it was fine. So not sure what's going on. Yeah, sure what's going on. Yeah,
[00:25:16.04] - Joseph Thacker
sure what's going on. Yeah, sure what's going on. Yeah, I got the renewal notice. I went in to renew it and then it got rejected even though like it's the same persona, you know, identity verification that I always get. And I use the same exact driver's license and it's just me. Like, I'm not like trying to impersonate a second person or anything.
[00:25:30.45] - Justin Gardner
Yeah. Weird, man. That is weird. Um, okay. Uh, one technical piece and then we'll jump into some, uh, bug bounty drama that is happening in the community right now. But Um, so recently, uh, the PortSwigger team dropped Turbo Intruder 2, uh, which optimizes, um, the HTTP requests even further using HTTP/3, which is a UDP-based protocol. And the write-up says that they have achieved 100,000 requests per second using, uh, Wi-Fi, just like normal Wi-Fi, not even like a dedicated VPS.
[00:26:07.94] - Joseph Thacker
That's so—
[00:26:08.67] - Justin Gardner
Um, that's insane, dude.
[00:26:10.84] - Joseph Thacker
That is absurd. Yeah. Do you know if it queues up kind of like the old, like last packet attack type thing, or does it just like happen instantly?
[00:26:17.16] - Justin Gardner
You know, I don't know. And I was, I was looking into it a little bit because I was like, man, I, you know, I, I'm, I feel like I'm just now getting a grip on HTTP/2 and now they're talking about HTTP/3, you know? And, uh, it is, um, it is, it is tricky, man. Uh, so this is a UDP-based HTTP, right? Um, uh, as well. And, uh, man, it, it seems like that solves a lot of the speed, you know, issues because we're not having to do all these handshakes and we're, um, not having to deal with the stream the same way. Um, so yeah, I don't know how many sites support this right now, but if you're in a situation where you need to brute force something or you need to prove, uh, you know, the lack of complexity for a given, uh, you know, ID or something is, you know, is insufficient, then you can cite this article. And the— it says right here, the best result that they got was actually 180,000 requests per second, which is insane.
[00:27:17.90] - Joseph Thacker
That is absolutely insane. Yeah, I think the UDP, like ship it and forget it, really is super nice. It like reminds me of bug bounty, right? It's like just spray your ports and forget about them. And in this case, it's like spray your request and forget about it. Exactly.
[00:27:33.33] - Justin Gardner
Yeah, I did. I did want to add a little bit bit of, um, extra context here though. That is, um, that is 9 days for a 7-digit alphanumeric code, which is like pretty insane. And then only 6 hours for a 6-digit alphanumeric code. Uh, this is, uh, case insensitive. Uh, but that is—
[00:27:54.88] - Joseph Thacker
But that's also assuming that the server will respond to you that fast.
[00:27:58.73] - Justin Gardner
Yes, it is. A lot of assumptions going on there.
[00:28:01.78] - Joseph Thacker
Yeah. And like, when's the last time, honestly, Justin, in the last year, have you been like, oh, I really need to be able to send 100 requests, 100,000 requests this second?
[00:28:10.46] - Justin Gardner
Uh, I have had not that happen.
[00:28:15.07] - Joseph Thacker
Right. Same. And I love fuzzing. You know, I'm like the FFUF guy. To be honest, like, I've never needed anything faster than FFUF except one time when a company asked me to literally attempt to DDoS them as a part of a HackerOne spot check. Really? That's the only time I've never, I've needed to like go fast. They picked the right guy. Right, exactly. Yeah, exactly. I do that by myself on accident. So, um, no. And so anyways, yeah, my hot take here is that it's like, who really cares? I mean, I, I, well, I will say this, is this like faster for local testing? Because one thing that obviously agents these days are like really nice at doing is like spinning up a little local server and then testing it or fuzzing it or whatever. Do you think that this has implications for that? Can you, can you run local HTTP/3 like on your own machine, like with like a Docker container?
[00:28:57.70] - Justin Gardner
Yeah, I'm sure you could, but in local there's so much less, you know, network consideration as well. You can go pretty fast normally anyway.
[00:29:05.99] - Joseph Thacker
Yeah.
[00:29:06.92] - Justin Gardner
Or you could just like connect right into— if you've got local, you could just take out the whole HTTP piece in general and just hook directly into like the HTTP processing function and then just brrr, you know? Right. Yeah, yeah, yeah. Yeah. So, that is a little bit interesting. I will say, There have been, I know you and I were talking about this a little bit, uh, you know, off air beforehand. Um, a lot, a lot of sites do have remediations for this nowadays, but one of the things that I have found is, uh, or actually AI has been pointing out to me lately, is that sometimes there are ways to circumvent, um, endpoint related, uh, rate limiting. So if they've marked a specific endpoint as uh, you know, needs to be rate limited because of the logic. Um, there are some ways around that, and that is pretty detrimental. And it comes to mind, uh, how many Meta account takeovers, arbitrary account takeovers, there have been because of, uh, being able to brute force, you know, uh, a, you know, HTTP code.
[00:30:12.05] - Joseph Thacker
That's true.
[00:30:12.36] - Justin Gardner
You know, it's like there, there have been many. And so, uh, you know, these are kind of dumb attacks, but Man, they're— they have a lot of impact if done correctly. And this just enables that further with Turbo Intruder too. So.
[00:30:26.32] - Joseph Thacker
Yeah, that's a great point. Yeah, I often don't look for that because like you said, it does kind of feel like a dumb bug, but then the impact is so high, I should definitely look for it way more. And like you said, yeah, I mean, you almost can almost always find like origin IPs these days or like some header that allows you to bypass the, the DoS protection or whatever.
[00:30:43.81] - Justin Gardner
The one that I ran into recently, I'll just say it, was for some reason the rate limiting was tied to the specific endpoint itself. So if you added in, as perceived by the WAF, so if you added in these matrix parameters, the WAF was not processing that as the same endpoint. It was processing it as a different endpoint.
[00:31:08.25] - Joseph Thacker
What do you mean by matrix parameters?
[00:31:09.78] - Justin Gardner
Like the, the semicolon parameters in the path.
[00:31:12.25] - Joseph Thacker
Oh, got it. Yeah. Yeah.
[00:31:13.07] - Justin Gardner
You know, the, the Spring ones.
[00:31:14.91] - Joseph Thacker
Yeah.
[00:31:15.30] - Justin Gardner
Um, and, uh, so every time you rotated the matrix parameter, it would give you a new rate limit, but it was hitting the same backend anyway. Uh, and so you could just completely bypass it and, and, uh, you know, brute force something that was not supposed to be brute forcible. So pretty interesting.
[00:31:32.94] - Joseph Thacker
Yeah. Yeah, that is cool.
[00:31:34.49] - Justin Gardner
All right, man. Uh, now it's time for the bug bounty doom and gloom section.
[00:31:41.59] - Joseph Thacker
Oh man, it does feel like there's a lot more of that.
[00:31:44.16] - Justin Gardner
Uh, there is, man. Yeah. I mean, a lot of programs, you know, I, I went ham on one program, found a bunch of bugs there and it just, you know, they paused it, they shut it, you know, and they've been dealing with the, the, the, the reports great. But, uh, you know, there are a lot of programs that are just getting overrun right now and are stopping their program or they're pausing. And yeah. We got Salesforce, right? Is the one that we were talking about beforehand that now is only paying criticals.
[00:32:15.18] - Joseph Thacker
Yeah. And there's just so many weird things about this, but yeah, if, if, if anyone didn't know, basically from September 25th to December 31st, so like a full quarter, Salesforce is only gonna pay for criticals. And I think Zayat in the Discord that we're both in hit the nail on the head when he responded. It was like, Oh, sorry, this is a high, no bounty. It's like, how many bugs do that? Like, so many bugs, right?
[00:32:39.82] - Justin Gardner
Oh, yeah.
[00:32:39.99] - Joseph Thacker
Get downgraded to high for some reason, whether it's UI required, whether it's a non-critical asset, whether there's like some sort of mitigating condition, or just because the company's like, you know, screw you, you know?
[00:32:53.04] - Justin Gardner
Yeah.
[00:32:53.17] - Joseph Thacker
And so, it's just like, now going from, I don't know what their criticals pay, presumably something decent, to zero from crit to high, just, it almost breaks the whole bug economy. Like, and like, what are you supposed to do if you find a high? Like, just not submit it? Because really, that's what, I mean, almost every bug hunter is like financially motivated. Like, so they're gonna hold it till January?
[00:33:15.46] - Justin Gardner
Yeah. It's so bad. It says PII is out of scope as well. Did you Did you
[00:33:21.64] - Joseph Thacker
Did you Did you see that on X? I love this shit. No, I didn't, but I, oh, I, I'm mentioning this. I'm mentioning this because this literally got posted. Who was it? Um, Nathan. Uh, from UK.
[00:33:31.51] - Justin Gardner
Yeah.
[00:33:32.40] - Joseph Thacker
Uh, what's his name? Uh, Nathan Jones.
[00:33:35.61] - Justin Gardner
Yeah, yeah, yeah.
[00:33:36.50] - Joseph Thacker
Nathan Jones posted a screenshot of a comment on his report that says, sorry, we'll be closing this because PII is outta scope.
[00:33:44.02] - Justin Gardner
Oh my gosh, man. This was not Salesforce, right?
[00:33:46.84] - Joseph Thacker
No, it was not Salesforce. No, but like, it reminds me of that, right? It's like, sorry, this is a high, no bounty.
[00:33:52.02] - Justin Gardner
Yeah.
[00:33:52.91] - Joseph Thacker
It's like, I guess I'm making it—
[00:33:54.93] - Justin Gardner
You, you can't hack on programs. where, you know, I even, I even think it's very risky to hack on programs where, where mediums are out of scope. I mean, there is definitely a, a very different feel between like a medium and a high. You know, you can kind of tell when your bug's gonna land in the high and crit range. But for me, man, like if a low, it is what it is, but a medium kind of gets to the point where it's like, oh, you know, this is a $700 buck, you know, like—
[00:34:21.78] - Joseph Thacker
Right.
[00:34:22.42] - Justin Gardner
A $750 buck. Like, that is not an insubstantial amount of money, you know, insubstantial, insubstantial, inconsequential, inconsequential amount of money, you know. And it's like, uh, so, you know, if it goes from a high being $2K down to a medium, which is, you know, literally 0.1 CVSS difference, right? Sometimes it ends at like 6.9.
[00:34:46.76] - Joseph Thacker
Right.
[00:34:47.21] - Justin Gardner
Uh, then it's like, okay, now you walk away with nothing. And that Feels bad. So I would not hack on this, uh, during this time period, in my opinion.
[00:34:54.40] - Joseph Thacker
Yeah, I wouldn't either. And like, it's, yeah, it's just so weird because like the downstream effects are that you're causing people to one, not hack on it, or two, hold bugs, or, you know, three, they're like, everyone's going to mark everything they report as critical, right? Why wouldn't they? There's like no other incentives here for anything else. Um, anyways, yeah.
[00:35:14.05] - Justin Gardner
But I mean, no judgment to the Salesforce team. Everybody's trying to figure out what to do in this time, in this time frame where AI is shaking everything up, but, um, and they did clarify it's temporary.
[00:35:24.69] - Joseph Thacker
Yeah, they did clarify that it's temporary. This does make me think about a conversation I had with Rafa the other day, the Brazilian hacker who's friends with Buzz. Um, he, he was like mentioning that he thinks like, you know, that, uh, bug bounty might die and, you know, pen testing will do better. 'Cause I was mentioning to him that I was like trying to like do some more pen testing and just as this stuff happens and I was like, weird. It's actually, I think right now, you know, pen testing like pays disproportionately high.
[00:35:55.13] - Justin Gardner
Mm-hmm.
[00:35:55.76] - Joseph Thacker
Um, because these hacking agents can find more than we could ever find ever before and in a shorter amount of time. But what's interesting is that I think in the next year or 2, it flops hardcore because once most of these vulnerabilities are found and these companies have a handle on things and they've been doing better, like, you know, hacking agent stuff internally and these, and these models are helping them find bugs internally and like, that most bug bounty programs, I think, are going to be more secure, but they're not going to just slash their budget. That's just not how the world works, especially enterprises. So I think that then they're going to want to find those like crazy bugs that their agents can't find, and they're going to look to us as the community to go find those crazy bugs for them, and they're going to pay really well for them.
[00:36:35.63] - Justin Gardner
Yeah.
[00:36:35.65] - Joseph Thacker
So I think in the next year or two, actually, the cost of bounties will go up— like, sorry, the per-bounty payouts will go up. And I think that pentests are going to become a commodity. Like, when anyone can literally just throw Codex at a pentest for a company, Like, the, the, the, the price is gonna bottom out quick because all of a sudden now it's a commodity that anyone can do. And I don't think the market has caught up to that yet, but I think in like 2 years, you know, uh, the, the hackbot companies will drive the price of pentests down. So that's my, that's my opinion is that on the, on the longer term, or maybe even medium term, bug bounties go up per bug and pentests go down.
[00:37:12.40] - Justin Gardner
All right. Well, this has been economic forecasting with Joseph Thacker.
[00:37:16.09] - Joseph Thacker
Oh yeah.
[00:37:17.00] - Justin Gardner
Dude, has been— no, I, I like it, man. I like it. You're like, you know, this is gonna become a commodity, and then the supply and demand. No, I like it, dude. That, that sounds spot on to me. And I guess what rings further out of that is that you, you know, right now, everybody's talking about hackbot, hackbot, hackbot. But, you know, this is a little bit of a, you know, gold rush right now. And after that gets cleaned up, especially if we don't continue to see substantial increases in AI efficacy as pertains to cyber, and we don't just get another layer of bugs going deeper, then what's going to happen is that we're actually going to switch back into the other arena, which is tester-guided AI hacking, where the tester and the AI are working together, and we're getting deeper, deeper, deeper, deeper into these apps again. Um, yeah, because for somebody who loves being intimate with the app, I have not been getting very intimate with the apps lately.
[00:38:18.53] - Joseph Thacker
I can't lie. But you might have to, right? I think that's the point you're bringing up. And I think that'll be cool. Yeah, me too.
[00:38:25.03] - Justin Gardner
Yeah.
[00:38:25.28] - Joseph Thacker
All right, dude. One other kind of Debbie Downer, but also really cool thing here. Our boy Fav, uh, found something insane. This might get all cut if, uh, the blog's not out yet, but he's writing a blog on this. Fab found something absurd on Microsoft, didn't he?
[00:38:41.21] - Justin Gardner
Yes, he did. And I don't know how much we want to cover on this dude, but just be on the lookout for Fab's write-up on, on a bug he found in Microsoft. And I don't know, man, after sitting down and talking to Fab and talking through it a little bit, I still kind of feel like he got shafted on this bounty, but You know, Microsoft payouts are actually not that great. Like, have you looked at the table for Microsoft? It's like, it's like max $20K. And I'm like—
[00:39:16.30] - Joseph Thacker
Yeah, no, I haven't. I know that he has been like cranking out bugs all year. And so in general, he's done well on Microsoft. And I do think when they made that initiative to like pay all crits, even if it was previously out of scope, that was a huge step forward for Microsoft as a company.
[00:39:30.17] - Justin Gardner
Agreed.
[00:39:30.90] - Joseph Thacker
But in this case, I mean, this bug is absurd. And it's like, if any bad actor had found it, The impact here would be in the millions or tens of millions of dollars from like lawsuits or extortion or, you know, like if this was held ransom, even if they didn't pay it, when it got released, the, you know, the, what's it called? The class action lawsuit that came out then would've costed them millions. And so anyways, it's just so frustrating to see him be paid so little for that.
[00:39:56.01] - Justin Gardner
But yeah. I agree. And yeah, I think it begs the question again, which is, If you— and, you know, without going into too much detail here, like, if you are attacking an asset that has access to the information of an in-source, you know, in-scope asset, right? And you, you prove impact on an in-scope asset via an out-of-scope asset, I think that you need to pay that buck.
[00:40:23.46] - Joseph Thacker
Yeah.
[00:40:23.76] - Justin Gardner
Because at the end of the day, if it's the other way around, right, you're, you you know, if it works in the favor of the program, then you're not going to get paid, right?
[00:40:32.69] - Joseph Thacker
Right.
[00:40:33.07] - Justin Gardner
You know, if you, if you are, are not impacting an in-scope asset, then you're not going to get paid and nobody thinks you will, you know?
[00:40:40.69] - Joseph Thacker
Yeah. And if there's, and if there's like some sort of like impossibility where like they literally could not have security in any way, shape, or form other than like not doing business with this third party or something, then that's like maybe understandable. But in the vast majority of these cases, They've also screwed something up. They've also either misconfigured something or they've trusted third party when they shouldn't, or they've installed it in the wrong way. Like, yeah. And in those cases, they just should be paying it, you know?
[00:41:05.96] - Justin Gardner
Yeah. Yeah, I agree, man. So a little bit sad to see, but shout out to our boy Fav. He, he found some amazing vulnerabilities here. And I know that Microsoft is, is doing well in other arenas, but I didn't love the way that this one was handled. So it's a, it's a give and take, but I'll sound like a broken record, but I'll say it again. You know, we have a lot of grace for everybody in the bug bounty industry during these times. I know that I have needed grace because I have been— I have sometimes submitted shit in the past, you know, a couple of weeks and I have been like, yep, that's my bad. That is— that's me getting, you know, too up on my AI.
[00:41:46.03] - Joseph Thacker
Yeah. Yeah. Let me tell a story about that. So I'm working on a program that I've been really excited about for months and of course they're behind and so they're finally getting on my reports and like 3 of them, I'll just say the name and, and they can bleep it, but it's (REDACTED) 3 of them were all like downgrade to low when they shouldn't have been and really like, like pissed me off. And then, and then a 4th one comes in that paid $50 bonus and I'm like mad.
[00:42:11.25] - Justin Gardner
$50?
[00:42:11.59] - Joseph Thacker
I'm, I'm, yeah. And I'm like mad again. Well, the other ones are all $100 lows and so I'm already mad, but, but then on this one I'm like reading the comment and it's like, Uh, yeah, the only way this would be exploitable would be if the victim's computer was already pwned. And I was like, oh yeah, this doesn't really help my case very much.
[00:42:30.55] - Justin Gardner
Yeah. Yeah. Yeah. It's a little tricky.
[00:42:33.71] - Joseph Thacker
The other one, the other ones, I'm like willing to fight. I'm mad about it. But then when I read that one, I'm like, dang, now they're going to think I'm an idiot and they're going to feel justified in all their other bad decisions. And so anyways, yeah, the regrets were had there, but.
[00:42:47.13] - Justin Gardner
Yeah, yeah. I think that threat modeling is still a really big part of all this. And like you mentioned before, like really what, where I've seen the meat is when I take 20 minutes and sit down with the AI and be like, all right, look, check out these JavaScript files, check out these docs. You know, this is the way I set up these 5 accounts and these objects for you. Like try this and this and this and this, and then stuff starts falling out. Right.
[00:43:10.92] - Joseph Thacker
Mm-hmm.
[00:43:11.32] - Justin Gardner
Um, but So really, like the harness piece, the, the, the user interaction piece, what data you're putting into the AI really, really matters a lot in how you're guiding it through threat modeling. But it's really easy nowadays, especially with hackbots, to point it at something, not really understand the threat model, be, be deceived by an incorrect threat model, and then, you know, get an N/A or an informative or whatever.
[00:43:37.09] - Joseph Thacker
Yeah.
[00:43:38.21] - Justin Gardner
So I don't know, it hurts, it stings, but for the volume, you know, as putting on my green hat for a second, uh, it's worth it. Did you see the, did you see the tweet the other day that's like, you don't need to validate your, your, your reports. Like, that's what a triager is for. You are the problem.
[00:43:56.05] - Joseph Thacker
That's funny. Yeah. I was gonna say, um, yeah, I, I sometimes feel that way when I like use AI to respond to an NMI. I'm like, Oh man, I shouldn't be doing this to triage here. But then I'm also like, ah, they should just be using AI to triage this also anyway. So who cares? Yeah, dude.
[00:44:10.82] - Justin Gardner
I'll literally have it be like, I'm like, respond to this MMI.
[00:44:15.34] - Joseph Thacker
Yes.
[00:44:15.65] - Justin Gardner
No, make it sound like I wrote this.
[00:44:17.50] - Joseph Thacker
Yeah, exactly. Exactly.
[00:44:20.53] - Justin Gardner
Or I'll write the first sentence in my own voice.
[00:44:24.57] - Joseph Thacker
A typo here and there. Yeah.
[00:44:27.98] - Justin Gardner
Oh geez. Uh, we're all screwed. All All
[00:44:30.48] - Joseph Thacker
All All right.
[00:44:30.84] - Justin Gardner
Is that a wrap, Ben?
[00:44:32.40] - Joseph Thacker
Yep. Sweet, dude. Thank you so much. See you, buddy. Peace. Bye.
[00:44:36.26] - Justin Gardner
And that's a wrap on this episode of Critical Thinking. Thanks so much for watching to the end, y'all. If you want more Critical Thinking content, uh, or if you want to support the show, head over to ctbp.show/discord. You can hop in the community. There's lots of great high-level hacking discussion happening there on top of masterclasses, hackalongs, exclusive content, and a full Full-Time Hunters Guild if you're a full-time hunter. It's a great time, trust me. All right, I'll see you there.
Apple Podcasts
Spotify
Castro
RSS Feed
YouTube