Web-Machine-N7

2023. 3. 8. 20:30

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 정보 확인
현재 DB 및 전체 DB 정보 확인

테이블 정보

 * --dbms 옵션은 사용하는 확인된 DBMS 정보 입력

 * --level 옵션은 SQL 구문을 다양한 헤더 필드에 입력하도록 하는 설정

 * -D 옵션은 확인된 DB 정보 입력

 * --tables 옵션은 table 정보를 추출해달라는 옵션

Table 정보 확인

column 정보

 * -T 옵션은 Table 정보 입력

 * --columns 옵션은 column 정보를 추출해달라는 옵션 

login 테이블 내 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

+ Recent posts