nexpose 0.8.0 → 0.8.1
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/lib/nexpose/creds.rb +19 -0
 - data/lib/nexpose/filter.rb +4 -0
 - data/lib/nexpose/shared_cred.rb +20 -0
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: dad58d40aec93d09eac8e17c8a33d62681029ac8
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: a7c12f0b5569a78bdbec3913ffb1899e60a48cc6
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 8a52b22b5d5fb956240aede68ee4b5bdb65c8fb6dbae5aa566e4983d57bccdce41b7e27b56c36d6edaa6138f0befc6a9b4b6455f69e14be6d91b58f0665217a4
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 984fb2416a427610052639cbe1f0590882a6abaef35bb6613b672a7a7b049ed33fe8826fec90cf515c1683040e26aefa2bece67a54ea211fc8275b7ce745453a
         
     | 
    
        data/lib/nexpose/creds.rb
    CHANGED
    
    | 
         @@ -23,6 +23,7 @@ module Nexpose 
     | 
|
| 
       23 
23 
     | 
    
         
             
                                  'postgresql' => 5432,
         
     | 
| 
       24 
24 
     | 
    
         
             
                                  'remote execution' => 512,
         
     | 
| 
       25 
25 
     | 
    
         
             
                                  'snmp' => 161,
         
     | 
| 
      
 26 
     | 
    
         
            +
                                  'snmpv3' => 161,
         
     | 
| 
       26 
27 
     | 
    
         
             
                                  'ssh' => 22,
         
     | 
| 
       27 
28 
     | 
    
         
             
                                  'ssh-key' => 22,
         
     | 
| 
       28 
29 
     | 
    
         
             
                                  'telnet' => 23,
         
     | 
| 
         @@ -55,6 +56,12 @@ module Nexpose 
     | 
|
| 
       55 
56 
     | 
    
         
             
                attr_accessor :priv_username
         
     | 
| 
       56 
57 
     | 
    
         
             
                # The password to use when escalating privileges (optional)
         
     | 
| 
       57 
58 
     | 
    
         
             
                attr_accessor :priv_password
         
     | 
| 
      
 59 
     | 
    
         
            +
                # The authentication type to use with SNMP v3 credentials
         
     | 
| 
      
 60 
     | 
    
         
            +
                attr_accessor :auth_type
         
     | 
| 
      
 61 
     | 
    
         
            +
                # The privacy/encryption type to use with SNMP v3 credentials
         
     | 
| 
      
 62 
     | 
    
         
            +
                attr_accessor :privacy_type
         
     | 
| 
      
 63 
     | 
    
         
            +
                # The privacy/encryption passphrase to use with SNMP v3 credentials
         
     | 
| 
      
 64 
     | 
    
         
            +
                attr_accessor :privacy_password
         
     | 
| 
       58 
65 
     | 
    
         | 
| 
       59 
66 
     | 
    
         
             
                def self.for_service(service, user, password, realm = nil, host = nil, port = nil)
         
     | 
| 
       60 
67 
     | 
    
         
             
                  cred = new
         
     | 
| 
         @@ -73,6 +80,12 @@ module Nexpose 
     | 
|
| 
       73 
80 
     | 
    
         
             
                  @priv_username = username
         
     | 
| 
       74 
81 
     | 
    
         
             
                  @priv_password = password
         
     | 
| 
       75 
82 
     | 
    
         
             
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
                
         
     | 
| 
      
 84 
     | 
    
         
            +
                def add_snmpv3_credentials(auth_type, privacy_type, privacy_password)
         
     | 
| 
      
 85 
     | 
    
         
            +
                  @auth_type = auth_type
         
     | 
| 
      
 86 
     | 
    
         
            +
                  @privacy_type = privacy_type
         
     | 
| 
      
 87 
     | 
    
         
            +
                  @privacy_password = privacy_password
         
     | 
| 
      
 88 
     | 
    
         
            +
                end
         
     | 
| 
       76 
89 
     | 
    
         | 
| 
       77 
90 
     | 
    
         
             
                def self.parse(xml)
         
     | 
| 
       78 
91 
     | 
    
         
             
                  cred = new
         
     | 
| 
         @@ -100,6 +113,10 @@ module Nexpose 
     | 
|
| 
       100 
113 
     | 
    
         
             
                  attributes['privilegeelevationtype'] = @priv_type if @priv_type
         
     | 
| 
       101 
