[转载]Linux密码破解
来源:互联网 发布:数据采集处理 dsp fpga 编辑:程序博客网 时间:2024/05/16 11:40
root权限登入后获得/etc/shadow文件之后文本打开
shadow 文件:
在linux系统中, /etc/shadow 文件存放着用户的密码哈希值。
shadow中存放的密码密文格式如下:
$id$salt$encrypted
其中id是指使用的哈希算法:
可取如下值:
ID | Method
--------------------------
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
salt:是使用上面hash算法对密码进行hash的一个干扰值。
encrypted:
这个值即 密码的hash, 但不是直接的hash("passwd"),而是hash("passwd+salt")后,再经过编码。
实际应用:
1. 在有shadow文件的前提下暴力破解(也只能暴力破解)用户密码
2. 实现自己的passwd命令。某种场景下是很有用的(在云计算中,可以方便的为使用同一模板的linux虚拟机生成不同密码)
示例:
该程序使用linux 系统中的crypt函数生成可替换shadow中密码域中的密码hash。
#define _XOPEN_SOURCE
#include <stdio.h>
#include <unistd.h>
//crypt 使用方式参见man crypt
//exemple:
//./bin password $6$ffffffff
int main(int argc, char *argv[])
{
if(argc!=3)
return -1;
char *buf = crypt((const char *)argv[1], (const char *)argv[2]);
printf("salt: %s, crypt: %s\n", argv[2], buf);
return 0;
}
编译方法:gcc a.c -lcrypt -o passwd
使用: ./passwd 123 \$6\$abcdefgh
会输出:
salt: $6$abcdefgh, crypt: $6$abcdefgh$sNmFESeRuFG3asLlnZJwXSxrybA0XIDpk90fLJ9Cmzn6iJiSdKoKIKr5oVHlvQoAubV22YLUGcTVztOLfZM9g0
使用$6$abcdefgh$sNmFESeRuFG3asLlnZJwXSxrybA0XIDpk90fLJ9Cmzn6iJiSdKoKIKr5oVHlvQoAubV22YLUGcTVztOLfZM9g0 替换shadow 文件中你要修改的用户中的密码域,密码便自动修改成了123。
shadow文件的格式:
具体可参考这里:http://www.tldp.org/HOWTO/Shadow-Password-HOWTO.html
crypt 使用方法:
参见: man crypt
原文出处http://hi.baidu.com/gzlick/item/fdedea7b45517a2c5d1789e0
- [转载]Linux密码破解
- Linux 系统密码破解
- Linux虚拟机密码破解
- linux破解密码
- Linux 系统密码破解
- linux密码破解
- LINUX 忘记密码 破解
- Linux 破解密码
- Linux破解root密码
- linux root 密码破解
- RedHat-Linux密码破解
- Linux & Unix 密码破解
- 如何破解linux密码
- 破解linux root密码
- Linux下破解密码
- 嵌入式Linux密码破解
- linux密码破解
- 破解linux root密码
- 回调设计模式
- android实例之——调用android系统相机、系统相册,并对得到的图片进行处理
- POJ 3071 Football (概率DP)
- 读书笔记-剑指offer 面试题3
- 水木机器学习
- [转载]Linux密码破解
- Android应用程序开机启动
- 程序员常去的一百个网站
- 新生活的开始
- 去除CAJviewer右上侧的广告栏位去除CAJviewer右上侧的广告栏位
- 函数返回类型为指针类型时的一些问题
- LeetCode-Binary Tree Level Order Traversal II
- 运算符重载规则
- 杀死ajax请求