smbRpc 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/examples/enumServices.rb +15 -0
 - data/examples/enumUsers.rb +24 -0
 - data/examples/serverGetInfo.rb +11 -0
 - data/lib/smbRpc/samr/enumerateUsersInDomain.rb +1 -1
 - data/smbRpc.gemspec +2 -2
 - metadata +5 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 7f3353d8440dbac0b159a906b9ddbeb6a7514a8061576badb2553871238bfc05
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: f2797f8e40083d8e93dfcd3751720a12c9e288dced2fb8cd754e1bb0b3b41091
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 4ebd5d9e565a097ff1c36221155fdc0047653e6e219eef73a10f28ac38aef59d51ab2dc70fbe724d121f6445ec339faf2ed1b10c9d634c8a7e571aee0ffe737d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 3b1a63cac8deadc5a81cd2173ff21914e9234db9fa02163c5a68967552cef11c9ba54caa847cfd76533c7bfec4e5d1b01a82ae89debdc765a963d49a8cd6a055
         
     | 
| 
         @@ -0,0 +1,15 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            require"smbRpc"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            ip = ARGV[0]
         
     | 
| 
      
 5 
     | 
    
         
            +
            port = 445
         
     | 
| 
      
 6 
     | 
    
         
            +
            user = ARGV[1]
         
     | 
| 
      
 7 
     | 
    
         
            +
            pass = ARGV[2]
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            svcctl = SmbRpc::Svcctl.new(ip:ip, user:user, pass:pass).openScm(scAccessMask:SVCCTL_SC_ACCESS_MASK["SC_MANAGER_ENUMERATE_SERVICE"])
         
     | 
| 
      
 10 
     | 
    
         
            +
            svcctl.enumServicesStatus.each do |i|
         
     | 
| 
      
 11 
     | 
    
         
            +
              puts "%s : %s\ntype: %s\nstate: %s"%[i[:displayName], i[:serviceName], SVCCTL_SERVICE_STATUS_SERVICE_TYPE.key(i[:serviceType]), 
         
     | 
| 
      
 12 
     | 
    
         
            +
              SVCCTL_SERVICE_STATUS_CURRENT_STATE[i[:currentState]] ]
         
     | 
| 
      
 13 
     | 
    
         
            +
            end
         
     | 
| 
      
 14 
     | 
    
         
            +
            svcctl.close
         
     | 
| 
      
 15 
     | 
    
         
            +
            puts"-"*80
         
     | 
| 
         @@ -0,0 +1,24 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            require"smbRpc"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            ip = ARGV[0]
         
     | 
| 
      
 5 
     | 
    
         
            +
            port = 445
         
     | 
| 
      
 6 
     | 
    
         
            +
            user = ARGV[1]
         
     | 
| 
      
 7 
     | 
    
         
            +
            pass = ARGV[2]
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            samr = SmbRpc::Samr.new(ip:ip, user:user, pass:pass).connect5
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            domName = ""
         
     | 
| 
      
 12 
     | 
    
         
            +
            lsarpc = SmbRpc::Lsarpc.new(ip:ip, user:user, pass:pass).openPolicy
         
     | 
| 
      
 13 
     | 
    
         
            +
            infoPolicy = lsarpc.queryInformationPolicy	#determine if host is part of a domain
         
     | 
| 
      
 14 
     | 
    
         
            +
            domName = infoPolicy[:dnsDomainName].nil?? samr.enumerateDomainsInSamServer[0][:domainName] : infoPolicy[:dnsDomainName]
         
     | 
| 
      
 15 
     | 
    
         
            +
            lsarpc.close
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            domSid = samr.lookupDomainInSamServer(domainName:domName)
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            samr.openDomain(domainSid:domSid).enumerateUsersInDomain.each do |e|
         
     | 
| 
      
 20 
     | 
    
         
            +
              p samr.openUser(userId:e[:rid]).queryInformationUser
         
     | 
| 
      
 21 
     | 
    
         
            +
            end
         
     | 
| 
      
 22 
     | 
    
         
            +
            samr.close
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
         @@ -51,7 +51,7 @@ module SmbRpc 
     | 
|
| 
       51 
51 
     | 
    
         
             
                    enumerationContext = samrEnumerateUsersInDomainRes.enumerationContext
         
     | 
| 
       52 
52 
     | 
    
         
             
                    samrEnumerateUsersInDomainRes.numberOfBuffer.times do |i|
         
     | 
| 
       53 
53 
     | 
    
         
             
                      h = {}
         
     | 
| 
       54 
     | 
    
         
            -
                      h[:rid] = samrEnumerateUsersInDomainRes.name[i].relativeId
         
     | 
| 
      
 54 
     | 
    
         
            +
                      h[:rid] = samrEnumerateUsersInDomainRes.name[i].relativeId.to_i
         
     | 
| 
       55 
55 
     | 
    
         
             
                      h[:userName] = samrEnumerateUsersInDomainRes.nameNdr[i].str.unpack("v*").pack("c*")
         
     | 
| 
       56 
56 
     | 
    
         
             
                      out << h
         
     | 
| 
       57 
57 
     | 
    
         
             
                    end
         
     | 
    
        data/smbRpc.gemspec
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       2 
2 
     | 
    
         
             
              s.name        = 'smbRpc'
         
     | 
| 
       3 
     | 
    
         
            -
              s.version     = '0.0. 
     | 
| 
       4 
     | 
    
         
            -
              s.date        = '2019-01- 
     | 
| 
      
 3 
     | 
    
         
            +
              s.version     = '0.0.4'
         
     | 
| 
      
 4 
     | 
    
         
            +
              s.date        = '2019-01-24'
         
     | 
| 
       5 
5 
     | 
    
         
             
              s.summary     = "Interface to various Windows RPC services over SMB namepipes"
         
     | 
| 
       6 
6 
     | 
    
         
             
              s.description = "As describe in summary"
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.authors     = ["Rungsree Singholka"]
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: smbRpc
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Rungsree Singholka
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2019-01- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2019-01-24 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: ruby_smb
         
     | 
| 
         @@ -46,7 +46,10 @@ extra_rdoc_files: [] 
     | 
|
| 
       46 
46 
     | 
    
         
             
            files:
         
     | 
| 
       47 
47 
     | 
    
         
             
            - README.md
         
     | 
| 
       48 
48 
     | 
    
         
             
            - examples/enumLsa.rb
         
     | 
| 
      
 49 
     | 
    
         
            +
            - examples/enumServices.rb
         
     | 
| 
       49 
50 
     | 
    
         
             
            - examples/enumSmbPipe.rb
         
     | 
| 
      
 51 
     | 
    
         
            +
            - examples/enumUsers.rb
         
     | 
| 
      
 52 
     | 
    
         
            +
            - examples/serverGetInfo.rb
         
     | 
| 
       50 
53 
     | 
    
         
             
            - lib/smbRpc.rb
         
     | 
| 
       51 
54 
     | 
    
         
             
            - lib/smbRpc/epmapper.rb
         
     | 
| 
       52 
55 
     | 
    
         
             
            - lib/smbRpc/epmapper/constants.rb
         
     |