스캐닝
스캐닝은 목표로 하는 네트워크에서 동작중인 시스템, 단말, OS, 포트, 서비스 등을 탐색하는 행위를 말한다.
스캐닝의 종류
활성 시스템 스캐닝, 포트 스캐닝, 취약점 스캐닝 등이 있다.
능동적 정보 수집(Active Information Gathering
)
해킹 과정에 있어서 가장 먼저 시행되며 중요한 단계이다. 스캐닝은 보통 능동적 정보 수집 과정의 대부분을 차지하고, 로그를 남길 확률이 높기 때문에 능동적 정보 수집이라고 불린다.
스캐닝의 목적은 여러가지가 있지만, 가장 대표적으로 세 가지 정도를 꼽을 수 있다. 첫 번째는 목표 네트워크에 동작중인 시스템의 IP주소를 확인하는 것이다. 두 번째는 각 시스템에서 운영중인 OS를 확인하는 것이다. 마지막으로 세 번째는 각 OS에서 동작중인 서비스의 포트 및 버전을 확인하는 것이다.
ICMP Echo ping
: ICMP
메시지를 이용하여 동작중인 호스트를 식별하는 방식ARPing
: ARP
패킷을 이용하여 동작중인 호스트를 식별하는 방식(ARP Request
)TCP ping
: TCP
패킷을 이용하여 동작중인 호스트를 식별하는 방식UDP ping
: UDP
패킷을 이용하여 동작중인 호스트를 식별하는 방식ping
, arping
, fping
, namp
, hping3
등TCP Scanning
IDLE Scanning
FTP Bounce Scanning
UDP Port Scanning
nmap
3-Way Hand Shake
중 2단계(SYN
, SYN+ACK
)까지만 진행하는 기법이다.nmap -sS {네트워크 대역}
3-Way Hand Shake
를 진행하는 기법이다.nmap -sT {네트워크 대역}
flag
설정 없이 TCP
연결 요청을 하는 기법이다.Response
를 주게 된다.IDS
를 회피할 가능성이 있지만, 목표물이 UNIX
플랫폼일 경우에만 가능하다.nmap -sN {네트워크 대역}
FIN Scanning
과 X-MAS Scanning
이 있지만, 현재는 거의 사용하지 않는다.실습환경은 VROOM에서 진행하였다.
kali: 192.168.200.100
webgoat7: 103.101.200.2
webgoat8: 103.101.200.3
해당 실습은 SYN Stealth(Half Open) Scanning
으로 진행하였다. webgoat7
과 webgoat8
은 모두 80
번 포트, 즉 http
포트가 열려있는 상태임을 확인할 수 있다.
ARP
란 네트워크 상에서 IP주소와 MAC주소를 매핑해주는 프로토콜이다. 2계층과 3계층 사이의 프로토콜이고 대표적인 2계층의 프로토콜인 Ethernet
의 경우 아래와 같은 구조를 가진다.
ARP
패킷의 경우 앞에 이더넷 프레임 헤더가 붙어서 전달되는 구조이다. ARP
프레임 헤더의 구조는 다음과 같다.
지난 글에서도 언급했지만, ARP Request
의 경우, 이더넷 프레임 헤더의 MAC
주소에는 ff:ff:ff:ff:ff:ff
가 입력되고 ARP
패킷의 MAC
주소에는 00:00:00:00:00:00
이 입력된다. ARP
에서는 이러한 ARP
정보를 저장해두지 않는다면 연결할 때마다 매번 브로드캐스팅을 해야하기 때문에 효율성 측면에서 매우 떨어진다. 따라서 각각의 호스트에서 다른 호스트들의 ARP
정보를 저장한 ARP Cache Table
을 보유하고 있다.
ARP
프로토콜은 연결 지향형 프로토콜이 아니기 때문에, Request
를 보내지 않은 호스트에서 Response
를 전달할 수 있고, 송신자에 대한 검증을 하지 않기 때문에 송신자가 보낸 정보를 그대로 받아 들이는 구조이다.
따라서 공격자가 변조된 ARP Response
를 보내게 된다면 ARP Cache Table
이 감염될 수 있다.
스니핑의 사전적 의미는 '코를 킁킁거리다', '냄새를 맡다'등의 뜻으로 정의되는데, 해킹 기법으로서의 스니핑은 사전적 의미와 같이 네트워크 트래픽을 도청하는 기법이다. 막기가 매우 힘들며 탐지도 어렵다. 하지만 스니핑을 하기 위해서는 다음의 선행공격이 필요하다.
- 스위치 재밍(
Switch Jamming
): 스위치의MAC Address Table
의 버퍼를 오버플로우 시켜 스위치가 허브처럼 동작하게 하는 기법ARP Spoofing
ARP Redirect
: 공격자가 자신이 라우터인 것처럼 MAC주소를 위조하여ARP Reply
패킷을 해당 네트워크에BroadCast
하는 기법ICMP Redirect
: 라우터 경로를 재설정하기 위해 전송하는 메시지로 공격자가 이를 악용하여 특정 IP대역으로 나가는 패킷의 라우팅 경로를 자신의 주소로 위조한ICMP Redirect
메시지를 생성하여 희생자에게 전송하는 기법
네트워크에 접속하는 모든 시스템은 IP주소와 MAC주소를 가진다. 기본적으로 호스트는 들어온 패킷의 IP주소와 MAC주소를 확인하여 알맞은 패킷 이외의 패킷은 모두 버리는데, 프러미스큐어스 모드를 활성화하면 자신의 패킷이 아니더라도 모두 받을 수 있게 된다.
2, 3계층 정보(IP주소, MAC주소)의 필터링을 해제하는 모드이다. 즉, 각 호스트에서 알맞은 패킷이 아니더라도 모두 수용하는 모드이다.
DoS(Denial of Service)공격은 시스템에 과도한 패킷을 전송해 시스템의 가용성을 침해하는 공격이다.
네트워크 동시 접속자 수가 한정되어있는 특성과 TCP
의 3-way hand shake
의 특성을 악용한 공격이다. 존재하지 않는 클라이언트가 서버에 접속하는 것처럼 속여 SYN
패킷을 전송하고 서버에서는 SYN+ACK
를 전송한 후 ACK
패킷을 대기하는 상태가 된다.
TCP SYN Flooding
실습sudo hping3 -S --flood --rand-source
명령어를 이용해서 TCP SYN Flooding
공격을 진행한 후 WireShark
를 이용해 해당 패킷을 캡쳐한 내역이다. 1초도 안 되는 짧은 순간에 패킷을 약 17만여개 보냈음을 볼 수 있고, 무작위 호스트에서 SYN
패킷만을 전송한 것을 볼 수 있다.ping
을 날려보니 해당 서버가 잘 살아있는 것을 확인할 수 있었는데, 요즘은 이러한 DoS
공격이 잘 먹히지 않는다고 한다.TCP Connection Flooding
은 한 개의 IP가 다양한 포트로 SYN
패킷을 전송하는 공격이다. 클라이언트는 서버와 3-way hand shake
를 이용해 연결하게 되고 서버의 세션이 꽉 차면 더 이상 연결이 불가능해진다.
DNS Query
요청 패킷을 대량으로 서버에 전송하여 DNS
서버를 마비시키는 공격이다.
DNS
서버들을 이용하여 공격하는 DoS
공격이다. 공격자는 피해자의 IP주소로 DNS
서버에 질의하게 되고, DNS
서버는 많은 양의 패킷을 피해자의 IP주소로 전송하게 된다.
일명 Slowloris
공격이라고 부른다. 공격자는 Http
의 헤더 정보를 비정상적으로 조작하여 서버에 패킷을 보내게 되고, 서버에서는 정상적인 패킷이 올때까지 대기하게된다. Http
에서는 헤더의 끝을 \r\n
이라는 문자로 구분하는데, 공격자는 마지막 개행문자를 전송하지 않는다.
DDoS
는 Distributed Denial of Service
의 약자이다. 디도스 공격은 여러 대의 좀비PC를 기반으로 특정 시간에 타겟에 많은 양의 패킷을 보내는 서비스 거부 공격이다.
방화벽은 신뢰하지 않는 외부 네트워크와 신뢰하는 내부 네트워크 사이를 지나는 패킷에 대하여 rule-based
로 차단하거나 통과시키는 기능을 가진 하드웨어 혹은 소프트웨어를 의미한다.
방화벽의 기능에는 크게 세 가지가 있는데 첫 번째는 접근 제어 기능이다. 문자 그대로 접근해오는 패킷에 대하여 패킷 필터링 혹은 프록시 기반으로 차단하거나 통과시키는 기능을 한다. 두 번째는 로깅과 감사추적 기능이다. 접근 제어의 내용을 기록한다. 마지막 세 번째는 인증 기능이다. 메시지 인증, 사용자 인증, 클라이언트 인증이 가능하다.
IDS
는 전통적인 방화벽이 탐지할 수 없는 모든 종류의 악성 네트워크를 탐지하는 시스템이다. IDS
는 설치된 위치와 목적에 따라 두 가지로 나뉜다. 첫 번째는 N-IDS
로 네트워크 기반 침입탐지시스템이고 두 번째는 H-IDS
로 호스트 기반 침입탐지시스템이다.
IPS
는 IDS
와 방화벽의 조합으로 생각할 수 있다. 패킷을 검사하여 악성 패킷으로 판단되면 해당 패킷을 차단하는 기능을 한다. 하지만 IPS
는 사실상 대부분의 기업에서 사용하지 않는 추세인데, 이유는 패킷의 차단이라는 요소 자체가 굉장히 치명적일 수 있기 때문이다. 확실한 공격, 알려진 공격으로 분류되는 패킷은 차단해도 상관없지만 정상인지 악성인지 애매모호한 패킷들의 차단은 굉장히 민감한 요소이기 때문이다.
일반적인 방화벽과는 달리 WAS(Web Application Service)
의 보안에 특화된 솔루션이다. 웹 해킹 공격기법인 SQL Injection
, Cross Site Scripting(XSS)
등과 같은 공격을 탐지하고 차단한다.
통합위협관리시스템은 앞에서 설명한 방화벽, IDS, IPS, WAF등의 여러가지 보안도구를 사용하는 통합 솔루션 관리 시스템이다. 비용 절감 측면에서 좋고 관리 능력이 향상되는 포괄적인 관리 시스템이 장점이다. 또한, 중소기업 뿐만 아니라 모든 규모의 네트워크에서 이용이 가능하다.
이미지 출처 : https://www.juniper.net/
ESM(Enterprise Service Management)
의 진화된 형태로 볼 수 있으며 네트워크 하드웨어 및 애플리케이션에 의해 생성된 보안 이벤트를 실시간으로 분석할 수 있는 시스템이다. SIEM
의 특징은 다음과 같다.
- 데이터 통합: 다양한 장비의 데이터를 수집, 분석
- 상관 관계: 수집된 데이터를 유용한 정보로 만들기 위해 다양한 상관 관계 분석 가능
- 대시보드: 분석 결과를 대시보드 형태로 제공
- 알림: 이벤트 발생 시 관리자에게 알림