본문 바로가기
Hacking/Hacking Beginner Class (normaltic)

[해킹 비기너 클래스] 6주차 Practice (Task 4)

by st-og 2023. 8. 29.

제일 먼저 상대 pc에서 어떤 포트가 열려있는지 확인하기 위해 nmap을 통한 포트스캔을 해보자

 

nmap -sCV -O [ip주소]

 

포트스캔 결과

22번 포트 ssh와 80번 포트 웹서버, 3306번 포트의 db가 있는 것을 확인할 수 있다.

 

웹 서버가 열려 있는 것을 확인했으니 들어가서 다른 유용한 정보가 있는지 확인해 보자

 

 

웹사이트에 접속을 해보니 qdPM 9.2를 사용하는 웹 사이트인 것을 확인할 수 있다.

 

그럼 qdPM 9.2의 취약점이 있는지 확인을 해보자

취약점을 알아보기 위해서는 searchsploit 을 사용하면 된다.

 

 

비밀번호 노출 취약점이 있는 것을 확인했고 해당 파일을 열어 자세히 알아보자

해당 파일은 /usr/share/exploits/exploitdb/[Path에 해당하는 경로]에 있다.

 

 

 

해당 경로의 파일에 패스워드가 저장되어 있음을 알려준다.

 

해당 파일의 경로로 접속을 해보면 yml파일을 다운로드할 수 있는데 확인을 해보면

 

 

mysql의 username과 password를 확인할 수 있다.

여기서 얻은 정보로 mysql 서버에 접속해 보자

 

mysql -h [서버주소] -P [포트번호] -u [username] -p

 

성공적으로 db 서버에 접속이 되었다.

 

db의 구성을 알아보기 위해 show databases; 명령어를 입력해 보자

 

 

여기서 가장 눈에 띄는 건 staff DB다

직원 정보를 여기에 저장했을 것이고

직원의 계정을 알아낼 수 있다면 서버를 조금 더 쉽게 장악할 수 있을 것이다.

 

staff DB의 정보를 확인해 보자

 

 

 

5명의 user가 있고 해당 유저들의 비밀번호가 인코딩 되어 저장되어 있음을 확인할 수 있다.

 

여기서 중요한 것은 모든 password가 ==으로 끝나는데 이럴 경우 base64로 인코딩 되었을 확률이 높다는 것이다

해당 password를 base64로 디코딩해 보자

 

 

문자열이 깨지지 않고 제대로 디코딩된 것을 확인할 수 있다.

 

모든 password를 디코딩해서 각 유저별로 정리를 하게 되면 이러한 표로 정리할 수 있다.

 

userid username password
1 Smith X7MQkP3W29fewHdC
2 Lucas suRJAdGwLp8dy3rF
3 Travis DJceVy98W28Y7wLg
4 Dexter 7ZwV4qtg42cmUXGX
5 Meyer cqNnBWCByS2DuJSy

 

해당 정보를 가지고 ssh 접속을 해보자

 

1번 2번 유저는 ssh 접속이 불가능 하지만 Travis 계정으로 ssh 접속이 가능한 것을 확인할 수 있다.

 

 

웹 사이트의 정보를 확인하기 위해 /var/www/html 경로로 들어가 보자

 

 

웹 서버의 모든 정보를 확인할 수 있고 성공적으로 exploit을 마쳤다.