project

프로젝트 (bank 취약점 분석 / DIRB, NIKTO, Burp suite)

law and security 2024. 10. 11. 14:50

 

📌  DIRB

 

[ DIRB ] : 웹 서버의 디렉토리와 파일을 탐색하는 데 사용되는 도구 

 

┌──(kali㉿kali)-[~]
└─$ dirb http://megabank.store /usr/share/wordlists/dirb/common.txt

 

 

여러 디렉토리 (/account/, /api/, /css/, /javascript/, /transfer/)가 리스트 가능(listable) 하다는 경고

-> 이는 해당 디렉토리에 접근했을 때, 내부 파일 목록을 확인 ( 보안상 좋지 않은 설정)

 

 

더보기
┌──(kali㉿kali)-[~]
└─$ dirb http://( 해당 URL)/usr/share/wordlists/dirb/common.txt

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Mon Oct 28 22:01:37 2024
URL_BASE: http://megabank.store/
WORDLIST_FILES: /usr/share/wordlists/dirb/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://megabank.store/ ----
+ http://megabank.store/.git/HEAD (CODE:200|SIZE:23)                                                        
==> DIRECTORY: http://megabank.store/account/                                                               
==> DIRECTORY: http://megabank.store/api/                                                                   
==> DIRECTORY: http://megabank.store/css/                                                                   
+ http://megabank.store/index.php (CODE:200|SIZE:3009)                                                       
==> DIRECTORY: http://megabank.store/javascript/                                                             
+ http://megabank.store/server-status (CODE:403|SIZE:279)                                                    
==> DIRECTORY: http://megabank.store/transfer/                                                               
                                                                                                            
---- Entering directory: http://megabank.store/account/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                            
---- Entering directory: http://megabank.store/api/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                            
---- Entering directory: http://megabank.store/css/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                            
---- Entering directory: http://megabank.store/javascript/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                            
---- Entering directory: http://megabank.store/transfer/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                               
-----------------
END_TIME: Mon Oct 28 22:02:25 2024
DOWNLOADED: 4612 - FOUND: 3

 

 

 

📌  Nikto

 

[ Nikto ] : 웹 서버 스캐너, 다양한 취약점을 찾아내고 보안을 분석하는 도구 

 

┌──(kali㉿kali)-[~]
└─$ nikto -h http://(해당 URL)

 

 

 

 

더보기
┌──(kali㉿kali)-[~]
└─$ nikto -h http://(해당 URL)/
- Nikto v2.5.0
---------------------------------------------------------------------------
+ Target IP:          182.230.223.123
+ Target Hostname:    megabank.store
+ Target Port:        80
+ Start Time:         2024-10-28 22:03:33 (GMT-4)
---------------------------------------------------------------------------
+ Server: Apache/2.4.58 (Ubuntu)
+ /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
+ /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/
+ /: Cookie PHPSESSID created without the httponly flag. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies
+ No CGI Directories found (use '-C all' to force check all possible dirs)
+ /: Web Server returns a valid response with junk HTTP methods which may cause false positives.
+ /account/: Directory indexing found.
+ /account/: This might be interesting.
+ /css/: Directory indexing found.
+ /css/: This might be interesting.
+ /login.php: Admin login page/section found.
+ /.git/index: Git Index file may contain directory listing information.
+ /.git/HEAD: Git HEAD file found. Full repo details may be present.
+ /.git/config: Git config file found. Infos about repo details may be present.
+ 7962 requests: 0 error(s) and 12 item(s) reported on remote host
+ End Time:           2024-10-28 22:05:17 (GMT-4) (104 seconds)
  • 보안 취약점:

 

1. X-Frame-Options 헤더 미설정: 클릭재킹 공격을 방어하는 헤더가 없어서 보안 위험이 존재

2. X-Content-Type-Options 헤더 미설정: 사용자 에이전트가 MIME 타입을 다르게 해석할 수 있는 위험

3. PHPSESSID 쿠키: httponly 플래그가 설정되지 않아 JavaScript를 통해 쿠키가 접근이 가능

 

  • 디렉토리 및 파일 발견:

 

1. 디렉토리 인덱싱: /account/ 및 /css/에서 디렉토리 인덱싱이 발견. 이는 민감한 정보가 노출될 수 있는 가능성을 의미

2. .git 파일 발견: Git 관련 파일(/.git/index, /.git/HEAD, /.git/config)이 발견. 이 파일들은 리포지토리 정보가 포함될 수 있어 보안 취약점

3. 관리자 로그인 페이지: /login.php 경로에서 관리자 로그인 섹션이 발견

 

 

→ css 노출확인

 

 

 

/account/ : Directory indexing found

  • 해당 경로에서 디렉터리 인덱싱이 활성화되어 있어 내부 파일 목록이 노출될 가능성이 있음

/login.php : Admin login page/section found

  • 관리자 로그인 페이지로 추정

 

megabank.store/css/ 및 megabank.store/api/를
 
입력하면 해당 디렉토리의 파일 목록이나 내용을 볼 수 있.


디렉토리 인덱싱 발견: /account/, /css/ 디렉토리에서 인덱싱이 가능하다는 경고 -> 해당 디렉토리에 접근할 수 있으며, 파일 목록이 노출될 수 있다는 점에서 보안 위험이 존재


 

📌 Burp Suite

 

[ Burp Suite ]

 

 

proxy 탭의 option으로 이동 

 

 

 

-> HTTPS/HTTP proxy세팅 (CA Certificate 인증서 다운로드)

 

 

 

import/export CA certificate 클릭 > 다운로드한 인증서를 Documents 안에 test.der 폴더 생성해서 넣는다.

 

 

firefox > 설정 > view Certificates 클릭>

import 클릭

 

 

 

cacert.der선택 

 

[ 실행 ]

 

Intercept is on을 클릭 (off -> on 상태로)

 

* firefox로 접속, burpsuite에 클라이언트 요청 패킷을 볼 수 있다.

 

-> login 창에서 id/pw를 입력해서 intercept하여 해당 패킷을 확인하면 id/pw가 평문으로 노출되는 것을 확인할 수 있다. 

 

 

 

-> status code 200 : 성공