1.Enumeration
: Nmap

: Nikto

: Web enum

: register 후 로그인을 하면
다음과 같은 에러 메시지가 뜬다

: 사용 중인 계정 확인

> Register 통해 확인하거나

> 검색 기능

> 가장 확실한 방법으로는

> root / webmaster / michelle / coaran
위 계정 중 로그인이 가능한 계정 두 개 확인


침투 성공!
(어떤 원리인지는 알아야 한다)
3. Privilege Escalation
정확한 버전 확인

누군가의 키가 있고

git으로 접속이 된 상황이라
passwd 파일을 뒤져봐도
UID가 1000번인 사용자는
확인이 안되는데

이유인즉슨

현재 들어온 곳이
docker container이기 때문!
웹에서 찾은 사용자 아이디를 하나씩 시도하면

진짜 접속 성공!
문제 해결을 위해서는
위 두 환경 모두 사용해야
한다!
: 스크립트 확인


> 권한이 없어 zip 파일 내용이나
동일한 내용인 /srv 하위 파일들
내용 확인이 어려우나
확실한 것은


cronjob이 root 권한으로
해당 스크립트를 수행 중
: 직접 /srv/gitlab/logs에 접근해 보면

> 권한이 없어 읽거나(일부 제외) 쓸 수 없지만
해당 경로의 모든 파일(*)을 root가
백업 시키고 있다.
: docker 내 git 컨테이너로 돌아와
마운트 현황을 보면

> /srv/gitlab/logs 디렉터리는
/var/log/gitlab 경로에
마운트 되어 있고
해당 경로로 이동한 뒤
컨테이너 내 git 사용자에게
write 권한이 있는지 확인해 보면

> 대부분 있어 무언가 할 수 있다.
: 공략 순서
> 도커 컨테이너에서
write 권한이 있는 아무 폴더에서
root ssh private key에 심벌릭 링크 걸어두기
> 메인 서버에서 root가 해당 내용이 포함된
모든 git 내부 파일을 backup 시켜 놓을 테니
압축 풀어 확인
> ssh root로 로그인
1) docker container
: write 권한이 있는 폴더 선택 후
root id_rsa 심벌릭 링크 걸기

2) backup.zip 파일 unzip

3) ssh id_rsa 키 정상 마운트 여부 확인 후 루트 로그인


끝
'OSCP > Proving Ground' 카테고리의 다른 글
34. Hunit (GET TO WORK) - Linux (git*, GIT_SSH_COMMAND) (0) | 2022.08.28 |
---|---|
33. Hetemit (GET TO WORK) - Linux(**) (0) | 2022.08.28 |
31. Matrimony (GET TO WORK) - Linux (dig, DNS zone transfer, docker*) (0) | 2022.08.26 |
30. Fail (GET TO WORK) - Linux (rsync, ssh, fail2ban) (0) | 2022.08.25 |
29. XposedAPI (GET TO WORK) - Linux (HTTP request smuggling) (0) | 2022.08.25 |