[VULNHUB]WHO WANTS TO BE KING: 1 write up

zzsla·2025년 6월 15일

문제

Google Is Your Friend

Difficulty: Begginer

"Remember using 'strings'"

Twitter: @ArmBjorn

Work in Virtualbox.

Get root permissions

Reconnaissance

목표
Get root permissions
root 권한 획득

힌트
Google Is Your Friend
"Remember using 'strings'"
구글에 검색하라는 것과 strings을 사용하라는 내용같다.

일단 nmap으로 192.168.184.0/24에 ping scan을 해서 대상 ip를 확인한다.

nmap -sn 192.168.184.0/24

192.168.184.0/24는 내 VMware 범위인데 여기서 192.168.184.131은 현재 내 kali ip이고(이건 ifconfig를 통해 확인할 수 있다.) 192.168.184.130이 대상 ip인 것을 확인할 수 있다.

이번에는 포트 스캔을 통해 좀 더 확인해 보도록 한다.

nmap -sS -p - 192.168.184.130 --min-rate 1000 

모든 포트 대상으로 syn scan을 해서 확인하고 초당 1000 패킷보다 빠르게 보내도록 설정된 거다.

확인해 보니 포트가 22(ssh), 80(http)번 포트가 열린 것을 알 수 있다.

그리고 해당 포트의 서비스 버전 확인 및 스크립트를 돌려서 좀 더 정보를 획득한다.

nmap -sV -sC -p 22,80 192.168.184.130 --min-rate 1000

확인해 보니 22번 포트 ssh는 OpenSSH 8.2p1이고, 80번 포트 http는 apache/2.4.41이 돌아가고 있다. 그리고 http에는 skeylogger가 있는 것을 확인할 수 있다.

Initial Access

일단 대상 ip가 80번 포트가 열려 있으니 접속해 본다.

접속하면 이렇게 skeylogger 파일이 존재하는 것을 알 수 있다. 파일을 누르면 skeylogger가 다운로드된다.
이제 해당 파일을 열어보면 elf 파일인 것을 알 수 있다.

vi skeylogger

분석을 해 볼 수도 있겠지만 일단 힌트인 strings을 사용해서 문자열들을 확인해 보도록 한다.

strings skeylogger

문자열들을 보다 보면 skeylogger의 옵션을 설명하는 문자열들을 확인할 수 있고, 버전도 0.0.1인 것을 알 수 있다. 그리고 ZHJhY2FyeXMK라는 암호도 확인할 수 있다.

여기서 좀 막히긴 했다. skeylogger로 뭔가를 해야 하는지 찾다가 ZHJhY2FyeXMK라는 암호를 풀기로 했다. ZHJhY2FyeXMK는 base64로 된 암호이다. 그래서 base64 명령어를 이용해서 암호를 풀어 본다.

base64 -d <<< ZHJhY2FyeXMK

dracarys라는 단어를 얻었다.
저 단어가 뭔지 모르기 때문에 google에서 찾아보도록 한다.

찾아보니 왕좌의 게임에서 나오는 단어로 Daenerys가 사용한다고 나온다.(dracarys는 용의 불이라는 의미라고 한다.)
사실 그리고 대상ip 가상환경 구성할 때 daenerys을 확인했었다.

이제 daenerys:dracarys로 접근이 가능한지 ssh를 이용해서 확인해 본다.

ssh daenerys@192.168.184.130
dracarys

그러면 daenerys 계정으로 접속이 가능하다.

Discovery

접속한 상태에서 ls를 해 보면 눈에 띄는 secret이라는 파일을 확인할 수 있다.

secret파일 내용을 확인해 본다.

find home, pls 라는 문자열이 나오는데 솔직히 잘 모르겠다. home 디렉토리는 이미 들어와 있고, root쪽은 권한으로 접근하지 못하기 때문에 어떤 home을 의미하는지 모르겠다.
일단 뭔가를 찾으라는 것 같아서 현재 위치에서 나머지 디렉토리(Desktop, Downloads, 등)를 확인했지만 나오는 것이 없었다.
그러다가 흥미로운 파일을 발견했다.

바로 .bash_history라는 파일인데 무슨 명령어들이 사용했었는지를 알 수 있다.

확인해 보면 .local/share/로 이동해서 djkdsnkjdsn이란 파일을 지웠다는 것을 알 수 있다.
그래서 한 번 .local/share/를 이동해 본다.

파일들을 확인해 보면 djkdsnkjdsn파일은 없다. 하지만 daenerys.zip 파일이 있는데 한 번 압축을 풀어본다.

unzip daenerys.zip

압축을 풀고 보면 djkdsnkjdsn파일이 나온 것을 알 수 있다.
해당 파일을 확인해 보면 note.txt 파일 위치를 알려준다.

이번에는 note.txt 파일을 확인해 본다.

확인해 보면 I'm khal.....이라는 문자열을 확인할 수 있다. 처음에는 저게 root의 패스워드인가 싶어서 넣어봤지만 아니였다.(root:I'm khal.....)(root:khal)

이름이 이상한 게 한 번 더 google에서 찾아봤다.

이름이 khal drogo인 것을 알 수 있다. 문자열을 맨 뒤에 .을 보면 5개인 것을 보면 khaldrogo라고 입력해야 할 거 같다.
그래서 (root:khaldrogo)로 접근해 본다.

su root
khaldrogo

root 권한으로 접속을 했다. 이제 root의 home 디렉토리로 간다.

home 디렉토리에는 nice.txt 파일이 있는데 확인하면 문제를 풀었다는 것을 알 수 있다.
aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1nTjhZRjBZZmJFawo=는 base64로 풀어보면 유튜브 링크가 나온다.

profile
[README]newbi security hacker :p

0개의 댓글