Unhide
Détecte les processus et ports TCP/UDP cachés en croisant plusieurs sources d'information telles que /proc, les syscalls et netstat, utilisé pour trouver des rootkits. Detects hidden processes and TCP/UDP ports by cross-checking multiple information sources such as /proc, syscalls, and netstat, used to find rootkits.
↗ https://www.kali.org/tools/unhide/Overview
Unhide finds processes and network ports that are hidden from standard tools like ps or netstat — a common symptom of a userland or kernel rootkit hooking those interfaces to hide itself. It works by comparing multiple independent sources of truth (/proc, raw syscalls, ps output, procfs, and for ports, actual socket bind attempts vs what netstat reports) and flagging discrepancies.
Common Usage
Detect hidden processes (full check, all techniques)
unhide proc
Faster process check using the sys strategy only
unhide sys
Combined brute-force check (most thorough, slower)
unhide brute
Detect hidden TCP ports
unhide-tcp
Detect hidden UDP ports
unhide-udp
Rootkit Triage Workflow
- Run a full process check on a suspect host
unhide brute
# 2. Cross-check network listeners
unhide-tcp
unhide-udp
# 3. If discrepancies are found (PID visible to syscalls but not ps),
# investigate the process further with lsof, /proc/<pid>/exe, etc.
lsof -p <hidden_pid>
ls -la /proc/<hidden_pid>/exe
Tips
unhide bruteis the most reliable mode but also the slowest and noisiest — runsysfirst for a quick check.- False positives can occur around processes that exit between check phases (race conditions); re-run to confirm.
- Pair with
chkrootkitorrkhunterfor broader rootkit signature coverage alongside Unhide’s differential detection approach.
Help / Man page
unhide [options] {sys|brute|proc|procall|checkopen|reverse}
sys Compare process info via syscalls vs /proc
brute Brute force PID space (most thorough, slowest)
proc Compare /proc vs ps/ls output
procall All /proc-based checks combined
checkopen Check for hidden processes via open file descriptors
reverse Reverse-search for hidden PIDs
Options:
-f Also perform quick check (faster, less thorough)
-v Verbose output
-m Test all methods
unhide-tcp [options]
Detects hidden TCP ports by comparing bind() results to netstat
unhide-udp [options]
Detects hidden UDP ports by comparing bind() results to netstat
Vue d’ensemble
Unhide trouve les processus et ports réseau cachés des outils standards comme ps ou netstat, un symptôme courant d’un rootkit userland ou kernel qui hooke ces interfaces pour se cacher. Il fonctionne en comparant plusieurs sources de vérité indépendantes (/proc, syscalls bruts, sortie de ps, procfs, et pour les ports, les tentatives réelles de bind de socket par rapport à ce que rapporte netstat) et signale les divergences.
Utilisation courante
# Détecter les processus cachés (vérification complète, toutes techniques)
unhide proc
# Vérification de processus plus rapide avec uniquement la stratégie sys
unhide sys
# Vérification combinée par brute-force (la plus complète, la plus lente)
unhide brute
# Détecter les ports TCP cachés
unhide-tcp
# Détecter les ports UDP cachés
unhide-udp
Workflow de triage de rootkit
# 1. Lancer une vérification complète des processus sur un hôte suspect
unhide brute
# 2. Croiser avec les listeners réseau
unhide-tcp
unhide-udp
# 3. Si des divergences sont trouvées (PID visible par syscalls mais pas par ps),
# investiguer davantage le processus avec lsof, /proc/<pid>/exe, etc.
lsof -p <hidden_pid>
ls -la /proc/<hidden_pid>/exe
Conseils
unhide bruteest le mode le plus fiable mais aussi le plus lent et le plus bruyant : lancersysen premier pour une vérification rapide.- Des faux positifs peuvent survenir autour de processus qui se terminent entre les phases de vérification (conditions de course) ; relancer pour confirmer.
- Associer à
chkrootkitourkhunterpour une couverture de signatures de rootkit plus large en complément de l’approche de détection différentielle d’Unhide.
Aide / Page de manuel
unhide [options] {sys|brute|proc|procall|checkopen|reverse}
sys Compare process info via syscalls vs /proc
brute Brute force PID space (most thorough, slowest)
proc Compare /proc vs ps/ls output
procall All /proc-based checks combined
checkopen Check for hidden processes via open file descriptors
reverse Reverse-search for hidden PIDs
Options:
-f Also perform quick check (faster, less thorough)
-v Verbose output
-m Test all methods
unhide-tcp [options]
Detects hidden TCP ports by comparing bind() results to netstat
unhide-udp [options]
Detects hidden UDP ports by comparing bind() results to netstat