[THM-ctf] RootMe | walkthrough

박소정·2022년 5월 13일
0

tryhackme

목록 보기
5/10
post-thumbnail
post-custom-banner

Try Hack Me CTF: RootMe

A ctf for beginners, can you root me?

Nmap: 포트스캔
-sV: 서비스 버전 정보 확인
22, 80번 두개 열려있고, Apache 버전은 2.4.29이고, 22번 포트에는 ssh 서비스가 가동중이다.

Gobuster 툴을 이용해 hidden directory가 있는지 확인해야한다.

히든 파일을 찾았다.

ip주소 url로 들어가 방금 찾은 히든파일 디렉토리로 들어갔더니 파일 업로드 창이 보인다.

힌트를 보니 해당 파일 업로드창의 php 파일업로드 취약점을 이용해야 할 것 같다. 하기위해 php reverse shell을 이용해야 한다.

https://github.com/pentestmonkey/php-reverse-shell.git
위 주소는 php 리버스 쉘 코드로 유명한 링크이다. 위를 다운받아 사용하겠다.

다운받은 쉘코드에서 ip를 내 머신 ip로 수정한다.


php파일을 업로드하지 못하기 때문에 우회하기 위해서 파일명을 수정하고 업로드했다.
파일 명은 검증 시 우측부터, 실행 시 좌측부터 수행하기 때문!

터미널에서 netcat을 실행해 1234 포트를 열어준다.
그 후 사이트에 들어가서 업로드한 파일을 클릭하면 아래처럼 내가 연 포트로 들어와 리버스 쉘이 실행된다.

User.txt 파일을 찾아야 하니 find 명령어를 사용해서 찾아준다. /var/www위치에 있어 해당 위치로 가 파일을 열어 플래그를 얻을 수 있었다.

다음 문제로는 suid 접근권한 문제로, find / -user root -perm /4000 명령어를 실행하니 /usr/bin/python 파일을 찾게 되었고, gtfobins 사이트에서 python suid를 찾았다.

위에 나오는 대로 검색해 root 권한을 얻는다.

아까처럼 find 명령어로 root.txt 파일의 위치를 찾고 해당 파일을 열어 두번째 플래그를 획득했다.


참고

https://m.blog.naver.com/koromoon/120184122790 : php 리버스쉘 설명
https://h232ch.tistory.com/37 : 업로드 공격 우회
https://bitlog.tistory.com/89 : find 명령어에서 permission denied 제거
https://gtfobins.github.io/


Gobuster?

Gobuster: 웹 모의해킹 과정에서 웹 서비스의 디렉터리 구조와 백업 파일 여부를 확인하는 환경 분석 단계는 중요하다. 수집된 정보에서 과탐여부를 확인한 후에, 인덱싱 취약점, 관리자 페이지 접근 제한, 백업 파일 존재 여부, 솔루션의 테스트 페이지 존재 등을 확인할 수 있다. Gobuster는 go 프로그램 오픈소스 진단 도구로 각 페이지별로 가지고 있는 Dictionary Files로 디렉터리와 파일 존재 여부를 빠르게 검사한다.
사전파일(wordlist Files, Dictionary Files): locate wordlists 명령어를 이용하면 사전파일과 관련된 텍스트 파일이 나열된다. 주로 무작위 대입 공격에 이용된다. 깃허브에서도 사전 파일이 여려 공개되어 있는데 SecLists가 대표적이다.
칼리리눅스 Dictionary file은 /usr/share/wordlists/dirbuster/에 있다. 이 중 적당한 파일을 선택해 url주소와 사전 파일을 함께 실행시킨다. 대부분 directory-list-2.3-small.txt 을 이용한다.
gobuster dir -u URL -w WORDLIST_PATH

출처: https://blog.naver.com/chogar/221724542718, https://m.blog.naver.com/chogar/222295176043


SUID?

Set UID의 약자로, 프로세스가 실행중인 동안 일시적으로 해당 실행 파일의 소유자, 소유 그룹의 권한으로써 자원에 접근할 수 있도록 하는 권한설정이다.
find / -user root -perm /4000 : SUID 파일 검색

post-custom-banner

0개의 댓글