모의해킹 텃밭/vulnhub

vulnhub Jangow: 1.0.1 walkthrough (Jangow: 1.0.1 풀이)

김춘장 2024. 6. 2. 10:16
SMALL

ova 다운로드 사이트 : https://www.vulnhub.com/entry/jangow-101,754/

 

Jangow: 1.0.1

This mentions the name of this release, when it was released, who made it, a link to 'series' and a link to the homepage of the release. It's common for an author to release multiple 'scenarios', making up a 'series' of machines to attack.

www.vulnhub.com

위 사이트에서 ova 파일을 다운로드받고 가져오기를 마치고 해당 ova를 실행하면 아래와 같은 화면이 나온다.

 

 

해당 기기의 IP는 192.168.0.12. nmap 을 통해서 열려있는 포트를 스캐닝한다.

 

21번 ftp 포트와 80번 http 포트가 열려있는 것을 확인. 조금 더 디테일한 정보를 얻기 위해서 다른 옵션을 주고 스캐닝 진행

 

nmap을 통해서 더 얻을 수 있는 정보는 당장에는 없는 것 같으니 열려있는 포트들을 통해서 수동점검부터 진행해보자.

직관적으로 자료를 얻기 쉬운 http 부터 확인해보자. 

 

http://192.168.0.12 접속

눌러볼 수 있는 게 나왔으니까 일단 site/ 디렉토리를 눌러보자. 누르면 해당 사이트로 페이지가 이동된다.

부트스트랩으로 만들어진 간단한 웹 페이지가 표시되고 가운데에 GET STARTED라고 누르고 싶게 생긴 버튼이 있으니

일단 눌러보자.

특별한 정보를 얻을 순 없는 것 같다. 오른쪽 위의 네비게이션 바들도 한번씩 눌러보자.

About 과 Projects 네비게이션을 클릭하였을 땐 스크롤만 내려가면서 해당 위치로 이동되는 것을 확인. Buscar 을 클릭 시 

빈 페이지 화면이 나온다.

 하지만 주소 입력창을 보게되면 php injection 형식을 띄고있는 것을 알 수 있다. 간단한 리눅스 명령어를 입력해보자.

php injection 이 가능한 형식

 

id 명령어를 입력하니 현재 접속되어있는 user 의 정보가 잘 나온다. 그럼 php injection으로 정보를 탈취할 수 있다는 취약점을 발견하였다. /etc/passwd 를 확인하여 다른 계정들의 정보가 있는지 확인해본다.

눈에 띄는 jangow01 이라는 계정을 찾을 수 있다.

이제 kali tool을 이용한 취약점 분석을 시작하자. http 의 숨어있는 디렉토리들을 gobuster, dirb, dirsearch 를 통해 다양하게 스캐닝 해본다.

 

dirb http://192.168.0.12

site 하위에 wordpress 디렉토리 발견. 이게 위에서 본 bootstrap 메인 페이지인걸 확인 가능.
dirsearch 를 통해서 wordpress 안에 config.php 를 발견

해당 config.php 를 일단 실행해보자.

DB 유저인 desafio02 로의 접속이 denied 됬다는걸 알 수 있다. config.php 에 패스워드 설정에 문제가 있는 것 같다. 

아까 php injection이 가능했던 곳에서 해당 파일을 읽어보자. 

 

아무것도 화면에 출력되지 않는다. 페이지 소스보기를 이용하여 해당 내용을 확인할 수 도 있고, burp suite, owasp zap과 같은 프록시 프로그램을 통해서 확인해봐도 된다.

페이지 소스보기
burp suite

확인해본결과 desafio02 라는 DB의 유저이름은 같으나, 패스워드로 설정된 부분이 틀려서 config.php로의 접속이 거부되었던 것 같다. 그럼 저 비밀번호는 어느 유저의 비밀번호일까. 일단 ftp 를 이용해서 아까 찾아놓은 jangow01 의 비밀번호인지 확인해본다.

정상 접속되는 것을 보니 host의 패스워드와 DB 의 패스워드를 혼동한 것 같다. 

ftp를 통하여 파일을 다운로드받거나, 업로드 할 수 있음을 알 수 있다.

 

 

user flag 를 찾아 다운로드 해보자.

user flag 획득! 이제 root shell 을 획득해보자. jangow01 VM으로 가서 얻은 패스워드를 통해 로그인한다.

이 다음 root shell 을 얻기 위해 공격 기법을 찾아보던 중 리눅스 4.4.0-31-generic 에는 CVE:2017-16995 취약점이 존재한다는 것을 알게되었다. exploit-db.com 에서 찾아서 다운로드 받아보자.

https://www.exploit-db.com/exploits/45010

 

Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local Privilege Escalation

Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local Privilege Escalation EDB-ID: 45010 CVE: 2017-16995 Date: 2018-07-10

www.exploit-db.com

컴파일한 jangow 실행

root 획득! 

 

p.s : 항상 새로운 취약한 VM 에 대해 진행 할 때 공격 기법에 대해서 처음 접근하는 부분들이 계속 생기는 것 같다.. 이 부분에 대해서는 어쩔 수 없이 내 자신의 경험 부족, 지식 부족인거 같아서 자꾸 해보고 다른 walkthrough 를 찾아보면서 데이터를 쌓아가는 수 밖에 없는 것 같다. 

LIST