K-shield 주니어 2일차(2025-03-26 수요일)
스캐닝
스캐닝이란 본인이 알고 싶은 대상의 네트워크, 시스템 정보 등을 탐색하는 행위
탐색 대상 : 실행 중인 TCP/UDP 서비스, 시스템 및 운영체제 정보 등등
목적 및 이유? : 공격자는 취약점이 있는 부분을 확인해서 공격하기 위해서 일거고
보호하는 사람은 미리 스캐닝을 해서 취약점이 있는지 확인해서 그 부분을 보안해서 공격을 미리 방지하고자 할 것이다
*스캐닝 은 협의 없이 정보통신망 법률 48조 3항에 따라 처벌됨
1. 활성 시스템 스캐닝 : 현재 동작 중인 호스트 찾기 위한 스캐닝 기법
- ICMP를 이용한 ping을 통해 스캐닝
- 네트워크 구조 및 대상 찾는거라 직접적인 공격 영향없음
종류)
- ICMP Echo ping
- ARPing
- TCP/UDP ping
도구)
-Nmap
-ARPing
2. 포트 스캐닝 : 통신할때 포트가 필요한데 포트의 활성화 여부를 알아보는 기법
종류)
- TCP Port Scanning
- UDP Port Scanning
(1) TCP Connect Scanning
이름 그대로 TCP 연결을 맺어서 스캔하는 방법
포트가 열려있는경우 정상적인 3-way handshake를 수행하여 scan을함
-> 정상적인 연결을 하기때문에 연결 로그가남음
-> 연결을 하고나서 바로 RST 플래그를 보내 연결을 끊음
(2) SYN Stealth(Half Open) Scanning
이름에서 스텔스스캔인거보니까 무언가를 숨긴다는건데 연결 로그를 숨긴다, 남기지않고 포트스캔하는 방법이다
-> 정상적인 tcp연결 즉 3-way handshake 2단계에서 끊어서 로그를남기지않음
정상적인 3-way handshake란 syn 를 보내면 syn+ack를 받고 ack를 보내는 방법
하지만 스탤스 스캔은 syn를 보내고 syn+ack를 받고 ack를 안보내고 rst를 보내 연결을 끊음 그게 차이점
(3) NULL Scanning
TCP 헤더 안에 flag값을 설정하지 않고 전송해서 스캔하는 방법
-> 지정하지않아 응답없음
(4) FIN Scanning
TCP 헤더 안에 flag 값을 FIN으로 설정하여 전송해서 스캔하는 방법
-> 연결한적이 없기 때문에 응답하지않음
(5) X-MAS Scanning
TCP 헤더 안에 flag 값을 FIN/URG/PSH 로 설정 또는 모든플래그로 설정하여 스캐닝 하는방법
-> 정확한 응답을 하기어렵기 때문에 응답하지않음
(6) UDP Port Scanning
ICMP Unreachable 메시지를이용해서 스캐닝 하는 방법
-> 열린경우 응답없거나 UDP 응답이온다
-> 닫힌경우 ICMP메시지 응답이온다, (type 3: destination unreachable, code 3 : port unreachable)
스니핑
스니핑은 대략 홈쳐보는거 그런거라고 보면 되는데
해킹쪽에서는 남이 통신하는 네트워크 트래픽을 홈쳐보거나 사회공학기법으로는 아이디비번 홈쳐보는거 이런거라 생각된다
스니핑을 하기위한 조건에는 같은 네트워크 상에 있어야 하는데
-스위치 재밍
-arp 스푸핑
-arp 리다이렉트
-icmp 리다이렉트
등 공격기법을 이용해서 패킷을 중간에 가로채서 홈쳐보고 정상적으로 통신이 가능하게 IP 포워딩을 해줘야한다
1) 스위치 재밍
- 스위치는 mac주소 테이블을 가지고 연결된 사용자들에게 통신을 하게 해준다
-> 공격자가 임의의 mac주소를 포함한 패킷들을 스위치에 전송한다
-> 스위치의 mac주소 테이블이 가득차서(오버플로우)
-> mac주소 기반 테이블로 통신이 불가능하게되서 더미허브처럼 작동하게됨
-> 즉 통신할때 mac주소를보고 판단해서 보내야하는데 고장났으니 모든포트로 브로드캐스트해서
공격자도 패킷을 받게됨
2) ARP 스푸핑
공격자가 mac주소를 위조하여 패킷을 보낸다
-> 서로 정상적인 통신을하고 있는 희생자들은 위조된 mac주소가 포함된 패킷을 받아 arp 테이블이 변경됨
-> 희생자들이 서로 통신하고 있는것처럼 보이지만 공격자에게 패킷이 전송되고 있는 상황
-> 공격자는 IP forwarding을 통해 희생자들끼리 정상적인 통신이 되게 해서 몰래 스니핑가능
-> 즉 arp 스푸핑은 본인을 호스트로 위장하여 도청하는것
3) ARP 리다이렉트
공격자가 라우터인것처럼 위장해서 패킷을 도청하는 방법
-> 즉 arp 리다이렉트는 라우터의mac주소를 본인의 mac주소로 위장하는것
4) ICMP 리다이렉트
ICMP 리다이렉트 메시지는 패킷전송시 최적의 경로 찾기위한 메시지이다
-> 공격자가 이 ICMP 리다이렉트 메시지를 위조해서 공격자PC로 패킷을 보내는게 최적의 경로라고 인식하게함
-> 희생자PC는 이로 인해 라우팅정보가 공격자pc로가는게 최적의 경로라고 생각하기에 패킷을 보냄으로써
패킷을 도청할수 있게됨
더미 허브 : 단순 네트워크 연결 및 신호 증폭 장비
-> 브로드캐스트를 통해 연결된 모든 장비에 패킷전달
스위치 허브 : 네트워크 연결 및 스위칭 기능을 가진 장비
-> 데이터 프레임을 확인하여 목적지에만 데이터 프레임 전송
기본 네트워크 모드 : 들어온 패킷의 mac,ip 등을 확인해 핕터링 수행
프로미스큐어스 모드 : 들어온 패킷의 모든 필터링 해제 하는모드
-> 즉 모든패킷 다볼수있다. 스니핑하려면 이 모드를 켜야함
스푸핑
arp는 arp 캐시 테이블에 IP 주소와 mac주소를 대응시켜 저장하는데
같은 네트워크 상이라면 이 arp 캐시 테이블을 확인하여 통신을 한다
arp 동작원리
-> 어떤 IP의 mac주소를 알기위해 목적미 mac주소를 FF:FF:FF:FF:FF:FF 로 설정해 보내면
-> 스위치가 이 arp request 메시지를 브로드캐스트를해서 연결된 모든 포트에 보냄
-> IP가 일치하는 호스트는 arp reply를 보냄
arp spoofing :
서로 통신하고 있는 대상자들에게 mac주소를 위조한 arp response를 보내서 희생자들의
arp cache table 을 오염시킴
-> 희생자가 통신할때 공격자를 통해서 통신하기 때문에 공격자는 IP forwarding을 해줘야 통신이 가능함
arp redirect : 공격자가 라우터인척 희생자들을 속여서 스니핑하는 방법
Dos : 서비스하고 있는 서버의 리소스를 부족하게하여 정상적인 서비스를 제공 못하게 하는공격
Ddos : Dos 공격을 엄청많은 수의 서버로 공격하게되면 그게 DDos
Dos 공격 종류
1) TCP SYN Flooding
- 이름그대로 SYN를 계속보내 Flooding(범람) 하게 하는 공격
-> 연결은하지 않고 SYN만 계속 보내기때문에 Half-open 공격이기도하고
-> 서버자원을 계속 소모시켜서 정상적인 서비스 불가 하게함
2) TCP Connection Flooding
- 한개의 IP로 다양한 포트로 SYN 패킷 전송하는 공격
-> 이 공격은 정상적인 3 way-handshake를 통해 세션 연결을하고 여러개의 포트랑 연결을 수행
* 두 공격의 차이점이라면 연결을 맺고 안맺고 차이와
위조된 다양한IP를가지고 공격하는것, 한개의 IP로 다양한포트로 공격하는것 인거같다
3) DNS Query Flooding
- DNS Query 요청 패킷을 대량으로 서버에 보내 정상적인 서비스 방해하는 방법
4) Slow HTTP Header Dos
- HTTP Header 정보를 조작하여서 서버는 온전한 Header정보가 올때까지 기다리게 하는 방법
-> HTTP에선 Header끝부분에 /r/n 개행문자로 헤더의 끝이라고 구분하게 하는데 공격자가
이 개행문자를 보내지 않아 기다리게 만들게함 Slowloris 공격이라고도 불림