본문 바로가기

4-1. 2025-2 심화 스터디/버그헌팅

[Bugbusters] Section 6 정리

Kioptrix 시리즈

section 6: Kioptrix_Level_1 실습
Kioptrix는 다섯 가지 시리즈로 존재
-> https://www.vulnhub.com/series/kioptrix,8/
  • Kioptrix: level 1

- kioptrix vm 이미지는 쉬운 문제로 구성

- 목표: 모든 수단을 통해 root 권한 획득

- 목적: 취약점 평가 및 공격 기본도구, 기술을 배우는 것

  • 가상 머신

- format: VM ware (우리는 virtual box로 실습)

- Linux 사용

  • 네트워크

- DHCP service: Enabled (DHCP 서비스 활성화)

- IP address: Automatically assign (아이피 주소 자동 할당)

virtual box 실습환경 구성
1. 머신 새로만들기, 종류는 리눅스, 버전은 other linux (32 bit), 메모리크기는 1024 mb
가상 하드디스크 추가x로 만들기
2. kioptrix_level1.vmdk 파일을 vm을 저장해논 경로에다가 복붙 후 vm 저장소로 들어가서 ide 컨트롤러 하드디스크
추가를 누르고 vmdk 파일을 열고 등록해줌
3. 나머지 레벨 1 vm을 켜서 좀 더 해주어야 하는 부가 설정들은 스냅샷도 찍고, 복잡하기 때문에 설명 생략..

 

이렇게 하면 실습 구성은 끝, 게임 화면으로 들어가보자

  • 대상에 대한 ip 주소 탐색, 정보수집 진행

- 칼리리눅스에 들어가서 ip addr 명령어 입력해주면 저번 실습 basic-pentasting 에서 보았던 ip 주소하고 다름

192.168.0.25

로 나옴! -> 이제 대상 식별을 위해 몇가지 명령어들을 쳐줄거임

sudo netdiscover -i eth0 -r 192.168.0.0/24

-> 192.168.0.1~3, 192.168.0.23 나옴

여기서 우리는 192.168.0.23을 진단할거임

sudo nmap -p- 192.168.0.23

스캔 돌려주면

22/tcp open ssh
80/tcp open http
111/tcp open rpcbind
139/tcp open ~~

많은 포트들이 존재

이 포트들에 대한 정보들을 보기 위해 명령어

sudo nmap -p- -sV -O 192.168.0.23

이렇게 입력해주면 볼 수 있음

정리

대상 식별: 192.168.0.23

- 운영 체제: Red-hat/Linux 2.4.9 - 2.4.18 (likely embedded) 버전 사용

- 포트 오픈: 22, 80, 111, 139, 443, 1024번

-> 22번 포트 SSH 서비스: OpenSSH 2.9p2 사용

-> 80번 포트 HTTP 서비스: Apache httpd 1.3.20, mod_ssl/2.8.4, OpenSSL/0.9.6b 사용  

-> 111번 포트 RPCbind 서비스: 2 (RPC #100000) 사용

-> 139번 포트 netbios-ssn 서비스: Samba smbd 사용

-> 443번 포트 SSL/HTTPS 서비스: Apache/1.3.20, mod_ssl/2.8.6, OpenSSL/0.9.6b 사용

-> 32768번 포트 Status 서비스: 1 (RPC #100024) 사용

  • Apache httpd 1.3.20

- 아파치 버전과 관련된 취약점 중 유망한 것 X

- 웹 서비스 취약점으로 내부 시스템 침투 관점 필요

  • mod_ssl 2.8.4

- 'OpenFuck.c' Remote Buffer Overflow

-> 움.. 비속어로 되어있네.. 이 부분에서는 아마 버퍼 오버플로우를 이용한 권한 상승, 사용자 권한을 탈취할 수 있을 듯!

  • OpenSSL 0.9.6b

- OpenSSL 버전과 관련된 취약점 중 유망한 것X

 

그래서 Enum4linux 도구를 사용해서 서비스에 어떤 노출되는 취약점이 있는지 삼바시스템을 사용하여 찾아보는 게 좋을 듯

  • CVE-2002-0082

-  mod_ssl 2..8.7-1.3.23 이전 버전 및 Apache-SSL 1.3.22+1.46 이전 버전은 SSL 세션 캐시하려할 때 원격으로 공격 가능한 버퍼 오버플로우에 취약

- 원격 버퍼 오버플로우 공격으로 원격 코드 실행, 시스템 모든 파일 수정 가능

-> 바로 root 권한 획득

Samba

-> 특정 버전이 노출되지 않아 취약점 식별 어려움

-> 앞에서 말했듯이 enum4linux 도구와 smb_version 모듈을 사용하여 추가적인 Samba 시스템 정보 열거 필요

 

RPCbind

-> RPC & RPCbind 와 관련된 취약점 중 유망한 것 X

-> RPC 서비스 구성에 대한 취약점으로 내부 시스템 침투 관점 필요

그럼 RPC에 대해서 더 알아보자

  • RPC

- RPC는 Remote Procedure Call (원격 프로시저 호출)

- 별도의 원격 제어 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저 실행할 수 있게 하는 프로토콜

- 동일하거나 다른 컴퓨터 프로세스의 함수를 호출하는데 사용되는 프로토콜

  • RPC 서비스 

-> Nmap NSE - rpcinfo

sudo nmap -p111,32768 -sV --script=rpcinfo 192.168.0.23

- portmapper에 연결하여 등록된 모든 프로그램 목록 가져옴

- 각 프로그램에 대해 RPC 프로그램 번호, 지원되는 버전 번호, 포트 번호 및 프로토콜, 프로그램 이름을 포함하는 테이블 출력

 

-> Nmap NSE - rpc-grind

sudo nmap-p111,32768-sV--script=rpc-grind 192.168.0.23

- 대상 RPC 포트를 Fingerprints로 지정하여 대상 서비스, RPC 번호 및 버전 추출

  • rpcclient

- Samba 제품군의 일부, SMB/CIFS MSPRC 서버와 대화할 수 있는 클라이언트

 

(출처: 버그헌팅과 시나리오 모의해킹 전문가 되기 - 인프런 강의자료, 강의영상 https://inf.run/zvmjv)