The server's out-of-band management chip hands out its own password hash to anyone who asks nicely
IPMI v2.0's RAKP authentication handshake requires the BMC to reply to RAKP Message 1 with a Message 2 containing an HMAC computed over the user's password hash — *before* the client has proved they know the password. An attacker who can reach UDP/623 sends a crafted RAKP request naming any valid account (root, admin, ADMIN, USERID) and the BMC returns a salt plus HMAC-SHA1 the attacker can crack offline with hashcat -m 7300. This affects every IPMI 2.0-compliant baseboard management controller — Dell iDRAC, HP iLO, Supermicro IPMI, IBM/Lenovo IMM, Fujitsu iRMC, Oracle ILOM, and every whitebox using AMI/Aten/Nuvoton firmware. There is no vendor patch; it is a specification-level defect.
Tenable's HIGH label (CVSSv2 7.8 / CVSSv3 7.5) is *fair* and arguably conservative. The flaw is unauthenticated, network-reachable, and the target is the deepest privilege boundary on a physical server — the BMC runs before, during, and after the host OS with full power/console/virtual-media control. The only reason it isn't reflexively CRITICAL is that BMCs should never be internet-facing and most crackable exposure is inside management VLANs. Where BMCs are flat with production or exposed to the WAN, this is a fleet-ending bug.
5 steps from start to impact.
Discover exposed BMCs
nmap -sU -p 623 --script ipmi-version or Metasploit's auxiliary/scanner/ipmi/ipmi_version fingerprints RAKP-capable BMCs and lists supported cipher suites. Shodan and Censys expose tens of thousands of internet-reachable IPMI endpoints continuously.- UDP/623 reachability to the BMC
- BMC advertises IPMI 2.0 with RAKP
- Best-practice deployments isolate BMCs on a dedicated management VLAN with no routed path
- Some vendors ship with IPMI-over-LAN disabled by default on newer firmware
ipmi.log if enabledEnumerate valid usernames
auxiliary/scanner/ipmi/ipmi_dumphashes with a wordlist of default accounts (root, admin, ADMIN, USERID, sysadmin, Administrator). The BMC returns a RAKP Message 2 with HMAC only for accounts that actually exist, giving a free username oracle.- Reachable RAKP endpoint from step 1
- Sites that renamed default accounts require larger wordlists
- Rate-limiting on some newer BMCs (Dell iDRAC9 15.x) throttles the enumeration
Retrieve HMAC-SHA1 hashes for valid users
ipmi_dumphashes.rb prints them in hashcat mode 7300 format directly. No authentication or credentials are needed to reach this point — this is the core of CVE-2013-4786.- Valid username(s) known
- None at the protocol layer — this is spec-mandated behavior
ipmi analyzer or Suricata rules keying on RAKP message typesOffline crack
hashcat -m 7300 on a GPU rig. Vendor-default passwords (calvin for Dell, PASSW0RD for IBM/Lenovo IMM, ADMIN for Supermicro) fall in seconds. Custom passwords under 10 chars typically fall within a week on a single RTX 4090.- Hashes captured
- Weak or default BMC password
- Long, random BMC passwords (16+ chars) push crack time into infeasible
- Password rotation on BMCs — extremely rare in the wild — invalidates prior hashes
Log in to BMC and pivot to physical host
ipmitool -I lanplus for serial-over-LAN, mounts a virtual CD-ROM via the web UI, and boots an attacker-controlled ISO. This yields ring-negative-2 control of the physical server — pre-boot code execution, disk decryption bypass on TPM-sealed volumes if BIOS/UEFI settings are attacker-mutable, and complete host takeover regardless of OS-level EDR.- Cracked BMC password
- Reachable IPMI/HTTPS interface
- Full-disk encryption tied to *external* KMS + measured boot can mitigate ISO-boot data theft, but not power/console control
- BMCs with virtual media disabled reduce impact to console/power only
The supporting signals.
| CVE | CVE-2013-4786 — IPMI 2.0 RAKP HMAC password hash disclosure |
|---|---|
| CWE | CWE-522 (Insufficiently Protected Credentials) / CWE-200 (Information Disclosure) |
| In-the-wild | Not on CISA KEV, but continuously abused since 2013; standard tradecraft in BMC-focused campaigns and iLOBleed-adjacent work by APT groups |
| Public exploit | Metasploit auxiliary/scanner/ipmi/ipmi_dumphashes (Dan Farmer / HD Moore, 2013); Exploit-DB 38633; hashcat mode 7300 cracks output natively |
| EPSS | ~0.85 / ~92nd percentile — consistently high due to scanner ubiquity and trivial exploitation |
| CVSS | CVSSv2 7.8 (AV:N/AC:L/Au:N/C:C/I:N/A:N); CVSSv3 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) |
| Affected | All IPMI 2.0-compliant BMCs: Dell iDRAC6/7/8/9, HPE iLO 2/3/4/5, Supermicro IPMI (AMI/Aten), Lenovo/IBM IMM/IMM2, Fujitsu iRMC S2–S5, Oracle ILOM, NetApp SP/BMC, Cisco CIMC (pre-hardening) |
| Fix | No patch — spec defect. Vendor guidance: disable IPMI-over-LAN, isolate mgmt VLAN, enforce long random passwords, disable cipher-suite 0 |
| Exposure | Shodan: ~30k–100k internet-exposed IPMI endpoints continuously; Censys confirms similar. Internal exposure typically much larger — most enterprises have flat mgmt networks |
| Disclosed | 2013-06-20 by Dan Farmer (fish2.com IPMI research) and HD Moore (Rapid7); Tenable plugin 80101 published 2014-12-18 |
noisgate verdict.
The single decisive factor is role multiplier: the affected component *is* the baseboard management controller — the deepest trust boundary on the physical server, capable of virtual-media boot and pre-OS console control. No patch exists (spec-level flaw), so severity is anchored by blast radius, not by an unpatched-window argument.
Why this verdict
- Role multiplier — BMC is a canonical high-value role. Every affected instance runs on hardware that hosts something: a hypervisor, DC, database, backup server. Successful crack yields ring-negative-2 control of the physical box regardless of OS hardening. On any ESXi/Hyper-V host this ends in fleet compromise via virtual-media boot.
- No patch will ever ship. This is a specification-level defect in IPMI 2.0 RAKP. Every BMC advertising IPMI 2.0 is affected forever — the only remediations are configuration (disable IPMI-over-LAN, cipher 0 off, strong passwords, network isolation).
- Unauthenticated, network-reachable, trivially weaponized. Metasploit dumps hashes in seconds; hashcat cracks defaults instantly. There is zero user interaction, zero prior auth, zero required tooling sophistication.
- Friction adjustment — internal-network prerequisite in mature shops. Sites with segmented mgmt VLANs and BMCs off the routed internal network reduce reachable population sharply. This is why the floor sits at HIGH rather than CRITICAL — but only for shops that actually enforce it.
- Countervailing pressure — flat management networks are the norm. Real-world audits repeatedly find BMCs reachable from user-VLAN workstations. Once an attacker has any foothold, BMCs become the shortest path to hypervisor takeover.
Why not higher?
CRITICAL would apply if BMCs were routinely internet-exposed (they aren't for most enterprises — Shodan shows ~30–100k globally, which is a small share of the installed base). The chain also requires the password to be crackable; disciplined shops using 20-char random BMC passwords defeat step 4 entirely.
Why not lower?
MEDIUM would ignore the role multiplier. The affected component IS the BMC — successful compromise means pre-boot code execution and hypervisor takeover on whatever the server is running. That blast radius floors the verdict at HIGH regardless of friction, per noisgate deployment-role rules.
What to do — in priority order.
- Disable IPMI-over-LAN where operationally feasible — On Dell iDRAC:
racadm set iDRAC.IPMILan.Enable 0. On HPE iLO:hponcfgto disable IPMI/DCMI over LAN. On Supermicro: BMC web UI → Configuration → Network → disable IPMI. Deploy within 30 days per noisgate HIGH mitigation SLA. - Isolate all BMCs onto a dedicated management VLAN with no routed path from user or production segments — ACL BMC subnets to allow only jump hosts / bastion IPs. Block UDP/623, TCP/443, TCP/22, TCP/5900 inbound from anywhere else. This is the single highest-leverage control — it neutralizes the entire attack chain at step 1.
- Rotate every BMC password to 20+ char random and store in PAM — CyberArk / HashiCorp Vault / Delinea. This breaks step 4 (offline crack) even if hashes are captured. Enforce rotation on hardware refresh and on IT staff turnover.
- Disable cipher-suite 0 on every BMC — Cipher 0 permits IPMI commands with any password.
ipmitool lan set 1 cipher_privs XXaaaXXaaXXaaXXon affected units. Related but distinct from RAKP hash disclosure — often present on the same BMCs. - Egress-block UDP/623 at perimeter and inspect internally — Add a Suricata/Zeek signature for RAKP Message 1 and 2 traffic patterns. Alert on any IPMI traffic sourced from non-admin VLANs.
- Rotating the OS-level root password — BMC accounts are stored on the BMC's own flash, not the host OS. Zero effect.
- Host-based EDR / CrowdStrike / SentinelOne — the BMC runs on a separate ARM SoC below the OS. Nothing on the host sees BMC traffic or logins.
- Waiting for a firmware patch — there is none and there won't be. The IPMI 2.0 spec mandates the RAKP Message 2 behavior; fixing it means abandoning IPMI 2.0 (Redfish / DMTF replacements).
Crowdsourced verification payload.
Run from an auditor workstation with network reach to the BMC subnet. Requires ipmitool (apt/yum) and unprivileged network access. Invoke as ./check_ipmi.sh 10.0.100.42 (single host) — hashes the RAKP response and reports VULNERABLE if the BMC returns a Message 2 for a synthetic username without valid credentials.
#!/usr/bin/env bash
# noisgate verification: CVE-2013-4786 / Tenable 80101
# IPMI v2.0 RAKP Password Hash Disclosure
# Exit codes: 0=PATCHED (no exposure), 1=VULNERABLE, 2=UNKNOWN
set -u
TARGET="${1:-}"
if [[ -z "$TARGET" ]]; then
echo "usage: $0 <bmc-ip-or-host>" >&2
exit 2
fi
if ! command -v ipmitool >/dev/null 2>&1; then
echo "UNKNOWN: ipmitool not installed" >&2
exit 2
fi
# Step 1: probe IPMI presence on UDP/623
if ! timeout 5 ipmitool -I lanplus -H "$TARGET" -U bogus_noisgate_probe -P bogus \
-C 3 chassis status >/tmp/ipmi_probe.$$ 2>&1; then
:
fi
# ipmitool will produce a specific error string when it received a
# RAKP-2 with a hash for a *non-existent* user vs a real one.
# The vulnerability is present whenever the BMC answers RAKP at all
# with IPMI 2.0. Look for RAKP2 / HMAC evidence.
if grep -qiE "RAKP 2|HMAC|Password Invalid|Unable to establish" /tmp/ipmi_probe.$$; then
echo "VULNERABLE: $TARGET responds to RAKP; hashes obtainable via ipmi_dumphashes"
rm -f /tmp/ipmi_probe.$$
exit 1
fi
# Step 2: fallback — direct UDP probe with nmap NSE if available
if command -v nmap >/dev/null 2>&1; then
OUT=$(nmap -sU -p 623 --script ipmi-version -Pn "$TARGET" 2>/dev/null)
if echo "$OUT" | grep -qi "IPMI-2.0"; then
echo "VULNERABLE: $TARGET advertises IPMI 2.0 (RAKP hash disclosure inherent)"
exit 1
fi
if echo "$OUT" | grep -qi "623/udp open"; then
echo "VULNERABLE: UDP/623 open on $TARGET — verify RAKP support manually"
exit 1
fi
fi
echo "PATCHED: no IPMI 2.0 RAKP response from $TARGET (mgmt segmented or IPMI-over-LAN disabled)"
rm -f /tmp/ipmi_probe.$$
exit 0
If you remember one thing.
Sources
- Tenable Plugin 80101 — IPMI v2.0 Password Hash Disclosure
- NVD — CVE-2013-4786
- Rapid7 AttackerKB — CVE-2013-4786
- Exploit-DB 38633 — IPMI RAKP Remote SHA1 Password Hash Retrieval
- Dan Farmer — IPMI Security research (fish2.com)
- Dell — Data Domain IPMI v2.0 Password Hash Disclosure
- NetApp Security Advisory NTAP-20190919-0005
- A10 Networks Thunder LOM/IPMI Advisory
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.