본문 바로가기
  • AI (Artificial Intelligence)

Security/Snort17

침입 탐지 시스템 IDS와 침입 방지 시스템 IPS 침입 탐지 시스템 IDS(Instrusion Detection System) 컴퓨터 또는 네트워크에서 발생하는 이벤트들을 모니터링하고, 침입 발생여부를 탐지(Detection)하고, 대응(Response)하는 자동화된 시스템이다. IDS는 원본 트래피을 손실이나 변조 없이 복사해주는 장비인 TAP로 트래픽을 검사하는 구조이다. 즉,IDS는 트래픽 유통에는 전혀 관여하지 않는 Out of Path 방식이다. IDS는 방화벽과 연동하여 공격을 차단하는 소극적인 방어가 가능하다. IDS와 IPS의 핵심 기능은 사전에 정의된 룰과 트래픽의 비교를 통해서 보안 위협을 찾아내는 것이다. IDS의 실행 단계 1) 데이터 수집 2) 데이터 가공 및 축약 3) 침입분석 및 탐지 단계 4) 보고 및 대응 탐지 방법에 의한.. 2015. 2. 4.
Snort 2.9.1 설치 방법 금일 컴퓨터통신 연구실의 컴퓨터에 IDS를 설치하였다. 프로그램을 설치할 운영체제는 CentOS 5.7 이다. 그리고 설치할 프로그램은 Snort 2.9.1 버전이다. 운영체제를 설치할 때는 불필요한 패키지는 모두 제거하고 최소 모드로 설치를 하였다. 먼저 Snort를 설치하기에 앞서 VMware Tool 을 설치한다. 다음은 몇 가지 필요한 프로그램을 설치하여야 한다. 지금부터 소스코드를 컴파일 할 것이기 때문에 컴파일러가 필요하다. yum -y install cc, gcc, gcc-c++ 다음은 wget을 이용하여 아래 파일을 다운로드 받는다. 1. libnet http://www.seronline.de/download/libnet-1.0.2a.tar.gz 2. libdnet http://libdne.. 2014. 3. 31.
Snort 설정 구성표 및 Telnet 패킷 검출 기본적인 Snort 설정 구성표 • mkdir /etc/snort • mkdir /var/log/snort • cd /etc/snort • tar zxvf /home/bubba/snortrules-snapshot-2910.tar.gz -C /etc/snort • cp etc/* /etc/snort • groupadd snort • useradd -g snort snort • chown snort:snort /var/log/snort • touch /var/log/snort/alert • chown snort:snort /var/log/snort/alert • chmod 600 /var/log/snort/alert • mkdir /usr/local/lib/snort_dynamicrules • cp /etc.. 2014. 3. 31.
Snort를 이용한 Brute Force 공격 탐지 시나리오 Snort를 이용한 SSH 접근 검출 시나리오 개요 Snort를 이용해서 관리자 외에 SSH Server에 접근하려는 패킷을 검출해보도록 하자. 시나리오 사용 툴 FreeSSHd Putty Snort 시나리오 망 구성도 IP 구성도 IDS_CentOS : 192.168.10.30 WIN_XP_SSH : 192.168.10.20 BackTrack : 192.168.20.20 Administrator : 172.168.10.10 SW1 : 172.168.10.1 SW2 : 192.168.20.1 SW3 : 192.168.10.1 Serial : 10.10.10.0 대역대 사용 시나리오 순서 설명 WIN_XP_SSH를 SSH를 이용하여 관리하려는 관리자가 존재한다. 이 관리자는 IDS를 설치 한 후 .. 2014. 3. 31.
Snort를 이용한 Port Scanning & Reverse Shell 탐지 시나리오 Snort를 이용한 Nmap Port Scanning 탐지 시나리오 사용 툴 Snort Nmap Hping2 시나리오 망 구성도 시나리오 개념 BackTrack(공격자)에서 WIN_XP를 Port Scanning을 통해 활성화 되 있는 포트를 찾아 취약점을 공략하려 한다. 이때 관리자는 Snort의 탐지 룰을 추가하여 자신 이외에 다른 사용자가 XP에 포트 스캐닝을 하는 것을 탐지하려고 한다. 이에 따라 룰을 추가하여 보자. 시나리오 순서 설명 Hping을 이용해서 각 플래그옵션을 이용한 공격으로 발생되는 패킷 확인 SYN 패킷 위를 살펴보면 공격자(172.168.10.10)에서 지속적으로 1004번 포트로 SYN Packet을 전송하는 것을 볼 수 있다. ACK 패킷 위를 살펴보면 공격자(17.. 2014. 3. 31.
Snort를 이용한 DOS 형태의 공격 탐지 시나리오 Snort를 이용한 Ping of Death탐지 시나리오 사용 툴 hping3 Wireshark Snort 시나리오 망 구성도 시나리오 개념 BackTrack을 이용하여 Ping of Death를 수행 한 후 이를 탐지하는 Snort Rule을 구성해보자. 시나리오 순서 개념 1. BackTrack을 이용한 Ping of Death 공격 수행 #hping3 --icmp [타켓's ip] -d [Data Size] --flood 위의 그림처럼 hping3 툴을 이용하여 데이터가 65000 Byte인 ICMP Packet을 지속적을 보내보도록 하자. 이어서 WIN_XP로 돌아가 결과를 살펴보도록 하자. 2. WIN_XP에서 공격 결과 살펴보기 위처럼 XP에는 IP 속성을 가진 패킷이 계속적을 전달되.. 2014. 3. 31.
Snort 시그네처의 구조 시그네처의 구조 Snort의 시그네처는 rules라는 확장자를 가진 파일에 기술되어 있다. 이 시그네처는 표1과 같은 구조로 되어 있어 1행에 1개의 시그네처를 기술한다. 시그네처는 룰 헤더와 룰 옵션의 2가지 섹션으로 분류된다. 룰 헤더에는 처리 방법, 프로토콜, IP주소, 포트 번호 등의 처리 대상으로서의 판단 기준를 기술한다. 룰 옵션에는 alert 메시지나 패킷 내부의 조사 내용을 기술한다. 시그네처는 표1과 같이 전부 8개로 분류된다. 또한, 룰 옵션 부분은 기술하지 않아도 정당한 시그네처로 인식된다. 각 부분에 기술해야 할 내용을 표1의 번호에 따라 해설한다. Rule header Rule option action protocol IP address port -> IP address Port .. 2014. 3. 19.
Snort 시그네처 작성과 Preprocessor 독자적인 시그네처의 작성 IDS를 운용할 때 특정 호스트사이의 통신은 무시하고 싶은 경우가 있을 것이다. 이와 같은 경우, action에 pass 를 지정한 시그네처를 작성하면 편리하다. 예를 들어, 신뢰할 수 있는 네트워크(192.168.0.0/24)와 DNS서버(192.168.10.20) 간의 통신을 감시 대상으로부터 제외하고 싶은 경우에는 다음과 같은 시그네처를 작성하면 된다. pass udp 192.168.0.0/24 any 192.168.10.20/32 53 이와 같이 하면, 감시 대상으로 할 필요가 없는 패킷을 무시하고, 오검출을 줄여 Snort의 부하를 경감할 수 있다. 반대로, 표준 시그네처로는 검출할 수 없는 패킷을 검출하고 싶은 경우도 있을 것이다. 예를 들어, FTP에서 songlis.. 2014. 3. 19.
Snort 의 Stream4 (TCP) Integer Overflow 취약점 -- 제목 -------------- Snort 의 Stream4 (TCP) Integer Overflow 취약점. -- 해당 시스템 -------- Snort 2.0.0 beta 버젼 Snort 1.9.x Snort 1.8.x --영향----------------- 서비스거부공격(DoS) 공격을 일으킬 수 있으며, 원격에서 명령어를 실행시킬 수 있다. -- 설명----------------------------- Snort는 실시간 트래픽 분석과 IP 네트워크 상에 패킷 로그를 할 수 있는 네트워크 침입 탐지 시스템이다. 이것은 프로토콜 분석, 내용 검색/매칭을 수행할 수 있으며 오버플로우, 은밀한 포트 스캔, OS 탐지 시도 등 여러 가지 종류의 공격을 탐지하는 데 많이 사용된다. preprocess.. 2014. 3. 19.
snort HTTP 관련 매칭 옵션 (http_uri, http_client_body, http_header, etc..) 시작하면서.. 스노트는 HTTP 패킷에 대해.. 패킷 전체가 아닌 특정 필드값에서 패턴을 찾는 작업을 지원한다. 이는 오탐을 줄이는 동시에 성능을 향상시켜주는 효과가 있다. 스노트 사용에 어느정도 자신감이 생겼다면.. 이 옵션을 사용하는 것을 강력히 추천한다. 기본적인 사용법은 메뉴얼을 보면 되겠지만 HTTP 패킷을 분석하는 일에 친숙하지 않은 사람들을 위해.. 각 옵션들이 가리키는 필드에 대해 자세하게 알아보도록 하자. 먼저, HTTP관련 매칭 옵션들은 크게 다음 7가지가 있다. 이 옵션들은 'content'라는 패턴 매칭 옵션과 함께 사용해야 한다. 1. http_method -HTTP 패킷의 method값을 저장하고 있다. 그러므로, 다른 옵션들과 비교해서 패킷의 가장 앞 부분을 가리킨다. 2. h.. 2014. 3. 18.
Snort 3.0 Alpha and IPv6 - Friday, April 06, 2007 For the past few days I've been playing with alpha code for Snort 3.0, recently announced. One of the most interesting aspects of Snort 3.0 is the fact that operation is controlled by a Lua interpreter. It's a little like logging into a Cisco router and it's going to change the way everyone uses and interacts with Snort. I tested snort-03.0.0.a1.4 on a FreeBSD box 6.x box with the lua-5.1.1_2 pa.. 2014. 2. 25.
[Snort] 설치 스노트는 초기에는 Packet Sniffer로 만들어진 도구이다. Signature 기반에 분석 기능이 추가되면서 침입 탐지 시스템으로 사용되기 시작하였다. 현재는 P2P, 백도어, DDos, 웹 공격, 악성코드 등을 탐지할 수 있는 규칙이 제공되고 있다. 구성 환경 : VMware, CentOS 5.3, Snort-2.9.3.1 1. VMware 설정 CentOS를 구동한 다음에 Network 설정을 NAT모드로 설정한다. 2. Snort를 설치하기 위해 필요한 라이브러리를 수동으로 설치한다. cd /usr/local tar zxvf /root/Desktop/snort/libnet-1.0.2a.tar.gz cd Libnet-1.0.2a ./configure && make && make install c.. 2014. 2. 11.
[Snort] SnortReport 설치 SnortReport도 Database에 저장된 정보를 불러와 사용자가 분석할 수 있도록 도와주는 도구이다. cd /var/www/html tar zxvf /root/Desktop/snort/snortreport-1.3.3.tar.gz cd snortreport-1.3.3 cd /var/www/html tar zxvf /root/Desktop/snort/snortreport-1.3.3.tar.gz mkdir /sr mv ./snortreport-1.3.3 ./sr vim srconf.php 31, $pass = "1234"; 44, define("JPGRAPH_PATH", "/var/www/html/jpgraph/src/"); 50, define("NBTSCAN_PATH", "/usr/local/nbts.. 2014. 2. 11.
[Snort] 사용 방법 -v : Be verbose(IP, TCP, UDP, ICMP Header들을 출력함) [root@localhost ~]# snort -v Running in packet dump mode --== Initializing Snort ==-- Initializing Output Plugins! pcap DAQ configured to passive. Acquiring network traffic from "eth0". Decoding Ethernet --== Initialization Complete ==-- ,,_ -*> Snort! 192.168.100.9:33653 UDP TTL:128 TOS:0x0 ID:65246 IpLen:20 DgmLen:156 Len: 128 BD CD 81 80 00 01 .. 2014. 2. 11.
[Snort] User Manual The Snort Project ( www.snort.org ) - May 23, 2012 snort_user_manual_2.9.3.pdf - November 5, 2012 snort_user_manual_2.9.4.pdf 출처 : http://gonisec.tistory.com/entry/Snort-User-Manual 2014. 2. 11.
스노트(snort) 룰을 이용한 PCAP파일 생성 및 IPS탐지 TEST 스노트(snort) 룰을 이용한 PCAP파일 생성 및 IPS탐지 TEST 개요 스노트(snort) 룰을 이용한 PCAP파일 생성 및 IPS탐지 TEST 설치 우선 linux CentOS6.4에서 돌리는게 좋다... 버전때문에 ^^; 설치순서는 아래 순서대로 설치한다 1. byacc bison flex python python-devel svn (yum설치) 2. libpcap (Compile 설치) 3. tcpreplay (Complie 설치) 4. scapy (python script 설치) 5. rule2alert (svn 설치) 필수 패키지 설치 설치전 yum을 이용하여 필요한 rpm을 손쉽게? 설치한다 필요한 패키지 byacc bison flex python python-devel svn (yum.. 2014. 2. 11.
rule2alert - 스노트 룰로 패킷 만들기 스노트룰을 파싱하여 자동으로 네트워크 데이터를 발생시켜 룰(시그니처)를 검증해주는 툴로, s2gen.pl 이라는 것이 있어요. (패킷인사이드; 스노트룰 파싱하여 패킷생성, 전송하기) 오늘 소개해드릴 도구 rule2alert 는 스노트 룰로 패킷을 만들 수 있는 도구입니다. QA에 매우 유용하겠죠! 사용방법은 위키에 잘 나왔으니 참고하시고요. 아주 유용한 기능은 스노트룰을 파싱해서 네트워크 데이터를 만드는것 뿐만 아니라 해당 정보로 PCAP파일로 생성할 수 있다는 거예요. 또한 룰에 flow 옵션이 있다면 TCP 3-way Handshaking 도 자동으로 생성해 줍니다 ^-^)b 도구를 테스트 하다 보면 다음과 같은 문제에 부딪히게 될거에요. 위 pcap 파일 스냅샷을 보시면 맥주소로 채워져야 할 부분이.. 2014. 2. 11.