Skip to content

Commit a674310

Browse files
authored
Land rapid7#18992, Fix postgres version logging
2 parents 11c24ec + acf9745 commit a674310

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

modules/auxiliary/scanner/postgres/postgres_version.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,12 @@ def run_host(ip)
4040

4141
# Alias for RHOST
4242
def rhost
43-
datastore['RHOST']
43+
postgres_conn&.peerhost || datastore['RHOST']
4444
end
4545

4646
# Alias for RPORT
4747
def rport
48-
datastore['RPORT']
48+
postgres_conn&.peerport || datastore['RPORT']
4949
end
5050

5151
def report_cred(opts)
@@ -85,27 +85,27 @@ def do_fingerprint(user=nil,pass=nil,database=nil)
8585
:password => password
8686
)
8787
if result[:auth]
88-
vprint_good "#{postgres_conn.peerhost}:#{postgres_conn.peerport} Postgres - Logged in to '#{database}' with '#{user}':'#{password}'" unless session
89-
print_status "#{postgres_conn.peerhost}:#{postgres_conn.peerport} Postgres - Version #{result[:auth]} (Post-Auth)"
88+
vprint_good "#{rhost}:#{rport} Postgres - Logged in to '#{database}' with '#{user}':'#{password}'" unless session
89+
print_status "#{rhost}:#{rport} Postgres - Version #{result[:auth]} (Post-Auth)"
9090
elsif result[:preauth]
91-
print_good "#{postgres_conn.peerhost}:#{postgres_conn.peerport} Postgres - Version #{result[:preauth]} (Pre-Auth)"
91+
print_good "#{rhost}:#{rport} Postgres - Version #{result[:preauth]} (Pre-Auth)"
9292
else # It's something we don't know yet
93-
vprint_status "#{postgres_conn.peerhost}:#{postgres_conn.peerport} Postgres - Authentication Error Fingerprint: #{result[:unknown]}"
94-
print_status "#{postgres_conn.peerhost}:#{postgres_conn.peerport} Postgres - Version Unknown (Pre-Auth)"
93+
vprint_status "#{rhost}:#{rport} Postgres - Authentication Error Fingerprint: #{result[:unknown]}"
94+
print_status "#{rhost}:#{rport} Postgres - Version Unknown (Pre-Auth)"
9595
end
9696

9797
# Reporting
9898
report_service(
99-
:host => postgres_conn.peerhost,
100-
:port => postgres_conn.peerport,
99+
:host => rhost,
100+
:port => rport,
101101
:name => "postgres",
102102
:info => result.values.first
103103
)
104104

105105
if self.postgres_conn
106106
report_cred(
107-
ip: postgres_conn.peerhost,
108-
port: postgres_conn.peerport,
107+
ip: rhost,
108+
port: rport,
109109
service_name: 'postgres',
110110
user: user,
111111
password: password,
@@ -115,10 +115,10 @@ def do_fingerprint(user=nil,pass=nil,database=nil)
115115

116116
if result[:unknown]
117117
report_note(
118-
:host => postgres_conn.peerhost,
118+
:host => rhost,
119119
:proto => 'tcp',
120120
:sname => 'postgres',
121-
:port => postgres_conn.peerport,
121+
:port => rport,
122122
:ntype => 'postgresql.fingerprint',
123123
:data => "Unknown Pre-Auth fingerprint: #{result[:unknown]}"
124124
)

0 commit comments

Comments
 (0)