본문 바로가기
시스템 해킹

시스템 해킹 18

by 윤라경 2024. 7. 4.

[2024.07.03]

 

[IDS]

 

01. snort 다운로드 및 설치

#yum -y install epel-release

 

1) snort 다운로드

#wget https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpm --no-check-certificate

#wget https://snort.org/downloads/snort/snort-openappid-2.9.20-1.centos.x86_64.rpm --no-check-certificate

 

2) snort 설치

#yum -y install snort-2.9.20-1.centos.x86_64.rpm --skip-broken

 

#yum -y install libdnet

#cd/lib64

#ln -s libdnet.so.1.0.1 libdnet.1

 

#mkdir -p /usr/local/lib/snort_dynamicrules

 

 

snort.conf의 경우 하나라도 틀어지게 되면,

처음부터 다시 설치해서 사용해야 되기 때문에 snort.conf의 복사본을 만든다

 

 

그 다음 libdnet으로 링크를 걸어두고

 

 

확인 시 libdnet.so.1.0.1과 같이 나타나면 성공적으로 링크가 걸린다

 

 

마지막으로 lib 디렉터리에 snort_dynamicrules라는 디렉터리를 생성해 준다 

 

 

02. snort  환경 설정

 

> /etc/snort/snort.conf

 

45 ipvar HOME_NET 192.168.10.0/24

 

  104 var RULE_PATH /etc/snort/rules
    105 var SO_RULE_PATH /etc/snort/so_rules
    106 var PREPROC_RULE_PATH /etc/snort/preproc_rules

 

   113 var WHITE_LIST_PATH /etc/snort/rules
    114 var BLACK_LIST_PATH /etc/snort/rules

 

<옵션>

:548,651s/^/#/  <-- 548번부터 651번까지 주석(#)을 삽입

 

 

 

왼쪽의 any 화면에서 192.168.10.0/24로 변경시켜 준다

 

 

../ 부분으로 되어 있던 곳을 다 /etc/snort로 변경시킨다

 

 

113, 114 라인도 절대 경로로 변경시켜 준다

 

 

주석(#)이 없는 상태에서 아래의 옵션을 입력해 주게 되면 

 

 

548번부터 651번까지 주석(#)이 삽입된 걸 볼 수 있다

 

 

cd /etc/snort/rules로 들어간다

각각의 파일을 생성해 주면 환경 설정은 끝난다

 

 

03. snort  룰 설정

 

> /etc/snort/rules/local.rules

 

 

#snort -i ens33 -A console -c /etc/snort/snort.conf

 

 

해당 rules의 디렉터리로 가서 local.rules라는 파일을 생성한다

빈 화면에서 화면에 보이는 명령어와 같이 입력한다

 

 

snort로 탐지 대기 상태를 만들어 주고

 

 

Kali linux에서 Cetnos 7의 ip 주소를 넣고 ping을 돌려 본다

보시다시피 Kali linux에서는 잘 돌아가는 것을 볼 수 있다

 

 

다시 CentOS 7으로 돌아와서 확인해 보면 icmp를 감지해 이런 화면이 나타나게 된다

이렇게 CentOS 7에서 이런 화면이 나올 시 성공했다고 볼 수 있다

 

 

이번에는 ftp를 실행해 보려고 한다

해당 룰을 약간씩 수정한 다음

 

 

systemctl restart vsftpd를 실행 후

snort 공격을 시도한다

 

*vsftpd가 없는 경우 설치 후 시도해야 된다

 

 

다시 Kali linux에서 이번에는 ftp로 시도해 본다

정상적으로 로그인이 되는 걸 볼 수 있다

 

 

CentOS 7에서는 ftp가 성공하게 되면 또 탐지를 해서 해당 화면처럼 보여지게 된다 

 

 

#yum -y install telnet-server

#systemctl restart telnet.socket

telnet을 실행하기 위해 위의 두 명령어를 실행

그 후 똑같이 룰을 수정시켜 준다

 

*이 화면의 경우 강사님께서 혼자 telnet도 성공시켜 보라고 해서 혼자 해 본 테스트 화면이다

 

 

 CentOS 7의 탐지 대기 상태 화면

 

 

마찬가지로 Kali linux에서는 telnet도 성공한다

 

 

룰만 맞게 입력했다면 에러가 뜨지 않고도 CentOS 7에서 탐지하는 걸 확인할 수 있다

 

 

혼자 해 본 걸 성공 후에 강사님께서 가르쳐 주신 방법대로

다시 룰을 수정시킨 후 다시 진행했다

 

 

CentOS 7을 대기 상태로 만들고

 

 

Kali linux에서는 telnet 접속 시도를 한다

정상적으로 접속이 됐다면

 

 

CentOS 7에서도 telnet의 TELNET Connetion이 나온다면 성공이다

 

 

이것도 마지막에 강사님께서 ssh도 성공시켜 보라는 미션을 주셔서 혼자 시도해 봤다

 

 

똑같이 룰을 수정하고 Kali linux와 CentOS 7에서 시도 시

마지막으로 ssh도 성공한 걸 확인할 수 있다

탐지 실습을 진행 중에 있기 때문에 Kali linux에서 접속이 되어도

CentOS 7에서 탐지가 되지 않으면 무용지물이다

 

 

 

강의 소감

지난 시간에 이어 오늘도 snort 다운로드 및 설치부터 탐지 실습까지 진행했다

점점 응용해서 내가 생각해서 시도해 봐야 되는 부분이 늘어나서 약간 힘들지만 그래도 배우는 느낌이 들어서 좋다 

'시스템 해킹' 카테고리의 다른 글

시스템 해킹 20  (0) 2024.07.06
시스템 해킹 19  (0) 2024.07.05
시스템 해킹 17  (0) 2024.07.02
시스템 해킹 16  (0) 2024.07.01
시스템 해킹 15  (0) 2024.06.29