티스토리 뷰
어느 날 시스템에 침투해서 shell 을 획득했습니다. 그런데 root 권한이 아닙니다! 이런! 이제 어쩌면 좋을까요?
어어엇 그런데 정말 엄청나게도 root 권한으로 /etc 디렉터리를 백업한 압축파일을 찾았습니다!
리눅스 시스템에서 /etc 디렉터리에는 passwd 뿐만 아니라 shadow 파일도 있습니다. 이 두 파일을 가지고 패스워드 크랙을 해보려고 합니다.
획득한 shell 로부터 웹 소스코드를 획득한 상태에서 해당 소스코드로부터 root 가 아닌 다른 사용자들의 패스워드를 알게 되었습니다. 근데 패스워드들이 각기 공통점을 가지고 있었는데요.
바로 앞에는 무조건 *(esterisk) 그리고 뒤에는 무조건 !(느낌표) 문자가 있었습니다. 이 규칙에 대입해서 한번 패스워드 dictioinary 파일을 만들어보았습니다.
이 때 사용한 도구로는 crunch 라는 것을 사용했습니다. 대략적인 사용법은 아래와 같습니다.
crunch 4 6 0123456789ABCDEF -o crunch1.txt #From length 4 to 6 using that alphabet
crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha # Only length 4 using charset mixalpha (inside file charset.lst)
@ Lower case alpha characters
, Upper case alpha characters
% Numeric characters
^ Special characters including spac
crunch 6 8 -t ,@@^^%%
- @ 골뱅이는 영어 소문자
- , 콤마는 영어 대문자
- % 퍼센트 기호는 숫자
- ^ 기호는 특수문자
그리고 crunch 명령어 다음에 오는 첫번째 숫자는 최소 문자 길이를 의미하고 다음에 오는 숫자는 최대 길이를 의미합니다.
예를 들어 제가 만들고자 하는 비밀번호는 아래와 같다고 가정하면,
*aaaa!
*aaab!
*aaac!
...
명령어를 아래와 같이 만들면 됩니다.
crunch 6 6 -t *@@@@! -o crunch.txt
정확히 여섯 자리 문자를 가진 *로 시작하고 !로 끝나며 그 가운데는 소문자 알파벳인 경우를 모두 산정해서 password dictionary 파일을 만들어줍니다.
crunch 도구는 sudo apt-get install crunch 로 다운 받고 설치할 수 있으며, Kali Linux 에는 기본적으로 설치되어 있습니다.
crunch 외에도 이와 유사한 기능을 해주는 다양한 도구들이 있고, 프로그래밍 언어로 작성된 Script도 존재합니다.
아래 URL에서 참고해보실 수 있습니다.
https://book.hacktricks.xyz/generic-methodologies-and-resources/brute-force
'도구 > Tools' 카테고리의 다른 글
[John The Ripper] /etc/shadow 파일 크래킹하는법 (0) | 2023.04.29 |
---|---|
[Recon] 특정 도메인에 어떤 URL/Path가 있는지 확인하고 싶다면? Wayback Machine (0) | 2023.04.24 |
[webp converter] png나 jpeg 이미지 포맷을 webp 포맷으로 변경하는 방법 (0) | 2022.04.26 |
[AWS] PuTTY를 사용하여 Windows에서 Linux 인스턴스에 SSH연결하는 방법 (0) | 2022.04.06 |
[apk-mitm] APK 파일 SSL/TLS pinning 우회 및 기능 없애는 방법 (2) | 2022.03.18 |