이전 포스트에서 shadow 파일에대해 살펴봤는데
openssl로 다음과같이 shadow에 MD5로 생성되는 같은 단락(?)을 만들수 있다
openssl passwd -1 -salt salt testpasswd
$1$salt$GjASc4pDEk5p9FgnhQbfW/
salt 값이 어떻게 들어가는지 알아보기위해 openssl 라이브러리의 apps/passwd.c 를 살펴보았다. 살펴볼 함수는
static char *md5crypt(const char *passwd, const char *magic, const char *salt)
으로 인자로 패스워드, 매직값(1,apr1) , salt 값 을 받음을 알수있다.
먼저 “[PASSWD][SALT][PASSWD]” 로 MD5 로 해싱을 하고
“[PASSWD]$[MAGIC]$[SALT]”이랑 위 해시값이랑 적절하게 섞어서 그걸또 1000번 더 해싱하던데
자세한건 직접 소스 보는게 좋을꺼같다. (볼일도 없을거같지만)
으으 존더리퍼 만세 …