Google Is Your Friend
Difficulty: Begginer
"Remember using 'strings'"
Twitter: @ArmBjorn
Work in Virtualbox.
Get root permissions
목표
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가 있는 것을 확인할 수 있다.
일단 대상 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 계정으로 접속이 가능하다.
접속한 상태에서 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로 풀어보면 유튜브 링크가 나온다.