티스토리 뷰

728x90
반응형

어느 날 시스템에 침투해서 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

 

Brute Force - CheatSheet - HackTricks

nmap -p 1433 --script ms-sql-brute --script-args mssql.domain=DOMAIN,userdb=customuser.txt,passdb=custompass.txt,ms-sql-brute.brute-windows-accounts #Use domain if needed. Be careful with the number of passwords in the list, this could block accounts

book.hacktricks.xyz

728x90
반응형
댓글