Web-Machine-N7
1. Target IP 확인
- 192.168.50.50은 Kali(공격자) IP로 Target IP는 192.168.50.51 확인
2. Target에 대한 정보 수집
- 80 port가 열렸으며 Apache 서버 사용 / 서버의 OS는 리눅스 확인
- 브라우저를 통한 80 port 접근 시 다음과 같은 사이트 확인
ㄴ 코드를 확인했으나 php 사용 외 특이사항 없음
3. 확인되지 않은 하위 디렉터리 검색
- dirbuster 사용
- 가장 빠르게 적당한 리스트를 사용하여 하위 디렉터리 검색
ㄴ 위에서 확인한대로 파일 확장자는 php로 진행 (뭐가 없어서 html, zip 등을 넣고 추가로 스캔 진행했음)
(해당 스캔을 통해서 /enter_network/ 폴더는 찾지 못했다.)
4. exploit.html 접근 및 파일 업로드
- exploit.html 접근 시 사진과 같이 파일을 업로드할 수 있을 것 같은 페이지 등장
- 파일을 업로드하면 연결 오류가 발생하여 코드를 봤더니 action 경로가 localhost인 상태 확인
- Burp를 통해 action 경로를 Target IP로 변경해주고 간단한 웹셸 업로드
- 200 OK 응답고 함께 "FLAG{N7" 문자열 확인
5-1) enter_network 경로에 접근하니 로그인 페이지 존재
(정답을 찾는 2가지 방법 존재)
- sqlmap을 사용하여 DB 정보 추출
DBMS 및 DB 정보
* --forms 옵션은 페이지 내 양식을 보고 적절하게 변수에 SQL Injection 수행
해당 옵션 없이 수행했을 경우 GET Method 방식으로 임의의 변수에 SQL Injection 수행으로 판단
* --dbs 옵션은 DBMS 정보 추출
* --current-db 옵션은 현재 사용 중인 DB 정보 추출
테이블 정보
* --dbms 옵션은 사용하는 확인된 DBMS 정보 입력
* --level 옵션은 SQL 구문을 다양한 헤더 필드에 입력하도록 하는 설정
* -D 옵션은 확인된 DB 정보 입력
* --tables 옵션은 table 정보를 추출해달라는 옵션
column 정보
* -T 옵션은 Table 정보 입력
* --columns 옵션은 column 정보를 추출해달라는 옵션
=> FLAG N7:KSA_01 확인됨!
5 - 2) enter_network 경로에 접근하니 로그인 페이지 존재 (출제자가 원한 방식?)
- http 요청 Cookie 헤더를 보면 user, role 파라미터 존재
- user 파라미터의 변수는 Base64 인코딩된 것으로 판단되며 원본 데이터는 argon2 암호화된 값임을 알 수 있다.
- role 파라미터의 변수는 보안관제를 하다보면 너무 익숙한 암호화 형식인 md5 값으로 보인다
- 저 값을 google 검색하면 "admin" 텍스트를 얻을 수 있다. 즉 role=admin
6. /enter_network/ 디렉터리 내 하위 디렉터리 및 파일 스캔
=> 처음부터 재귀적으로 스캔을 돌렸으면 한 번에 끝났겠지만 시간이 너무 걸렸다.
7. /enter_network/admin.php 접근
- admin만 접근할 수 있다는 내용 외 특이사항 없다.
- HTTP 요청 헤더를 보면 아까 보았던 Cookie가 존재한다
- role을 복호화했던 admin 문자로 변경하여 접근
- KSA_01} 텍스트 확인!
4번에서 확인했던 내용(FLAG N7과 KSA_01을 합치면 5-1 sqlmap을 통해 확인한 password와 동일
만약 타겟 웹서버가 내부 자산이라면 어떻게 보호할까?
1) 허용된 사용자만 접근할 수 있도록 페이지 접근 제어
ㄴ 현재는 HTTP 요청 Cookie로 진행하고 있는데 조치 필요
2) SQL Injection에 취약한 코드를 시큐어 코딩
3) 보안 솔루션을 통한 SQL Injection 탐지 및 차단
4) 하위 디렉터리 스캔을 탐지할 수 있는 접근 패턴 생성(admin 페이지, login 페이지 접근 등)
5) 추가적으로 Http 응답 내 Apache 버전 정보 제거
'보안 CTF > Vulnhub' 카테고리의 다른 글
NAPPING: 1.0.1 (0) | 2023.04.12 |
---|---|
EMPIRE: BREAKOUT (0) | 2023.04.03 |
EMPIRE: LUPINONE (0) | 2023.03.29 |
JANGOW: 1.0.1 (0) | 2023.03.22 |
THE PLANETS: EARTH (0) | 2023.03.20 |