NMAP를 SNORT로 탐지하기
Network Map의 약어로 네트워크에 연결되어 있는 호스트의 정보를 파악하는 툴이다.
Kali Linux 에 미리 설치되어 있으므로 그걸 그대로 사용한다.
중요한 옵션
-sP
: 대상호스트가 살아있는지 테스트
-sT
: TCP 스캔, 3-way handshake를 실시
- 동작 예상 포트에 세션을 생성하기 위한 SYN 패킷 전송
- 포트가 열려있는 경우 SYN + ACK 패킷이 돌아오고 공격자는 다시 ACK 패킷을 보낸다
- 포트가 닫혀있는 경우 SYN패킷을 보내면 RST + ACK패킷이 돌아오고 공격자는 아무 패킷도 보내지 않는다
- 3way handshake 과정을 전부 수행하기 때문에 로그기록이 남는다
wevo cam nmap -st
명령어로 취약점을 확인했더니 23번 텔넷 포트와 81번 hosts2-ns 포트가 열려있었다. 만약 취약점 공격을 한다면 이 두 열려있는 두 포트를 공격하면 될 듯 하다.
와이어샤크에서도 tcp로 필터링했을 때 정상적으로 패킷이 보내지는 것을 확인할 수 있었다.
-sS
: TCP half 스캔(로그기록을 남기지 않는 대신 sT
옵션 보다 정확성이 떨어진다.) SYN패킷을 보내고 서버로 부터 SYN+ACK
를 받으면 ACK
를 클라이언트가 보내줘야하는데 ACK
를 보내지 않는다.
wevo cam에 이 공격을 시도해보았는데 wevo cam에 너무 많은 패킷을 보내는 공격인지 중간에 과부화가 걸려 재부팅을 반복했다. 이 공격은 성능이 낮은 디바이스에는 적절하지 않은 공격임을 깨달았다.
Stealth Scan : 방화벽으로 차단한 영역을 검사하거나 IPS/IDS에서 탐지가 안되도록 진행할 때 좋다.
FIN Scan : -sF
옵션으로 FIN 패킷을 보내 열린 포트를 알아낸다.
Snort에서 이러한 정보 수집 탐지하기
목적지를 기준으로 SYN 패킷이 초당 100개 이상 발생 시 경고하는 구문이다.
type both
인 경우 flags가 syn인 패킷에 대하여 1초동안 패킷이 100개 이상 발생하면 한 번 로그 발생시키게 한다.
- type threshold 인 경우 1초당 100개 이상의 패킷이 들어오면 여러번 로그를 발생시키며 both보다 10배는 많이 발생하게끔 한다.
- type limit은 1초에 최대 100개 까지만 출력하겠다고 설정해 놓았다. count는 패킷 개수가 아닌 로드 최대 출력 개수를 의미한다.
이렇게 IPv4에서 일어난 TCP 통신 공격을 정상적으로 정해놓은 rules에 의해 감지를 했고
마지막에 어떤 것을 필터링 했는지도 보여줬다.
nmap -sT xxx.xxx.x.xx
로 공격을 실행하였을 때
Uploaded by Notion2Tistory v1.1.0