Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add additional reliability and stability notes to modules #17634

Conversation

adfoster-r7
Copy link
Contributor

Add additional reliability and stability notes to modules

Verification

  • Verify the notes are cromulent

@gwillcox-r7 gwillcox-r7 self-assigned this Feb 14, 2023
@gwillcox-r7 gwillcox-r7 added enhancement rn-enhancement release notes enhancement labels Feb 14, 2023
Copy link
Contributor

@gwillcox-r7 gwillcox-r7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've reviewed a few of these 6 files but already I'm seeing a worrying trend to use the same base template of CRASH_SAFE and REPEATABLE_SESSION for all of these files regardless of the nature of the vulnerability involved. I've noted a few cases here but ideally I think this point needs further consideration and will be pausing my review until we can come to some conclusion on this, as I'd prefer not to be giving people the false impression that these exploits are more reliable than they actually are.

'Notes' => {
'Stability' => [ CRASH_SAFE ],
'SideEffects' => [ IOC_IN_LOGS ],
'Reliability' => [ REPEATABLE_SESSION ]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a good option given it this involves a race condition and two information leaks? Seems to me there is a small chance that the race condition might be lost here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The exploit runs in a loop; so it should be repeatable

racer = Thread.new do
loop do
res = send_to_factory("/#{@shelly}")
if res.code == 200
print_good("#{peer} - We've won the race condition, shell incoming!")
break
end
end

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's just a loop that the race condition code is trying to execute where it repeatedly tries to access the file we upload until it gets a 200 OK response. Whilst that certainly increases the chances, it doesn't guarantee that it will win the race every time. So long is there is a chance the race might be lost we shouldn't be using REPEATABLE_SESSION here. I think something inbetween UNRELIABLE_SESSION and FIRST_ATTEMPT_FAIL would be great but unfortunately it doesn't look like we have a definition for "might fail more than the first time, but overall not terrible on reliability".

modules/exploits/apple_ios/browser/safari_jit.rb Outdated Show resolved Hide resolved
@gwillcox-r7 gwillcox-r7 removed their assignment Feb 14, 2023
@gwillcox-r7
Copy link
Contributor

@adfoster-r7 Do you have any updates on the above? Would love to get this landed but have some outstanding concerns.

@adfoster-r7
Copy link
Contributor Author

Hoping to get this sorted next week-ish 👍

@adfoster-r7 adfoster-r7 force-pushed the add-additional-reliability-and-stability-notes-to-modules branch from 4cab6cd to 4ce22ee Compare April 18, 2023 16:07
@gwillcox-r7 gwillcox-r7 self-assigned this May 11, 2023
'DefaultTarget' => 0,
'Notes' => {
'Stability' => [ CRASH_SAFE ],
'SideEffects' => [ ARTIFACTS_ON_DISK, CONFIG_CHANGES, IOC_IN_LOGS ],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bit conflicted on the CONFIG_CHANGES since technically we aren't modifying a config file here, but we are adding a new bot. I'm not sure if we should remove CONFIG_CHANGES here on that basis.

modules/exploits/windows/local/srclient_dll_hijacking.rb Outdated Show resolved Hide resolved
modules/exploits/windows/local/srclient_dll_hijacking.rb Outdated Show resolved Hide resolved
modules/exploits/windows/http/prtg_authenticated_rce.rb Outdated Show resolved Hide resolved
@gwillcox-r7 gwillcox-r7 removed their assignment May 18, 2023
@gwillcox-r7
Copy link
Contributor

gwillcox-r7 commented May 23, 2023

Bump, any update on this @adfoster-r7? This looks close to being able to be landed, just needs the issues mentioned above addressed.

@gwillcox-r7
Copy link
Contributor

Sending this to the attic due to a lack of updates. We'll get back to this if its still a priority.

@gwillcox-r7 gwillcox-r7 added the attic Older submissions that we still want to work on again label Jun 7, 2023
@github-actions
Copy link

github-actions bot commented Jun 7, 2023

Thanks for your contribution to Metasploit Framework! We've looked at this pull request, and we agree that it seems like a good addition to Metasploit, but it looks like it is not quite ready to land. We've labeled it attic and closed it for now.

What does this generally mean? It could be one or more of several things:

  • It doesn't look like there has been any activity on this pull request in a while
  • We may not have the proper access or equipment to test this pull request, or the contributor doesn't have time to work on it right now.
  • Sometimes the implementation isn't quite right and a different approach is necessary.

We would love to land this pull request when it's ready. If you have a chance to address all comments, we would be happy to reopen and discuss how to merge this!

@github-actions github-actions bot closed this Jun 7, 2023
@adfoster-r7 adfoster-r7 reopened this Jan 22, 2024
@adfoster-r7 adfoster-r7 force-pushed the add-additional-reliability-and-stability-notes-to-modules branch 2 times, most recently from 66b0e38 to 92758e2 Compare January 22, 2024 22:20
This was referenced Jan 22, 2024
@adfoster-r7 adfoster-r7 force-pushed the add-additional-reliability-and-stability-notes-to-modules branch from 92758e2 to 621625a Compare January 22, 2024 22:23
@adfoster-r7 adfoster-r7 removed the attic Older submissions that we still want to work on again label Jan 22, 2024
@adfoster-r7 adfoster-r7 force-pushed the add-additional-reliability-and-stability-notes-to-modules branch from 621625a to 46f7669 Compare January 22, 2024 23:09
@adfoster-r7 adfoster-r7 force-pushed the add-additional-reliability-and-stability-notes-to-modules branch from 46f7669 to 094d6ee Compare January 22, 2024 23:30
@sjanusz-r7 sjanusz-r7 merged commit 7411dc1 into rapid7:master Jan 23, 2024
34 checks passed
@sjanusz-r7
Copy link
Contributor

Release Notes

Reliability and stability notes that have been previously missing have been added to some modules.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement rn-enhancement release notes enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants