반응형
SMALL


1. Remote OS Commnad Injection 개념


- 원격에서 명령어를 삽입할 시 나타나는 취약점이다.

- 웹에서 사용한 쉘 명령어 함수를 2차검증을 하지 않고 그냥 실행시켰을 때 나타나는 취약점이다.

- 검증하지 않으면 &, ;, | 등과 같은 기호로 명령어 사용이 가능해진다.

- 웹 페이지에 파일 경로들이 노출되게 되는 위험한 취약점이라고 볼 수 있다.


2. Remote OS Commnad Injection 로그 및 패턴추출


먼저 액티브 스캔을 시켜준다. ZAP툴에서 Remote OS Command Injection이라고 보고서 툴에서 추가해서 만들어주고 액티브 스캔을 시킨다. injection항목들을 잘 확인하고 추출해야 올바른 결과값이 나온다.




사진처럼 Remote OS Command의 로그를 추출해보면 무수히 많은데 어떤 패턴이 사용되었는지 알아보는 것이 가장 중요하다. 많은 패턴이 있었지만 15개정도로 추려서 뽑아본 목록은 아래와 같다. 보고서양식으로 추출해서 노트패드로 추출한 결과이다.



- &cat%20/etc/passwd&
- ;cat%20/etc/passwd;
- %22&cat%20/etc/passwd&%22
- %22;cat%20/etc/passwd;%22
- '&cat%20/etc/passwd&'
- ';cat%20/etc/passwd;'
- &sleep%205s&
- ;sleep%205s;
- &sleep%20%7B0%7Ds&
- ;sleep%20%7B0%7Ds;
- %22&type%20%25SYSTEMROOT%25%5Cwin.ini&%22
- &type%20%25SYSTEMROOT%25%5Cwin.ini
- %7Ctype%20%25SYSTEMROOT%25%5Cwin.ini
- '&type%20%25SYSTEMROOT%25%5Cwin.ini&'
- '%7Ctype%20%25SYSTEMROOT%25%5Cwin.i




추출해보면 스구일 툴에서도 이런식으로 결과가 나왔다는 것을 볼 수 있다. 하지만 내가 원하는 결과값으로 나오지는 않았다. cat /etc/passwd와 같은 규칙들은 나왔으나 다른 규칙들은 잘 나오지가 않았다. 그래서 스노트규칙을 활용해서 규칙들을 추가해주었다.


3. 탐지 안된 패턴들 규칙 적용하기


 

이런식으로 스노트 규칙을 추가해주었다. 외부ip에서 내부 ip로 들어온다는 규칙은 똑같지만 content쪽에서 규칙이 적용되었다. 여러가지 리눅스 명령어를 추가하고 /, \등 현재 찾은 규칙에 맞게 스노트규칙들을 적용해주었다.



그리고 sudo rule-update명령을 활용해서 새로적용한 룰을 업데이트 시켜준다.




그리고 나서 다시 ZAP툴로 탐지를 시켜서 결과를 확인해보면 아까 탐지가 안되었던 부분들도 탐지가 되고 있으며 헤더와 URI로 나누어서 잘 탐지가 되었음을 볼 수 있다. 이처럼 PCRE명령어를 잘 사용하면 \,/,띄어쓰기 등을 탐지할 수 있다. 아까 추가한 cat, type, dir등이 있는데 이 부분에 다른 sleep과 같은 명령어를 써주면 탐지해낼 수 있다.

반응형
LIST
블로그 이미지

만년필석사

,