Post

네트워크 보안 실습 4

도스 공격

- ping of death 공격

  • 랜덤 IP로 패킷을 보내서 ICMP 응답이 엉뚱한 주소로 전송됨
  • 65000 바이트의 패킷을 하나만 보냈지만, 상대는 조각난 패킷을 여러 개 받아 처리해야 함

-SYN Flooding 공격

  • 랜덤한 소스 IP로 TCP 연결 요청을 계속 보내서 연결 대기 큐를 가득 채움
  • 결국 큐가 가득 차면 더 이상 연결 요청을 받지 못하게 됨

방어 방법

  1. 백로그 큐 용량 늘리기
  2. SYN 쿠키 설정
  3. tcp_abort_overflow 설정

- LAND 어택

  • 출발지와 도착지 IP를 동일하게 설정하여 공격
  • 록키리눅스 시스템에서 1분 후 시스템 멈춤 현상 발생

- SMURF 공격

  • 출발지 IP 주소를 위조하여, 위조된 출발지 IP와 피해자 장치 모두를 무력화

slowhttptest 툴

- Slowloris 공격

  • 웹 서버의 연결을 정상적인 방법으로 맺음: Slowloris는 정상적인 HTTP 세션을 통해 웹 서버에 연결을 유지
  • 트래픽 발생 최소화: 대량의 트래픽 없이도 웹 서버에 부하를 주어 서비스 다운을 유발
  • 은밀성: 정상적인 HTTP 요청을 사용하므로 탐지가 어려움
  • 효율성: 적은 수의 연결로도 큰 피해를 입힘
  • 지속성: 연결을 계속 유지하려는 특성 때문에 방어가 어려움

- slowhttptest 사용 예시

  1. 기본 Slowloris 공격 명령어:
    1
    
    slowhttptest -c 500 -H -u http://10.10.10.4
    
  2. 텍스트 데이터를 추가한 GET 요청 공격

    1
    
    slowhttptest -c 1000 -t abcdefghijklmnop -B -u http://10.10.10.4
    
    • ex) options, get, put https://www.naver.com/download.exe

pfsense (방화벽) 설치

  • pfSense는 오픈 소스 기반의 네트워크 방화벽으로, 다양한 기능을 제공하며 안정적이고 효율적인 보안을 제공
  1. pfSense 다운로드 및 설치

    • pfSense ISO 파일을 다운로드
    • 가상 머신 (VirtualBox)을 사용
  2. 기본 네트워크 설정

    • 설치 후 초기 설정에서 LAN 및 WAN 인터페이스를 설정
    • IP 주소 설정 및 네트워크 테스트로 연결 상태를 확인

- Snort 패키지 설치

  • Snort는 네트워크 침입 탐지 시스템(IDS) 및 침입 방지 시스템(IPS)으로, pfSense에서 패키지로 설치할 수 있음
  1. 패키지 관리에서 Snort 설치

    • pfSense 웹 인터페이스에서 패키지 관리로 이동하여 Snort 패키지를 검색 후 설치
    • Snort 설치 후 네트워크 모니터링을 위한 규칙을 설정
  2. Snort 설정

    • 설치 완료 후 Snort 인터페이스에서 규칙 및 알림을 설정하고 활성화
    • 침입 탐지를 위한 다양한 프로토콜 및 패턴을 지정 가능

Metasploitable (취약한 서버) 설치

  • Metasploitable은 취약점 테스트를 목적으로 만들어진 가상 머신(VM)으로, Metasploit 프레임워크와 함께 보안 연구와 학습에 사용됨
  • 보안 실습 환경을 설정하기 위해 자주 사용되는 도구로, 의도적으로 취약점이 포함되어 있어 다양한 공격 시나리오를 테스트할 수 있음

1. Metasploitable 다운로드

  • Metasploitable은 공개적으로 제공되며, 공식 소스에서 다운로드 가능
  • 가상 머신 파일로 제공되며, VirtualBox 가상화 소프트웨어에서 실행

2. 가상 머신 설정

  • Metasploitable VM 불러오기
    • 다운로드한 Metasploitable2 .ova 파일을 가상화 소프트웨어에서 불러옴
    • 가상 머신 설정을 확인하고, 필요한 경우 네트워크 인터페이스를 브릿지 모드로 설정하여 호스트와 통신할 수 있도록 함

3. 취약한 서버 실행

  • 가상 머신을 시작하면 Metasploitable의 취약한 Linux 서버가 부팅됨
  • 기본 로그인 정보:
    • Username: msfadmin
    • Password: msfadmin

4. Metasploit과의 연동

  • Metasploitable 서버가 실행되면, Metasploit을 사용하여 취약점 공격 실습을 할 수 있음
  • Metasploitable에 다양한 서비스와 취약점이 포함되어 있으며, 이를 통해 실제 네트워크 환경에서 발생할 수 있는 공격 시나리오를 시뮬레이션할 수 있음

5. 주요 서비스 및 취약점

  • Metasploitable에는 여러 가지 취약한 서비스가 의도적으로 설정되어 있음

    • FTP 서비스 (vsFTPd): 취약한 FTP 서버.
    • Telnet 서비스: 암호화되지 않은 원격 로그인 서비스.
    • MySQL, PostgreSQL: 기본 설정의 취약한 데이터베이스 서비스.
    • WebDAV, Apache Tomcat: 웹 애플리케이션 관련 취약점 테스트 가능.
  • 이러한 서비스들은 Metasploit 모듈을 사용하여 다양한 공격 기법을 테스트할 수 있도록 설계되어 있음

6. 실습 예시

  • Metasploit 프레임워크를 사용하여 Metasploitable에 대한 공격을 실행하는 간단한 예시
1
2
3
4
5
msfconsole
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOST <Metasploitable IP>
run