오늘도 간단한 공격을 snort로 탐지해보려고 한다.
공격자는 칼리리눅스이고, 피해자는 IP가 192.168.48.165인 우분투이다.
1) Snort3로 탐지할 준비하기
스노트 탐지 방법은 점점 손에 익어가는 것 같다.
순서는 늘 똑같다.
이전 log 파일 삭제 -> 탐지 룰 수정(새로운 탐지룰 넣어주기) -> 탐지 -> 로그분석 순이다.
2-1. 이전 log 파일 삭제
sudo rm /var/log/snort/*
1-2. 탐지 룰 수정
sudo gedit /usr/local/etc/rules/local.rules
이번에는 icmp 패킷들을 탐지하는 룰로 수정해주려고 한다.
alert icmp any any -> $HOME_NET any (msg: "ICMP Flooding"; sid:1000025;)
1-3. 간단하게 실행시켜보기
간단히 실행해보고, 에러가 나진 않는지 확인한다.
snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/local.rules
1-4. 탐지
에러가 안나는 것을 확인해주었다면, 탐지한 뒤 이를 로그파일로 저장할 수 있도록 한다.
sudo /usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -s 65535 \
-k none -l /var/log/snort -i ens33 -m 0x1b
2) Land attack
칼리리눅스에서 hping3를 사용해 간단히 공격을 시도할 수 있다.
아래 명령어를 터미널에 입력해주면 된다.
hping3 192.168.48.165 -a 192.168.48.165 --flood --icmp
192.168.48.165 부분은 피해자 IP주소를 입력해주면 되는 것이다.
그럼 아래와 같이 나온다.
3) 로그 분석하기
조금 시간이 흐르면, ctrl+C를 눌러서 공격을 멈춘다.
그리고 우분투에서도 탐지를 멈춘 뒤, 로그 파일이 저장되는 폴더를 확인해보자.
이전에는 alert_json.txt 파일만 생겼었는데, 이번에는 엄청나게 많은 로그파일이 생성된 것을 알 수 있다.
아무래도 flooding 공격이다 보니 많은 것들이 탐지된 것 같다.
alert_json.txt 파일을 확인해보면,
대충 봐도 엄청나게 많은 로그가 쌓인 것을 알 수 있다.
몇가지 살펴보면, dst_addr과 dst_ap가 192.168.48.165이고, ICMP 패킷이 탐지된 것을 알 수 있다.
그리고 same src/dst IP 메세지도 꽤나 보인다.
다음에는 Splunk로 더 자세한 분석을 해보려고 한다!
'보안' 카테고리의 다른 글
오픈소스 EDR 시스템 GRR(Google Rapid Response) 설치하기 (0) | 2022.12.01 |
---|---|
[NIDS] Snort로 arp spoofing 탐지해보기 (0) | 2022.03.28 |
[NIDS] Snort Splunk 사용하기 (0) | 2022.03.25 |
[NIDS] Snort 자동 실행을 위한 systemD 설정하기 (0) | 2022.03.25 |
[NIDS] Snort 플러그인 configuration, JSON 형식 내보내기 (0) | 2022.03.24 |