114 
     | 
    
         
             
                  attributes['privilegeelevationusername'] = @priv_username if @priv_username
         
     | 
| 
       102 
115 
     | 
    
         
             
                  attributes['privilegeelevationpassword'] = @priv_password if @priv_password
         
     | 
| 
      
 116 
     | 
    
         
            +
                  
         
     | 
| 
      
 117 
     | 
    
         
            +
                  attributes['snmpv3authtype'] = @auth_type if @auth_type
         
     | 
| 
      
 118 
     | 
    
         
            +
                  attributes['snmpv3privtype'] = @privacy_type if @privacy_type
         
     | 
| 
      
 119 
     | 
    
         
            +
                  attributes['snmpv3privpassword'] = @privacy_password if @privacy_password
         
     | 
| 
       103 
120 
     | 
    
         | 
| 
       104 
121 
     | 
    
         
             
                  xml = make_xml('adminCredentials', attributes, blob)
         
     | 
| 
       105 
122 
     | 
    
         
             
                  xml.add_element(@headers.to_xml_elem) if @headers
         
     | 
| 
         @@ -154,6 +171,8 @@ module Nexpose 
     | 
|
| 
       154 
171 
     | 
    
         
             
                  REMOTE_EXECUTION = 'remote execution'
         
     | 
| 
       155 
172 
     | 
    
         
             
                  # Simple Network Management Protocol
         
     | 
| 
       156 
173 
     | 
    
         
             
                  SNMP = 'snmp'
         
     | 
| 
      
 174 
     | 
    
         
            +
                  # Simple Network Management Protocol v3
         
     | 
| 
      
 175 
     | 
    
         
            +
                  SNMPV3 = 'snmpv3'
         
     | 
| 
       157 
176 
     | 
    
         
             
                  # Secure Shell (SSH)
         
     | 
| 
       158 
177 
     | 
    
         
             
                  SSH = 'ssh'
         
     | 
| 
       159 
178 
     | 
    
         
             
                  # Secure Shell (SSH) Public Key
         
     | 
    
        data/lib/nexpose/filter.rb
    CHANGED
    
    
    
        data/lib/nexpose/shared_cred.rb
    CHANGED
    
    | 
         @@ -50,6 +50,8 @@ module Nexpose 
     | 
|
| 
       50 
50 
     | 
    
         
             
                  cred.privilege_username = json['privilegeElevationUsername']
         
     | 
| 
       51 
51 
     | 
    
         
             
                  cred.all_sites = json['scope'] == 'ALL_SITES_ENABLED_DEFAULT'
         
     | 
| 
       52 
52 
     | 
    
         
             
                  cred.last_modified = Time.at(json['lastModified']['time'] / 1000)
         
     | 
| 
      
 53 
     | 
    
         
            +
                  cred.auth_type = json['snmpv3authtype']
         
     | 
| 
      
 54 
     | 
    
         
            +
                  cred.privacy_type = json['snmpv3privtype']
         
     | 
| 
       53 
55 
     | 
    
         
             
                  cred
         
     | 
| 
       54 
56 
     | 
    
         
             
                end
         
     | 
| 
       55 
57 
     | 
    
         | 
| 
         @@ -79,6 +81,12 @@ module Nexpose 
     | 
|
| 
       79 
81 
     | 
    
         
             
                attr_accessor :privilege_password
         
     | 
| 
       80 
82 
     | 
    
         
             
                # Permission elevation type. See Nexpose::Credential::ElevationType.
         
     | 
| 
       81 
83 
     | 
    
         
             
                attr_accessor :privilege_type
         
     | 
| 
      
 84 
     | 
    
         
            +
                # Authentication type of SNMP v3 credential
         
     | 
| 
      
 85 
     | 
    
         
            +
                attr_accessor :auth_type
         
     | 
| 
      
 86 
     | 
    
         
            +
                # Privacy type of SNMP v3 credential
         
     | 
| 
      
 87 
     | 
    
         
            +
                attr_accessor :privacy_type
         
     | 
| 
      
 88 
     | 
    
         
            +
                # Privacty password of SNMP v3 credential
         
     | 
| 
      
 89 
     | 
    
         
            +
                attr_accessor :privacy_password
         
     | 
| 
       82 
90 
     | 
    
         | 
| 
       83 
91 
     | 
    
         
             
                # IP address or host name to restrict this credential to.
         
     | 
| 
       84 
