project

프로젝트 (bank 취약점 분석 / nmap 활용)

law and security 2024. 10. 15. 12:48

 
📌  nmap

 

1. DNS 활용한 스캔

┌──(kali㉿kali)-[~]
└─$ nmap(해당 URL)

 

 

현재 웹 서버의 열려있는 포트를 확인 할 수 있다. 


1.  -sV 옵션

 

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV (해당 URL)

 

 
서비스와 버전 정보를 확인하려면 -sV 옵션을 추가
 
: -sV 옵션으로 각 포트에서 실행되고 있는 서버의 버전 정보 탐지
특정 버전에서 이미 알려진 취약점이 있다면 이를 기반으로 공격하는 것이 가능
 

더보기
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV (해당 URL)
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-28 21:52 EDT
Nmap scan report for (해당 URL) 
Host is up (0.0032s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.58 ((Ubuntu))
3306/tcp open  mysql   MySQL 8.0.39
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

 
 
 
2.  - s T 옵션

 

┌──(kali㉿kali)-[~]
└─$ nmap -sT (해당 URL)

 
 

더보기
┌──(kali㉿kali)-[~]
└─$ nmap -sT (해당 URL)
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-28 21:47 EDT
Nmap scan report for www.megabank.store (182.230.223.123)
Host is up (0.011s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql

TCP 포트만 확인
 
3. -O 옵션
 

nmap -O (해당 URL)


 


 

-O 옵션으로 운영체제 탐지 수행

<결과 해석>


 
 
4.  - sC 옵션

 

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sC (해당 URL)


 

 
 

더보기
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sC(해당 URL)
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-28 21:53 EDT
Nmap scan report for (해당 URL)
Host is up (0.0029s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT     STATE SERVICE
22/tcp   open  ssh
| ssh-hostkey: 
|   256 60:c8:68:dd:e3:20:dd:7c:4c:a0:4f:94:ad:a2:45:46 (ECDSA)
|_  256 db:f6:10:fa:2a:d8:6a:ff:7d:28:d9:e9:0a:d5:7a:84 (ED25519)
80/tcp   open  http
|_http-title: main
| http-git: 
|   (해당 URL)/.git/
|     Git repository found!
|     Repository description: Unnamed repository; edit this file 'description' to name the...
|     Last commit message: \xEC\xA0\x84\xEC\xB2\xB4\xEC\x88\x98\xEC\xA0\x95 
|     Remotes:
|       https://github.com/zyangee/bank_project.git
|_      https://github.com/zyangee/bank_project/tree/master
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
3306/tcp open  mysql
|_ssl-date: TLS randomness does not represent time
| mysql-info: 
|   Protocol: 10
|   Version: 8.0.39
|   Thread ID: 89127
|   Capabilities flags: 65535
|   Some Capabilities: LongColumnFlag, Support41Auth, Speaks41ProtocolNew, SwitchToSSLAfterHandshake, FoundRows, DontAllowDatabaseTableColumn, ODBCClient, ConnectWithDatabase, SupportsTransactions, IgnoreSigpipes, InteractiveClient, SupportsLoadDataLocal, IgnoreSpaceBeforeParenthesis, Speaks41ProtocolOld, LongPassword, SupportsCompression, SupportsAuthPlugins, SupportsMultipleStatments, SupportsMultipleResults
|   Status: Autocommit
|   Salt: \x0F{O[~|k4n,D1\x01t5O>]iY
|_  Auth Plugin Name: caching_sha2_password
| ssl-cert: Subject: commonName=MySQL_Server_8.0.39_Auto_Generated_Server_Certificate
| Not valid before: 2024-10-05T11:49:53
|_Not valid after:  2034-10-03T11:49:53

 

-sC 옵션으로 기본적인 취약점 및 보안 점검을 수행할 수 있는 정보를 자동으로 수집

<결과 해석>

22/tcp -ssh 
  • SSH 호스트 키가 나와 있음.
    이 키는 서버의 보안 인증 키로 서버에 대한 추가적인 정보를 수집할 수 있음
80/tcp -http
  • /git 디렉토리가 공개되어 있음
    공개된 git 저장소에서는 코드나 서버 설정 정보가 포함되어 있을 가능성이 있음
  • HTTP 쿠키 설정 정보 확인
    httponly 플래그가 설정되어 있지 않음 -> 클라이언트 측 스크립트에서 쿠키가 접근 가능해져 XSS 공격에 취약
3389/tcp ms-wbt-server
  • RDP(원격 데스크톱 프로토콜) 서비스가 열려 있음
    이 포트가 열려 있는 것은 외부 공격자가 이를 통해 서버에 접근할 수 있는 잠재적인 취약점이 될 수 있음

= 서버나 네트워크 보안 점검 수행 시 사용

 

5.  -sV 옵션 / --script=http-enum 옵션

 

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV --script=http-enum (해당 URL)


 

 
 
 

더보기
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV --script=http-enum (해당 URL)
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-28 21:55 EDT
Nmap scan report for (해당 URL)
Host is up (0.0037s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
80/tcp   open  http    Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
| http-enum: 
|   /login.php: Possible admin folder
|   /.git/HEAD: Git folder
|   /account/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
|   /api/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
|   /css/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
|   /javascript/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
|_  /transfer/: Potentially interesting directory w/ listing on 'apache/2.4.58 (ubuntu)'
3306/tcp open  mysql   MySQL 8.0.39
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.36 seconds

 

-sV 옵션으로 각 포트에서 실행되고 있는 서버의 버전 정보 탐지
특정 버전에서 이미 알려진 취약점이 있다면 이를 기반으로 공격하는 것이 가능
--script=http-enum 으로 디렉터리나 파일 리스트를 추출
웹 서버에서 흔히 사용되는 경로나 관리자 페이지, API 엔드포인트 등 잠재적으로 중요한 디렉터리 자동 탐지

<결과 해석>
/login.php: Possible admin folder
  • 로그인 페이지로 추정, 관리자 디렉터리일 가능성이 있음을 의미
Potentially interesting directory w/ listing on 'apache/2.4.52 (ubuntu)'
  • 디렉터리 목록 표시 기능이 활성화된 경로를 발견했음을 의미

= 웹 서버나 네트워크 보안 점검 시, 서비스 버전 정보 HTTP 디렉터리 구조를 파악하기 위해 사용
웹 애플리케이션의 관리자 페이지나 중요한 파일이 외부에 노출되어 있는지 확인하여 보안 취약점을 찾아냄

 
 
 
6.  -sV --script vulners

 

 

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV --script vulners (해당 URL)

 

 


 

--script 옵션으로 Nmap의 스크립트 엔진을 사용하여 취약점 탐지를 수행
vulners 로 서비스 버전 정보를 사용하여 알려진 취약점 데이터베이스와 비교. 이를 통해 해당 서비스에 존재할 수 있는 취약점을 탐지

<결과 해석>
33D623F7-98E0-5F75-80FA-81AA666D1340
  • exploit의 고유 식별자(UUID)
9.8 
  • exploit의 위험도나 중요도
    (10에 가까울수록 해당 exploit이 더 위험하다는 의미)
https://vulners.com/githubexploit/33D623F7-98E0-5F75-80FA-81AA666D1340  
  • 해당 exploit에 대한 상세정보 제공 URL
    exploit의 작동 원리, 취약점 설명, 공격 방법 등에 대한 자세한 정보 확인 가능
 

= 네트워크 및 서버의 보안 상태 점검, 취약점 식별하는 데 사용
취약점을 악용할 수 있는 가능성 평가
침투 테스트 및 패치 관리