대상 호스트의 열린 포트 스캔
이 단계에서는 도구를 사용하여 대상 호스트의 열린 포트를 스캔하는 방법을 알아봅니다.
모의 해킹 과정에서는 대상 호스트의 열린 포트를 파악하는 것이 필수적입니다. Kali Linux에는 Nmap과 Zenmap이라는 두 가지 기본 포트 스캔 도구가 제공됩니다. 여기서는 주로 이 두 도구의 사용법을 소개합니다.
먼저 실습 환경을 시작합니다. 호스트 머신은 Ubuntu(현재 연결된 데스크톱)이며, Docker와 QEMU 가상 환경이 설치되어 있습니다. 이들은 각각 Kali Linux 컨테이너와 Metasploitable2 대상 머신을 위한 플랫폼 지원을 제공합니다.
LabEx 호스트 머신에서 데스크톱의 xfce 터미널을 더블 클릭하고 터미널에 다음 명령어를 입력하여 Metasploitable2를 시작합니다:
sudo virsh start Metasploitable2
대상 머신이 시작될 때까지 기다립니다(1~3분 정도 소요될 수 있습니다).
대상 머신에 ping을 보내 실행 중인지 확인합니다(Ctrl-C를 눌러 ping 종료):
ping 192.168.122.102
이제 Kali 컨테이너를 시작하고 bash 인터페이스로 진입한 뒤, ping 작업을 실행하여 네트워크 연결을 확인합니다:
docker run -ti --network host b5b709a49cd5 bash
이제 ping 작업을 실행하여 네트워크 연결을 확인합니다(Ctrl-C를 눌러 ping 종료):
ping 192.168.122.102
이제 두 실습 환경이 모두 시작되었으며, 모의 해킹을 시작할 수 있습니다.
참고: 실수로 현재 bash를 종료하면 Kali 컨테이너가 자동으로 중지됩니다. 호스트 머신에서 docker run -ti --network host b5b709a49cd5 bash 명령어를 다시 실행하여 새 Kali 컨테이너를 시작하고 bash로 진입하여 실습을 계속할 수 있습니다.
TCP 포트 스캔 도구: Nmap
Nmap은 네트워크 탐색 및 보안 스캔 프로그램입니다. 시스템 관리자와 개인은 이 소프트웨어를 사용하여 대규모 네트워크를 스캔하고 어떤 호스트가 실행 중이며 어떤 서비스를 제공하는지에 대한 정보를 얻을 수 있습니다.
Nmap은 UDP, TCP Connect(), TCP SYN(하프 오픈 스캔), FTP 프록시(바운스 공격), Idle 스캔, ICMP, FIN, ACK 스캔, Xmas Tree, SYN 스캔, Null 스캔 등 다양한 스캔 기술을 지원합니다.
Nmap의 4가지 기본 기능은 다음과 같습니다:
- 호스트 발견
- 포트 스캔
- 버전 탐지
- 운영 체제 탐지
nmap 도구를 사용하여 다음 명령어를 입력하면 포트 스캔을 수행하고 대상 머신의 열린 포트에 대한 정보를 얻을 수 있습니다:
nmap 192.168.122.102
Zenmap: Nmap을 위한 그래픽 사용자 인터페이스
Zenmap은 Nmap 프로젝트에서 개발한 Nmap 기반의 공식 그래픽 사용자 인터페이스입니다. Zenmap은 Python으로 작성된 오픈 소스 무료 그래픽 인터페이스로, 다양한 운영 체제 플랫폼(Windows/Linux/Unix/Mac OS 등)에서 실행할 수 있습니다. Zenmap은 Nmap을 더 쉽게 조작할 수 있도록 설계되었습니다. 일반적인 작업은 프로필로 저장할 수 있으며, 사용자는 스캔 중에 프로필을 선택하여 서로 다른 스캔 결과를 편리하게 비교할 수 있습니다. 또한 네트워크 토폴로지를 그래픽으로 표시하는 기능도 제공합니다.
참고: LabEx 환경은 Kali 컨테이너를 사용하므로 현재 그래픽 인터페이스는 사용할 수 없습니다.