92 
     | 
    
         
             
                attr_accessor :host
         
     | 
| 
         @@ -133,6 +141,9 @@ module Nexpose 
     | 
|
| 
       133 
141 
     | 
    
         
             
                  account.add_element('Field', { 'name' => 'privilegeelevationusername' }).add_text(@privilege_username)
         
     | 
| 
       134 
142 
     | 
    
         
             
                  account.add_element('Field', { 'name' => 'privilegeelevationpassword' }).add_text(@privilege_password) if @privilege_password
         
     | 
| 
       135 
143 
     | 
    
         
             
                  account.add_element('Field', { 'name' => 'privilegeelevationtype' }).add_text(@privilege_type) if @privilege_type
         
     | 
| 
      
 144 
     | 
    
         
            +
                  account.add_element('Field', { 'name' => 'snmpv3authtype' }).add_text(@auth_type) if @auth_type
         
     | 
| 
      
 145 
     | 
    
         
            +
                  account.add_element('Field', { 'name' => 'snmpv3privtype' }).add_text(@privacy_type) if @privacy_type
         
     | 
| 
      
 146 
     | 
    
         
            +
                  account.add_element('Field', { 'name' => 'snmpv3privpassword' }).add_text(@privacy_password) if @privacy_password
         
     | 
| 
       136 
147 
     | 
    
         | 
| 
       137 
148 
     | 
    
         
             
                  restrictions = xml.add_element('Restrictions')
         
     | 
| 
       138 
149 
     | 
    
         
             
                  restrictions.add_element('Restriction', { 'type' => 'host' }).add_text(@host) if @host
         
     | 
| 
         @@ -197,6 +208,9 @@ module Nexpose 
     | 
|
| 
       197 
208 
     | 
    
         
             
                    sc_creds_privilegeelevationusername: @privilege_username,
         
     | 
| 
       198 
209 
     | 
    
         
             
                    sc_creds_privilegeelevationpassword: @privilege_password,
         
     | 
| 
       199 
210 
     | 
    
         
             
                    sc_creds_privilegeelevationtype: @privilege_type,
         
     | 
| 
      
 211 
     | 
    
         
            +
                    sc_creds_snmpv3authtype: @auth_type,
         
     | 
| 
      
 212 
     | 
    
         
            +
                    sc_creds_snmpv3privtype: @privacy_type,
         
     | 
| 
      
 213 
     | 
    
         
            +
                    sc_creds_snmpv3privpassword: @privacy_password,
         
     | 
| 
       200 
214 
     | 
    
         
             
                    siteid: -1 }
         
     | 
| 
       201 
215 
     | 
    
         
             
                end
         
     | 
| 
       202 
216 
     | 
    
         | 
| 
         @@ -228,6 +242,12 @@ module Nexpose 
     | 
|
| 
       228 
242 
     | 
    
         
             
                        cred.privilege_password = field.text
         
     | 
| 
       229 
243 
     | 
    
         
             
                      when 'privilegeelevationtype'
         
     | 
| 
       230 
244 
     | 
    
         
             
                        cred.privilege_type = field.text
         
     | 
| 
      
 245 
     | 
    
         
            +
                      when 'snmpv3authtype'
         
     | 
| 
      
 246 
     | 
    
         
            +
                        cred.auth_type = field.text
         
     | 
| 
      
 247 
     | 
    
         
            +
                      when 'snmpv3privtype'
         
     | 
| 
      
 248 
     | 
    
         
            +
                        cred.privacy_type = field.text
         
     | 
| 
      
 249 
     | 
    
         
            +
                      when 'snmpv3privpassword'
         
     | 
| 
      
 250 
     | 
    
         
            +
                        cred.privacy_password = field.text
         
     | 
| 
       231 
251 
     | 
    
         
             
                      end
         
     | 
| 
       232 
252 
     | 
    
         
             
                    end
         
     | 
| 
       233 
253 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: nexpose
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.8. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.8.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - HD Moore
         
     | 
| 
         @@ -10,7 +10,7 @@ authors: 
     | 
|
| 
       10 
10 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       11 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       12 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       13 
     | 
    
         
            -
            date: 2014- 
     | 
| 
      
 13 
     | 
    
         
            +
            date: 2014-07-03 00:00:00.000000000 Z
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies:
         
     | 
| 
       15 
15 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       16 
16 
     | 
    
         
             
              name: librex
         
     |