Hack The Box의 Traceback Machine에 대해 다루는 글입니다. 해당 Machine의 IP 정보는 Machine의 dashboard에서 볼 수 있고 IP 정보를 기반으로 nmap으로 포트 스캐닝을 수행해봅니다.
http 80, ssh 22이 open 되어 있습니다. http 접속 시 다음과 같은 화면이 웹 페이지에 표시됩니다.
페이지 소스를 살펴봤을 때
"Some of the best web shells that you might need"라는 주석이 달려 있습니다. 웹 쉘을 업로드할 페이지를 찾을 수도 있겠지만 gobuster로 Directoy Name Brute Forcing을 했을 때 나타나는 정보가 없었기에 빨간색인 글씨에 구글에 검색한 결과 github에서 웹 페이지를 공격할 때 사용할 수 있을 것 같은 저장소를 찾을 수 있었습니다.
해당 저장소에서 받은 디렉터리 안에 여러 php 파일이 포함되어 있고 이 파일들을 이용해 Request 한 파일이 해당 서버에 존재하는 파일인지 알 수 있는 스크립트를 작성해 수행한 결과 smevk.php 파일이 Response 됩니다.
smevk.php 파일로 접속한 결과 User Name과 Password를 요구합니다.
해당 User Name과 Password에 넣을 값은 smevk.php 파일 안에 정보가 있습니다.
admin:admin 인 걸 알았으니 해당 UserrName과 auth_pass 값을 입력해 로그인하면 Web Shell이 있는 인터페이스를 확인할 수 있습니다.
User 이름을 알고 있으니 ssh-keygen을 통해 id_rsa.pub 파일을 생성하고 '/home/webadmin/. ssh/authorized_keys'에 넣어주면 webadmin 계정으로 ssh 접속을 했을 경우 webadmin 계정에 대한 Password 인증 없이 접속이 가능할 것입니다.
위와 같이 webadmin에 대한 계정 권한으로 ssh 접속이 가능했습니다.
note.txt에 있는 내용을 확인해 준 뒤에 관리자 권한으로 실행할 수 있는 프로그램이 어떤 것이 있는 "sudo -l" 명령어로 조사합니다. keyword는 "Lua" , "luvit"인 것처럼 보입니다 note.txt에는 Lua가 있고 우리는 Lua라는 게 프로그램 언어의 하나라는 사실을 알고 있습니다. luvit이라는 프로그램 이름만 봐서는 Lua인지는 확인은 못하나 Lua를 이용해 권한상승이 가능한지 구글링으로 알아본 뒤 다음과 같이 권한 상승을 시도해봅니다
sysadmin 계정으로 shell을 획득했습니다 user.txt는 sysadmin의 /home/sysadmin 에 있으니 찾아보시면 되겠습니다. 계속해서 root.txt의 flag를 찾기 위해 linpeas.sh를 이용해 조사해봅시다.
소유주가 root인데 소유 그룹이 sysadmin이네요 motd는 이름에서 알 수 있듯이 로그인했을 경우 쉘에 나타나는 메시지를 담아두는 곳입니다
shell 명령어 있는 것으로 보아 이곳에 /root/root.txt의 내용을 출력하는 명령어를 입력하면 될 것으로 보입니다.
위와 같이 추가해준 다음 아래와 같이 ssh로 webadmin에 대해 다시 ssh 로그인을 하면 root.txt에 있는 내용을 읽을 수 있습니다.
root.txt의 내용까지 읽을 수 있게 됐습니다.
#OSINT #SSH-KEYGEN #Web-Shell # LINPeas #Guessing_DIRNAME
'Pentest > HackTheBox' 카테고리의 다른 글
HackTheBox OpenVpn 연결에러 (0) | 2023.06.18 |
---|---|
[HackTheBox]: Cap (0) | 2021.07.25 |
[HackTheBox] : Templated (0) | 2020.10.25 |
[HackTheBox] : Register (0) | 2020.10.18 |