1. Remote OS Command Injection 취약점이란?
- 운영체제 명령어 삽입 취약점으로 변수 값의 검증 미흡으로 발생하는 취약점
- 운영체제 명령어 삽입으로 인해 파일 목록 등이 유출될 수 있어 심각한 취약점으 로 분류됨
2. Remote OS Command Injection 취약점 탐지 실습
그림 2-1 local.rules
Security Onion을 실행해 /etc/nsm/rules 폴더로 이동한 후 vim을 활용해 local.rules를 실행한다.
그림 2-2 스노트 규칙 작성
local.rules 파일에 스노트 규칙을 작성한다. 외부 아이피 주소에서 웹 서버 주소로 전달해주며 메시지는 Remote OS Vulerability in URI로 출력되며 PCRE 정규화 표현식을 적용한다. I 옵션은 정규화 되지 않은 URI 디코딩한 문자열과 패턴이 매치된다. 공격 로그는 PCRE 정규화 표현식에 의해 &cat /etc/passwd&로 탐지될 것이다.
그림 2-3 rule-update
local.rules 파일 저장 후 스노트 규칙을 업데이트한다. Fail이 출력되면 스노트 규칙 적용이 안되기 때문에 OK가 나올때까지 스노트 규칙을 수정 해야 한다.
그림 2-4 rule-set 업데이트
rule-update만 하게 되도 스노트 룰 적용이 안될 수 있기 때문에 rule-set도 같이 업데이트 한다. 모두 OK가 나오면 스노트 규칙이 정상적으로 적용된 것이다.
그림 2-5 sguil 실행
스노트 규칙 적용 후 sguil을 실행한다. sguil을 통해 Remote OS Command Injection 공격 취약점이 탐지된다.
그림 2-6 프록시 설정
칼리리눅스에서 Preference-> Advanced로 가서 프록시 설정을 한다. 127.0.0.1을 입력하고 OK를 누른다.
그림 2-7 DVWA Commmand Execution
DVWA를 실행시켜 보안 레벨을 Low로 낮춘 후 Commmand Execution을 실행시켜 127.0.0.1&cat /etc/passwd를 입력하고 submit한다.
그림 2-8 Sguil 탐지
Submit을 하면 Sguil에서 Remote OS Command Injection 공격을 탐지한다.
그림 2-9 스노트 규칙
그림 2-2에서 입력한 스노트 규칙도 확인 가능 하다.
그림 2-10 submit 로그
그림 2-7에서 보낸 정보를 탐지한 로그다. 127.0.0.1&cat /etc/passwd에 스노트 규칙에 의해 정규 표현식이 적용되 변환되서 탐지됐음을 볼 수 있다.
'웹 취약점 탐지 및 분석' 카테고리의 다른 글
Persist XSS 공격 취약점 및 탐지 실습 (0) | 2018.10.20 |
---|---|
Directory Browsing 취약점 및 탐지 실습 (0) | 2018.10.20 |
Cross site Scripting 취약점 탐지 실습 (0) | 2018.01.09 |
Remote OS Command Injection 취약점 탐지 실습(2) (0) | 2018.01.09 |
스노트 규칙 (0) | 2018.01.09 |