TCP 포트 스캔 

 

 

/etc/hosts 파일에 IP + 도메인명 추가

 

 

웹 페이지 접속

 

 

 

 

회원가입하려면 초대 코드가 있어야 함

/invite 페이지 요청 시에 로드되는 js 파일에서 난독화된 함수 발견

inviteapi.min.js

 

 

 

 

난독화된 코드를 복원함(일부)

function makeInviteCode() {
    $.ajax({
        type: "POST",
        dataType: "json",
        url: '/api/v1/invite/how/to/generate',
        success: function(response) {
            console.log(response);
        },
        error: function(response) {
            console.log(response);
        }
    });
}

 

 

'/api/v1/invite/how/to/generate' 경로에 POST로 요청을 보내면 아래와 같은 응답이 돌아옴

복호화하면         →  In order to generate the invite code, make a POST request to /api/v1/invite/generate

 

 

 

하라는대로 요청을 보내면 초대 코드를 얻을 수 있다

 

 

 

디코딩해야함

 

 

 

해당 초대 코드 입력하면 /register 페이지 접근 됨

 

 

 

로그인 ㄱ

 

"Connection Pack"은 Labs > Access 에 있음

클릭하면 '/api/v1/user/vpn/generate'에 요청 보냄

 

 

 

 

'/api/v1' 경로에 요청을 보내면 하위 앤드포인트 경로 목록이 응답으로 옴

 

 

 

 

/api/v1/admin/ 의 경로에 있는 엔드포인트에 하나씩 들어가봤다

 

 

 

/api/v1/admin/settings/update 엔드포인트에서 권한을 변경할 수 있을 것 같다

 

 

 

POST도 안되는 걸 보니, PUT 메서드로 추측

content-type 헤더 추가 필요

 

 

email 파라미터가 필요한 듯

 

 

is_admin 파라미터도...

 

 

성공한 듯?

 

 

auth 엔드포인트에서 확인한 결과, 권한 상승에 성공한 것 같다

 

 

 

 

이제 아직 사용하지 않은 /api/v1/admin/vpn/generate 엔드포인트를 사용해보자

 

 

얘도 아까와 같은 방법으로 필요한 파라미터를 찾는다

 

 

 

이 엔드포인트에 command injection 취약점이 존재한다고 함

 

 

 

;로 명령어를 추가하고  "#으로 주석처리

 

 

 

php 애플리케이션에서 환경 변수 값을 저장하는 파일은 보통 .env 

.env 에서 admin 계정의 패스워드 확인 가능

 

 

 

 

ssh로 접속 ㄱ

 

 

 

flag 확인

 

 

 

 

 

권한 상승

 

메일이 왔다는디요

 

 

 

/var/mail/admin 파일에서 송신자 확인 가능

메일 내용을 보면, 현재 사용하고 있는 버전의 리눅스 커널에 심각한 CVE 취약점이 나온 것 같다

 

 

☞  CVE-2023-0386

https://github.com/sxlmnwb/CVE-2023-0386

 

 

파일 다운로드 받아서 공격 대상으로 보냄

 

 

 

깃에 적혀있는대로 공격 수행

권한 상승 성공

서로 다른 터미널에서 진행

 

 

root flag 화긴

 

 

 

+ Recent posts