카테고리 없음

Remote OS Command Injection 취약점 및 탐지 실습 (2)

만년필석사 2018. 10. 21. 00:29
반응형

1. Remote OS Command Injection 취약점 탐지 실습



그림 1-1 local.rules


Security Onion을 실행해 /etc/nsm/rules 폴더로 이동한 후 vim을 활용해 local.rules를 실행한다.



그림 1-2 스노트 규칙 작성


local.rules 파일에 스노트 규칙을 작성한다. 외부 아이피 주소에서 웹 서버 주소로 전달해주며 메시지는 Remote OS Vulerability in URI로 출력되며 패턴을 URI나 요청메시지 헤더에서 각각 탐지되게 하려면 스노트 규칙의 sid 넘버를 달리하고 PCRE 정규화 표현식을 적용한다. sid는 30000002로 정의하고 I 옵션은 정규화 되지 않은 URI 디코딩한 문자열과 패턴이 매치된다.


그림 1-3 rule-update


local.rules 파일 저장 후 스노트 규칙을 업데이트한다. Fail이 출력되면 스노트 규칙 적용이 안되기 때문에 OK가 나올때까지 스노트 규칙을 수정 해야 한다.


그림 1-4 rule-set 업데이트


rule-update만 하게 되도 스노트 룰 적용이 안될 수 있기 때문에 rule-set도 같이 업데이트 한다. 모두 OK가 나오면 스노트 규칙이 정상적으로 적용된 것이다.


그림 1-5 sguil 실행


스노트 규칙 적용 후 sguil을 실행한다. sguil을 통해 Remote OS Command Injection 공격 취약점이 탐지된다.


그림 1-6 Command Execution


DVWA를 실행시켜 보안 레벨을 Low로 낮춘 후  Commmand Execution을 실행시켜 ;cat /etc/passwd를 입력하고 submit한다.


그림 1-7 Sguil 탐지


Submit을 하면 Sguil에서 Remote OS  Command Injection 공격을 탐지한다. 


그림 1-8 스노트 규칙


그림 1-2에서 적용했던 스노트 규칙도 잘 탐지되었음을 볼 수 있다. sid 번호는 30000002다.


그림 1-9 submit 로그


그림 1-6에서 보낸 정보를 탐지한 로그다. 정규 표현식에 의해 변환되서 탐지 되었음을 볼 수 있다. ;는 %3B, /는 %2F를 의미한다.


반응형