EMPIRE: LUPINONE
1. IP 정보 확인
- Kali IP: 192.168.50.50
- 타겟 IP: 192.168.50.54
2. 서비스 정보 확인
- Open Service: SSH, HTTP
- OS: 리눅스
3. HTTP 접근
- 메인 페이지 접근 시, 단순 이미지 페이지 확인
- 헤더 및 Source Code 내 특이사항 없음
4. 하위 디렉터리 검색
- dirbuster 툴을 사용한 스캔
1) manual 디렉터리 확인
- manual 디렉터리 접근 시 /en/index.html로 리다이렉트
* 중간 경로 en 은 언어(영어) 정의
* Apache 취약점(CVE-2021-42013) Poc 등을 사용했으나 특이사항 없음
2) robots.txt 파일 확인
* ~myfiles 경로에 대한 정보를 통해 접근했으나 404 Error
* 파일은 찾지 못햇지만, 제작자의 응원은 발견 :)
5. 하위 경로 재탐색
- 제작자의 응원을 바탕으로 '~파일명'에 대한 경로 재탐색
- ffuf 툴 사용(디렉터리 검색, 퍼징 등을 수행하는 fest web fuzzer)
* -u 옵션은 대상 경로 지정 / FUZZ 위치에 임의값 삽입
* -w 옵션은 FUZZ 위치에 삽입할 문자열 목록
* -fc 옵션은 403 Error인 경우 출력 무시
6. ~secret 파일 접근
- 여기 어딘가에 SSH 개인키 파일이 숨겨져 있음(여기는 /secret/ 디렉터리겠지..!?)
- 나의 베프는 icex64
7. 숨겨진 SSH 개인키 파일 탐색
* /~secret/ 디렉터리 내 이것 저것 스캔 중 SSH 개인키로 보이는 .mysecret.txt 파일 확인
8. ssh 접근 시도
- .mysecret.txt 파일은 암호화(난독화)된 것으로 판단
* 보통 ssh 개인키는 "-----BEGIN OPENSSH PRIVATE KEY-----" 로 시작(하지 않나요..?)
- cyberchef를 통해 확인해본 결과, base58 디코딩을 진행하면 SSH 개인키 양식 등장
- 복호화된 키를 저장하고 SSH 접근하면 개인키 권한이 너무 열려있어서 무시된다는 경고 발생
- 권한을 소유자만 읽도록 400으로 설정
- 권한을 축소한 SSH 개인키를 이용하여 SSH 접근했으나 개인키 암호(passphrase) 필요
* -i 옵션은 사용할 ssh 개인키 경로 지정
TIP) 사용자 계정이 icex64인 것을 확인한 방법
- icex64는 /~secret/ 경로에서 가장 친한 친구라고 알려준 정보로 다른 계정으로 접근했을 때는 계정 패스워드를 요구
9. SSH 개인키 암호 및 User Flag 탈취
- ssh2john을 사용하여 해시(?)값을 획득
* ssh2john은 SSH 개인키를 John The Reaper가 크랙할 수 있는 파일 형식으로 바꿔줌
- John(The Reaper)을 통해 개인키 암호 획득
* --wordlist 옵션은 패스워드 크랙에 사용할 문자열 목록 지정
- SSH 로그인 성공
- User Flag 획득
10. 권한 상승(1)
- l 옵션은 사용자 권한 및 사용 가능한 명령어에 대한 목록 정보 출력
* icex64 계정은 arsene 계정 권한으로 패스워드 없이 /usr/bin/python3.9, /home/arsene/heist.py 사용 가능
- /home/arsene/heist.py 확인 결과, webbrowser 모듈 Import 확인
- webbrowser 모듈은 일반 사용자에게도 쓰기 권한 존재
- vi 편집기로 arsene 사용자 권한의 bash 쉘을 얻기 위한 명령어 삽입
- sudo 명령어를 통해 arsene 사용자 권한 획득
11. 권한 상승(2)
- arsene 계정은 패스워드 없이 관리자 권한으로 pip 실행 가능
- pip를 관리자 권한으로 사용할 떄 권한 상승 코드 존재 (참고 사이트 - https://gtfobins.github.io/gtfobins/pip/#sudo)
- Root Flag 획득
만약 타겟 웹서버가 내부 자산이라면 어떻게 보호할까?
- ssh 개인키 같은 불필요하게 노출된 시스템 파일 제거
- SSH에 대한 접근 제어
- 서버의 불필요한 계정 제거
- Sudo 명령어 사용에 대한 권한 관리
'보안 CTF > Vulnhub' 카테고리의 다른 글
NAPPING: 1.0.1 (0) | 2023.04.12 |
---|---|
EMPIRE: BREAKOUT (0) | 2023.04.03 |
JANGOW: 1.0.1 (0) | 2023.03.22 |
THE PLANETS: EARTH (0) | 2023.03.20 |
Web-Machine-N7 (0) | 2023.03.08 |