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
|