2014-04-09 6 views
2

오늘 Snort를 사용하는 법을 배우기 시작했습니다.바이트 코드에 대한 Snort 규칙

그러나 내 규칙 설정에 대한 도움이 필요합니다.

기계로 보낸 네트워크에서 다음 코드를 찾으려고합니다. 이 컴퓨터에는 snort가 설치되어 있습니다 (지금 설치 했으므로).

네트워크에서 분석하려는 코드는 바이트 단위입니다.

\xAA\x00\x00\x00\x00\x00\x00\x0F\x00\x00\x02\x74\x00\x00' (total of 14 bytes) 

이제 코드의 처음 7 바이트를 분석하려고합니다. 첫 번째 바이트가 (AA)이고 7 번째 바이트가 (0F) 인 경우 나를 위해. 그럼 콧노래 소리를 내고 싶다.

지금까지 내 규칙은 다음과 같습니다

alert tcp any any -> any any \ 
(content:"|aa 00 00 00 00 00 00 0f|"; msg:"break in attempt"; sid:10; rev:1; \ 
classtype:shellcode-detect; rawbytes;) 
byte_test:1, =, aa, 0, relative; 
byte_test:7 =, 0f, 7, relative; 

는 내가 분명 어딘가에서 실수를 한 것 같은데요. 어쩌면 콧방귀와 같은 사람이 나를 도와 줄 수 있을까요?

감사합니다.

답변

3

콧김을 배우기로 결심 한 축하해.

alert tcp any any -> any any 

우리는 다음 파이프 (||) 콧김 노하우를 수 있도록 사용하여 콘텐츠 일치를 지정할 수 있습니다

가정 바이트는 규칙 헤더가 잘되어야 TCP 패킷의 페이로드에서 발견 될 예정 우리는 규칙이 바이트가 패킷의 처음 8 바이트에서 발견되는 경우 일치하거나 우리가 "깊이"를 추가 할 수 있습니다 버퍼 할

content:"|AA 00 00 00 00 00 00 0F|"; depth:8; 

을 그리고 있기 때문에 이러한 문자는 진수 바이트가 아닌 ASCII로 해석되어야한다 . "depth"키워드 변경자는 snort가 패킷 또는 버퍼에서 일치하는 내용을 찾았는지 확인하도록 지시합니다. 위의 내용 일치가 true를 반환하려면 모든 8 바이트가 패킷 또는 버퍼의 처음 8 바이트 내에 있어야합니다.

"rawbytes"는 여기에 필요하지 않으며 한 가지 특별한 목적으로 만 사용해야합니다. 텔넷 제어 문자와 일치시킵니다. "byte_test"는 내용 일치를 사용하여 바이트 1과 8이 각각 "AA"와 "0F"임을 이미 확인했기 때문에 필요하지 않습니다.

그래서, 최종 규정이된다 :

alert tcp any any -> any any (\ 
msg:"SHELLCODE Break in attempt"; \ 
content:"|AA 00 00 00 00 00 00 0F|"; depth:8; \ 
classtype:shellcode-detect; sid:10;) 

이 단지 당신이 그렇게처럼 "끈끈한"버퍼 "file_data"를 사용할 수있는 파일 내부에 일치해야한다고 결정하는 경우 :

alert tcp any any -> any any (\ 
msg:"SHELLCODE Break in attempt"; file_data; \ 
content:"|AA 00 00 00 00 00 00 0F|"; depth:8; \ 
classtype:shellcode-detect; sid:10;) 

셸 코드가 대체 데이터 (파일 데이터) 버퍼 내에있는 경우 경고합니다.

당신은 단지 당신과 같이 "flowbits"를 사용할 수 있습니다이 쉘 코드에 대한 특정 파일 형식 내부를 들여다에 규칙에 대해 원하는 경우 :

alert tcp any any -> any any (\ 
msg:"SHELLCODE Break in attempt"; \ 
flowbits:isset,file.pdf; file_data; \ 
content:"|AA 00 00 00 00 00 00 0F|"; depth:8; \ 
classtype:shellcode-detect; sid:10;) 

이 바이트 때 파일을 발견하는 경우이 경고합니다. pdf flowbit가 설정됩니다. pdf flowbit를 설정하는 규칙을 활성화해야합니다.파일 플로우 비트 및 기타 좋은 예를 설정하는 규칙은 여기에서 무료로 제공되는 커뮤니티 룰 세트 https://www.snort.org/snort-rules에서 찾을 수 있습니다.