버그헌팅과 시나리오 모의해킹
섹션 1. 모의해킹을 위한 가상환경 준비
섹션 2. 버그헌팅을 위한 정보 수집 단계 - 첫 번째 시나리오
섹션 1. 모의해킹을 위한 가상환경 준비
- 실습 환경 구성
1) Oracle VM VirtualBox
- windows, linux, macOS 및 Solaris 호스트에서 실행되며 수많은 게스트 운영체제 지원
https://www.virtualbox.org/wiki/Downloads 에서 다운로드 가능
2) 칼리 리눅스
- 칼리 리눅스는 고급 침투 테스트 및 보안 감사를 목표로 하는 오픈소스, 데비안 기반 리눅스 배포판
- 침투 테스트, 컴퓨터 포렌식 및 리버스 엔지니어링 같은 다양한 정보보안작업을 대상으로 하는 수백 개의 도구 포함
https://www.kali.org/ 에서 다운로드 가능
- 칼리 리눅스 기능
1. 600개 이상의 침투 테스트 도구 포함
2. 무료(항상 유지)
3. 오픈 소스 GIT 트리
4. FHS 준수 (Filesystem Hierarchy Standard) -> 리눅스 사용자 바이너리, 지원 파일 등을 쉽게 찾을 수 있음
칼리 리눅스 도구 확인 링크->> https://www.kali.org/tools/
3) Vulnhub CTF
- 누구나 디지털 보안, 컴퓨터 소프트웨어 및 네트워크 관리 분야에서 실질적 '실무 경험'을 얻을 수 있는 자료 제공
그중에서 우리가 써 볼 자료는 https://www.vulnhub.com/entry/basic-pentesting-1,216/
Basic Pentesting: 1
This mentions the name of this release, when it was released, who made it, a link to 'series' and a link to the homepage of the release. It's common for an author to release multiple 'scenarios', making up a 'series' of machines to attack.
www.vulnhub.com
Basic Pentesting:1
- 네트워크 구성
Virtualbox 네트워크 모드
- NAT : 웹을 탐색하고 파일을 다운로드하고 게스트 내부에서 이메일을 보는 것이 전부인 경우 추천
- NAT service : NAT 모드의 기능에 추가로 내부 네트워크를 구성하여 VM 간의 통신 가능
- Internal : 내부 네트워크를 구성하고 내부 네트워크에서만 통신 가능, 외부 인터넷과 통신 불가
- Host-only : 호스트와 VM 통신 그리고 VM 간의 통신이 가능, 외부 인터넷과 통신 불가
- Bridged : 호스트, VM, 외부 인터넷 모두 연결되어 통신 가능
--->>> 그 중 우리가 실습에서 사용할 네트워크는 "NAT 네트워크"
네트워크 CIDR를 192.168.0.0/24 로 맞춰놓기.
- 192.168.0.0 → 네트워크 주소
이 네트워크 자체를 가리키는 주소라서, PC나 장비에 할당할 수 없음 - 192.168.0.1 ~ 192.168.0.254 → 호스트 주소(Host Address) 실제로 PC, 서버, 공유기, IoT 기기 등 네트워크에 연결되는 장치들이 쓰는 주소 범위
👉 쉽게 말하면, 192.168.0.0/24 네트워크는 최대 254개의 장치가 같은 네트워크 안에서 통신할 수 있는 "공간"
- Virtualbox 스냅샷
- 스냅샷을 사용하면 나중에 가상 머신 상태가 변경되었더라도 초기상태로 변경 할 수 있다.
- 따라서 초기 실행 전 스냅샷 생성은 필수!!!
섹션 2. 버그헌팅을 위한 정보 수집 단계 - 첫 번째 시나리오
Basic Pentesting:1
- 목표: 원격으로 vm을 공격하여 root 권한을 획득
- 취약 암호 및 기본 설정 사용의 위험성을 보여줌
- 연습을 통해 낮은 권한 및 루트 권한 쉘을 모두 얻기 위한 여러 취약점을 보여줌
- 정보 수집
(basic pentesting vm을 킨 상태에서 ip 주소 확인해야함!!)
1. 진단자 ip 주소 확인
- 192.168.0.17/24 아이피 주소 및 네트워크 대역 (c클래스) 확인
ifconfig
ip a (ip addr)
2. 대상 식별 - 진단 대상 ip 주소 찾기
<Netdiscover 도구>
- ARP 프로토콜을 활용하여 네트워크 세그먼트에서 연결된 클라이언트 검색하는 스캐너
sudo netdiscover -i eth0 -r 192.168.0.0/24
<Netenum 도구>
- ICMP 프로토콜을 활용하여 IP주소 스캔하는데 사용되는 도구
sudo netenum 192.168.0.0/24 10 0
sudo netenum <destination> [timeout] [verbosity]
<Nmap 도구>
- 네트워크 대역의 모든 호스트 정보 및 서비스 정보를 파악하고 지속적인 모니터링에 유용하게 사용되는 도구
(-sn: ping 스캔 (포트 스캔 비활성화))
sudo nmap -sn 192.168.0.0/24
3. 포트 스캔 - 열린 포트 및 서비스 검색
<Nmap 도구를 사용하여 열린 포트 및 서비스 검색>
- 식별 대상 기준으로 포트 스캔
sudo nmap -p1-65535 192.168.0.4
<-O 옵션으로 운영체제 확인>
sudo nmap -p1-65535 -O 192.168.0.4
그밖에...
- -sV 옵션으로 열린 포트를 조사하여 서비스/버전 정보 확인
- -A 옵션으로 운영체제 탐지, 버전 탐지, 스크립트 스캐닝 및 traceroute 사용
이런 옵션들이 있음
- Zenmap 도구
공식 Nmap GUI 도구, CLI 환경 익숙하지 않은 사람들을 위해 출시
sudo apt update
# 설치에 필요한 파일 다운로드
wget http://archive.ubuntu.com/ubuntu/pool/universe/p/pygtk/python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
wget http://security.ubuntu.com/ubuntu/pool/universe/p/pycairo/python-cairo_1.16.2-2ubuntu2_amd64.deb
# 다운로드한 파일 설치
sudo dpkg -i python-gobject-2_2.28.6-14ubuntu1_amd64.deb
sudo dpkg -i python-cairo_1.16.2-2ubuntu2_amd64.deb
sudo dpkg -i python-gtk2_2.24.0-5.1ubuntu2_amd64.deb
# zenmap rpm 다운로드
https://nmap.org/download.html 페이지에 접속하여 다운로드
# rpm 파일을 deb 파일로 변환
sudo apt install alien
sudo alien zenmap<rpm>
# zenmap deb 파일 설치
sudo dpkg -i zenmap<deb>
※ 정보 수집 정리
대상 식별 | 192.168.0.4 |
운영 체제 | linux 3.2~4.9 버전 사용 |
포트 오픈 | 21, 22, 80번 |
-> 21번 포트 FTP 서비스는 proftpd 1.3.3c 프로그램 사용
-> 22번 포트 SSH 서비스는 openssh 7.2p2 프로그램 사용
-> 80번 포트 HTTP 서비스는 apache httpd 2.4.18 프로그램 사용
- Exploit 검색
Exploit이란?
: 컴퓨터의 소프트웨어나 하드웨어 및 컴퓨터 관련 버그, 보안 취약점 등 설계상 결함을 이용하여 공격자의 의도된 동작을
수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램 또는 특정한 데이터 조각을 말하며, 이러한 것들을 사용한
공격 행위를 이르기도 한다.
1) Exploit DB
- 침투 테스터와 취약점 연구자가 사용하도록 개발된 공개된 공격 및 취약 소프트웨어의 CVE 저장소
OffSec’s Exploit Database Archive
www.exploit-db.com
2) Searchsploit
- Exploit-DB용 명령 줄검색 도구
- 오프라인 상태에서 검색 가능, 인터넷 접근이 없는 분리된 네트워크에서도 유용하게 사용 가능
※ Exploit 정리
- ProFTPD 1.3.3c -> 백도어 RCE 취약점 확인 필요
- OpenSSH 7.2p2 -> SSH 관련된 취약점 중 사용자 이름 열거 취약점 확인 필요
1) 사용자 이름 탈취
2) 사용자 이름을 토대로 비밀번호 탈취
3) 획득한 사용자가 SUDO 권한이 부여되어 root 권한 사용 가능
- Apache httpd 2.4.18 -> 아파치 버전과 관련된 취약점 중에 유망한 것이 없음
-> 웹 서비스 취약점으로 내부 시스템 침투 관점 필요
섹션 1,2 Quiz
1. 침투 테스트 ctf 환경에서 목표 시스템에 대한 침투의 궁극적 주된 목표는?
-> 시스템 최고 권한(root) 획득
2. 침투 테스트 실습에서 공격자 역할을 위해 주로 사용하는 운영체제는 무엇이며, 그 주된 목적은 무엇인가요?
-> kali Linux - 침투 테스트 및 보안 감사
(kali Linux는 침투 테스트 및 보안 감사를 위해 설계된 특화된 리눅스 배포판, 600가지 이상의 다영한 보안 도구를 포함하고 있어
공격자 시스템으로 사용하기 적합함
3. VirtualBox에서 침투테스트 실습 전에 스냅샷 기능을 사용하는 주된 이점은 무엇인가요?
-> 가상 머신 상태를 이전 상태로 되돌리기가 용이
4. 모의해킹에서 Nmap의 'sV' 옵션을 사용하는 목적은 무엇일까요?
-> 실행 중인 서비스 및 버전 정보 확인
5. Nmap을 사용하여 특정 대상의 열려 있는 포트를 스캔하는 주된 이유는 무엇일까요?
-> 잠재적인 침투 경로 식별
'4-1. 2025-2 심화 스터디 > 버그헌팅' 카테고리의 다른 글
[BugBusters] 버그버스터_2주차 활동 (0) | 2025.10.06 |
---|