Credential Hunting in Linux

Credential Hunting in Linux

Hunting for credentials is one of the first steps once we have access to a system. These low-hanging fruits can give us elevated privileges within seconds or minutes.

Credential Storage Categories

Files

History

Memory

Key-Rings

Configs

Logs

Cache

Browser stored credentials

Databases

Command-line History

In-memory Processing

Notes

Scripts

Source codes

Cronjobs

SSH Keys

Common Search Patterns

# General password search
find / -type f -exec grep -l "password" {} \;

# Config files search
find / -name "*.config" -o -name "*.conf" -type f -exec grep -l "pass" {} \;

# Hidden files
find / -name ".*" -type f -exec grep -l "secret" {} \;

Files

Configuration Files

Databases

Notes and Text Files

Scripts

Cronjobs

SSH Keys

History

Bash History

Logs

Important log files to check:

Log File

Description

/var/log/messages

Generic system activity logs

/var/log/syslog

Generic system activity logs

/var/log/auth.log

(Debian) All authentication related logs

/var/log/secure

(RedHat/CentOS) All authentication related logs

/var/log/boot.log

Booting information

/var/log/dmesg

Hardware and drivers related information and logs

/var/log/kern.log

Kernel related warnings, errors and logs

/var/log/faillog

Failed login attempts

/var/log/cron

Information related to cron jobs

/var/log/mail.log

All mail server related logs

/var/log/httpd

All Apache related logs

/var/log/mysqld.log

All MySQL server related logs

Search logs for sensitive information:

Memory and Cache

Using Mimipenguin

Using LaZagne

Browser Credentials

Firefox Stored Credentials

Decrypting Firefox Credentials

Common Credential Storage Locations

Component
Location
Commands/Methods
What to Look For

WiFi

/etc/NetworkManager/system-connections/

cat *.nmconnection

psk= field

wpa_supplicant

/etc/wpa_supplicant/wpa_supplicant.conf

cat wpa_supplicant.conf

psk= entries

Libsecret

~/.local/share/keyrings/

secret-tool search

Stored passwords

KWallet

~/.kde/share/apps/kwallet/

kwallet-query -l

KDE stored credentials

Chromium

~/.config/chromium/Default/

sqlite3 Login\ Data

Login data, cookies

CLI History

~/.bash_history, ~/.zsh_history

history | grep -i pass

Plaintext passwords

Mozilla

~/.mozilla/firefox/*.default/

strings key4.db

Login credentials

Thunderbird

~/.thunderbird/*.default/

cat key4.db

Email credentials

Git

.git/config, ~/.gitconfig

git config --list

Repository credentials

Env Variables

/etc/environment, ~/.bashrc

env | grep -i pass

API keys, tokens

GRUB

/etc/grub.d/, /boot/grub/

cat grub.cfg

Boot passwords

Fstab

/etc/fstab

cat /etc/fstab

Mount credentials

AWS

~/.aws/credentials

cat credentials

Access keys

Filezilla

~/.filezilla/filezilla.xml

cat filezilla.xml

FTP credentials

GFTP

~/.gftp/bookmarks

cat bookmarks

FTP logins

SSH

~/.ssh/

cat config, id_rsa

Keys, known hosts

Apache

/etc/apache2/

cat .htpasswd

Web credentials

Shadow

/etc/shadow

cat /etc/shadow

Password hashes

Docker

~/.docker/config.json

cat config.json

Registry auth

KeePass

*.kdbx files

keepass2john

Database passwords

Sessions

/var/lib/php/sessions/

cat sess_*

PHP session data

Keyrings

/etc/default/keyrings/

gnome-keyring-daemon

Stored passwords

Last updated