-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Fix: Add Ability to Read Files with Open Handles over SMB #1894
Open
covertivy
wants to merge
12
commits into
fortra:master
Choose a base branch
from
covertivy:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…lags. Then sort out some mismatching flags.
…, write and delete. I found it out when capturing network traffic and seeing I can manage to read files with open handles. This fixes SHARE_ACCESS_DENIED errors when trying to read files with handles on them. This is the logical thing to do when we open files for reading. We do not want to block other processes from interacting with the file. This may raise problems when reading files that are being written into / being deleted. I still think this is the right move since we usually want to read the files no matter what.
This is related to my older commits on the subject.
Add method parameters to `getFile` to easily communicate with the underlying SMB API.
We obviously do not want to allow others to write to the file while we are writing to it.
…n` values in SMBv2.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello!
I did some research regarding some annoying
STATUS_SHARING_VIOLATION
andSTATUS_ACCESS_DENIED
errors.I know for a fact that some files that cannot be read with
smbclient
can be copied aside with a command / the file explorer.This means that theoretically it should be possible to do so over SMB!
I opened up Wireshark and played around a bit - it seems this is caused by over-restrictive share access permissions on
impacket
's side.I then dug deeper and saw some mismatching flag usage in the SMBv1 implementation of the protocol so I fixed those too.
To sum up, I added the ability to READ FILES WITH OPEN HANDLES WITH (ALMOST) NO RESTRICTION!!!
The only restriction is of course for some system files (eg.
SAM
,SECURITY
,SYSTEM
and basically all files that require aShadowCopy
to allow reading them).This means that files with "weak handles" can be read remotely WITH ABSOLUTELY NO LIMITATION!
The list contains:
*.evt
/*.evtx
Glad to suffer for all y'alls pleasure!