smbRpc 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|