Skip to content

Commit 2b48880

Browse files
committed
Update the check method to eliminate potential false positives by searching for the presence of three strings that together should only be returned by HPE SIM web servers.
1 parent 59d7288 commit 2b48880

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

modules/exploits/windows/http/hpe_sim_76_amf_deserialization.rb

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,19 @@ def initialize(info = {})
7878
def check
7979
res = send_request_cgi({
8080
'method' => 'GET',
81-
'uri' => normalize_uri(target_uri.path, 'simsearch', 'messagebroker', 'amfsecure')
81+
'uri' => normalize_uri(target_uri.path)
8282
})
83-
8483
return CheckCode::Unknown('Failed to connect to the server.') if res.nil?
84+
85+
body = res.body
86+
unless body.include?('Please insert your Smart Card and login to HPE System Insight Manager.') && body.include?('<title>HPE Systems Insight Manager</title>') && body.include?('/ui/javascript/XeHelp.js')
87+
return CheckCode::Safe("Target doesn't appear to be a HPE System Insight Manager server!")
88+
end
89+
90+
res = send_request_cgi({
91+
'method' => 'GET',
92+
'uri' => normalize_uri(target_uri.path, 'simsearch', 'messagebroker', 'amfsecure')
93+
})
8594
return CheckCode::Safe('Failed to identify an active amfsecure endpoint on the target.') unless res&.code == 200
8695

8796
CheckCode::Appears('Found an active amfsecure endpoint on the target!')

0 commit comments

Comments
 (0)