제일 먼저 상대 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을 마쳤다.
'Hacking > Hacking Beginner Class (normaltic)' 카테고리의 다른 글
[해킹 비기너 클래스] 7주차 정리 (post-exploit) (0) | 2023.09.04 |
---|---|
[해킹 비기너 클래스] 6주차 Practice (Task 5) (0) | 2023.08.30 |
[해킹 비기너 클래스] 6주차 정리 (익스플로잇) (0) | 2023.08.23 |
[해킹 비기너 클래스] 5주차 정리 (정보수집) (0) | 2023.08.17 |
[해킹 비기너 클래스] 4주차 Practice (0) | 2023.08.11 |