Module: PWN::SAST::AMQPConnectAsGuest

Defined in:
lib/pwn/sast/amqp_connect_as_guest.rb

Overview

SAST Module used to detect connection references within source code to determine if connections to RabbitMQ servers are using guest accounts.

Class Method Summary collapse

Class Method Details

.authorsObject

Author(s)

0day Inc. [email protected]



58
59
60
61
62
# File 'lib/pwn/sast/amqp_connect_as_guest.rb', line 58

public_class_method def self.authors
  "AUTHOR(S):
    0day Inc. <[email protected]>
  "
end

.helpObject

Display Usage for this Module



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/pwn/sast/amqp_connect_as_guest.rb', line 66

public_class_method def self.help
  puts "USAGE:
    # Run scan and return its result
    #{self}.scan(
      dir_path: 'optional - optional path to dir defaults to .',
      git_repo_root_uri: 'optional - optional http uri of git repo scanned'
    )

    # Used primarily to map NIST 800-53 Revision 4 Security Controls
    #{self}.security_references

    # Print the AUTHOR(S) string for this module.
    #{self}.authors
  "
  constants.sort
end

.scan(opts = {}) ⇒ Object

Supported Method Parameters

PWN::SAST::AMQPConnectAsGuest.scan( dir_path: 'optional path to dir defaults to .' git_repo_root_uri: 'optional http uri of git repo scanned' )



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/pwn/sast/amqp_connect_as_guest.rb', line 18

public_class_method def self.scan(opts = {})
  dir_path = opts[:dir_path]
  git_repo_root_uri = opts[:git_repo_root_uri].to_s.scrub

  test_case_filter = "
    grep -in \
    -e amqp \
    -e rabbit {PWN_SAST_SRC_TARGET} 2> /dev/null | \
    grep guest
  "

  PWN::SAST::TestCaseEngine.execute(
    test_case_filter: test_case_filter,
    security_references: security_references,
    dir_path: dir_path,
    git_repo_root_uri: git_repo_root_uri
  )
rescue StandardError => e
  raise e
end

.security_referencesObject

Used primarily to map NIST 800-53 Revision 4 Security Controls https://web.nvd.nist.gov/view/800-53/Rev4/impact?impactName=HIGH to PWN Exploit & Static Code Anti-Pattern Matching Modules to Determine the level of Testing Coverage w/ PWN.



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/pwn/sast/amqp_connect_as_guest.rb', line 44

public_class_method def self.security_references
  {
    sast_module: self,
    section: 'ACCOUNT MANAGEMENT',
    nist_800_53_uri: 'https://csrc.nist.gov/projects/cprt/catalog#/cprt/framework/version/SP_800_53_5_1_1/home?element=AC-02',
    cwe_id: '285',
    cwe_uri: 'https://cwe.mitre.org/data/definitions/285.html'
  }
rescue StandardError => e
  raise e
end