패스워드를 찾는 것이고, 브루트포스를 하라고 문제에서 알려준다.

htpasswd 파일은 단순했다. 어디서 많이 본 형식인데, linux에서 /etc/shadow 파일이랑 유사한 형식인 것 같다. htpasswd crack이라고 검색하니 역시나 John the Ripper를 사용하라고 나온다.

오랜만에 쓰는 John.. 사용 방법이 낯설다. 정리하자면,


wordlist 만들기

G4HeulB로 시작한다고 하였고, 숫자와 영어 알파벳으로만 구성된다고 하니, 만들어보자.

base = 'abcdefghijklnmopqrstuvwxyz0123456789'
layer1 = layer2 = layer3 = layer4 = layer5 = []
layer1 = list(base)

for i in layer1:
	for j in layer1:
		layer2.append(i+j)

for i in layer2:
	for j in layer1:
		layer3.append(i+j)

for i in layer3:
	for j in layer1:
		layer4.append(i+j)

for i in layer4:
	for j in layer1:
		layer5.append(i+j)

with open(r"FILE_PATH\\wordlist.txt", 'w') as f:
	def write_list(l, base='G4HeulB', f=f):
		for i in l:
			f.write(base+i+"\\n")
	write_list(l=layer1)
	write_list(l=layer2)
	write_list(l=layer3)
	write_list(l=layer4)
	write_list(l=layer5)

비밀번호 획득!