[normaltic 비기너 클래스 1기] 2023-08-16 Skill Course 2주차 과제 Task 5

2023. 9. 27. 12:06normaltic 비기너 클래스 1기/과제

https://securityhacker.tistory.com/entry/normaltic-%EB%B9%84%EA%B8%B0%EB%84%88-%ED%81%B4%EB%9E%98%EC%8A%A4-1%EA%B8%B0-2023-08-09-Skill-Course-1%EC%A3%BC%EC%B0%A8-%EA%B3%BC%EC%A0%9C

 

[normaltic 비기너 클래스 1기] 2023-08-09 Skill Course 1주차 과제

Proxy 서버 프록시 서버는 클라이언트에서 서버로 접속 혹은 요청할 때 또는 반대의 경우에 중간에서 대신 전달해 주는 중간자 역할을 하는 서버를 뜻한다. 절차는 다음과 같다. 클라이언트에서

securityhacker.tistory.com

 

Task 5는 Skill Course 1주차 과제와 같다. 그래서 1주차 과제에서는 쉘 획득까지 진행했으므로 이번에는 권한 상승까지 진행한다.

 

Task 5 

 

 

nc -nlvp 7777
python -c "import pty;pty.spawn('/bin/bash')"

 

임의의 파일을 업로드 할 수 있는 취약점 공격을 시행하여 리버스 쉘 파일을 업로드 후 쉘을 획득한 상황이다. 

 

 

cd ~
ls -al
cd wolfcms
ls -al

 

우선 현재 계정의 홈 디렉터리로 이동하여 어떤 파일들이 있는지 확인한다. 홈 디렉터리에서 wolfcms 디렉터리가 있는 것을 확인했고 해당 디렉터리로 이동하여 파일 리스트를 출력한다. 

 

 

cat config.php

 

출력된 파일 리스트에서 눈에 띄는 파일이 있다. 그것은 config.php파일로 config라는 이름이 붙은 파일은 꼭 살펴보는 것이 좋다. config.php파일의 정보를 출력했더니 DB 계정과 비밀번호를 얻을 수 있었다. root라는 이름과 john@123라는 암호이다.

 

 

mysql -u root -p

 

mysql 명령어로 획득한 DB 계정 정보를 이용하여 데이터베이스에 접속한다. 

 

 

show databases;
use mysql;
show tables;

 

어떤 스키마들이 있는지 확인한 결과 mysql이라는 스키마가 있는걸 확인하였다. mysql 스키마에서 어떤 테이블들이 있는지 확인해 보았다. 출력된 테이블 리스트에서 user라는 테이블을 확인해 볼 필요가 있을 것 같다.

 

 

select * from user;

 

user 테이블을 조회해본 결과 계정 정보를 얻을 수 있었다. 나열된 계정들 중 계정이름이 sikos이고 해시화된 비밀번호가 *A7A20B93EC076311A63BF86B5C705B25C054DD77인 계정을 찾을 수 있었다. 이제 이 정보를 가지고 크리덴셜 스터핑 공격을 진행한다. 우선 해시화된 비밀번호를 먼저 크랙킹 한다.

 

 

인터넷에서 해시 크래커 기능을 가진 홈 페이지를 이용하여 비밀번호가 john@123이라는 것을 얻을 수 있었다. 이제 이 정보를 가지고 ssh접속을 시도해 본다.

 

 

ssh sickos@10.10.236.247

 

ssh로 sickos계정으로 공격대상 시스템에 접속을 하였다.

 

 

sudo -l
sudo su root

 

해당 계정에서 사용할 수 있는 sudo 명령이 무엇이 있는지 확인하였다. 확인 결과 root 계정으로 모든 명령을 사용할 수 있다는 걸 확인하였다. 이 정보로 sudo su root명령어를 사용하여 root 계정으로 전환이 가능하여 root 권한을 얻을 수 있었다.