정보보안(구버전)/DVWA 2019. 3. 10. 12:02
DVWA - 10. Remote Code Execution(PHP-CGI) 공격 패턴 분석 및 스노트 룰 설정
본 내용은 DVWA를 이용한 OWASP Top10 취약점 진단 및 웹-해킹 내용이 아니라, Snort를 이용한 DVWA 취약점 및 공격 패턴을 진단하는 실습 환경입니다.
1. Using Known Vulnerable Components
- OWASP Top10 A9 - 알려진 취약점이 있는 구성 요소 사용
- 슈퍼유저 권한으로 운영되는 취약한 라이브러리/프레임워크, 기타 SW 모듈로 인한 데이터 유실 및 서버 권한 획득이
가능한 취약점이다.
2. CGI
- CGI : Common Gateway Interface
- 서버가 클라이언트로부터 요청을 수신하면, 이 요청이 어플리케이션에서 처리되어야 할 경우, 서버가 어플리케이션을
실행시키고 이에 대한 응답을 받는 기능을 수행한다.
- Ex) 브라우저가 서버를 경유하여 DB 서버에 질의를 내는 웹페이지를 작성할 때 사용함
3. PHP CGI Remote Code Execution
- PHP가 CGI 기반으로 동작할때 CGI 스크립트가 질의 문자열을 제대로 처리하지 못하여 발생하는 취약점이다.
- PHP CGI 옵션(-s, -d) 취약점을 이용하여 리버스 쉘 획득, 시스템 특정 파일을 획득할 수 있다.
- CVE 2012-1823 취약점 : https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2012-1823
'php' 도움말 확인
root@kim-virtual-machine:/etc/nsm/rules# php -h -a Run interactively args... Arguments passed to script. Use -- args when first argument --ini Show configuration file names --rf <name> Show information about function <name>. |
[참고] php-cgi 취약점 테스트 명령어
allow_url_fopen=1 외부의 URL로부터 파일을 읽어옴
allow_url_include= 1 외부의 파일을 incoud, includ_once, require, require_once와 같은 파일로 include 허용함
auto_prepend_file=php://input HTTP Request Body로부터 데이터를 갖고와 실행함
4. Remote Code Execution(PHP-CGI) 공격 패턴 분석
10-0. Remote Code Execution(PHP-CGI).log
10-1. Remote Code Execution(PHP-CGI) 공격 패턴.txt
5. Snort 룰 설정
10-2. Remote Code Execution(PHP-CGI) 스노트 설정.txt
root@kim-virtual-machine:~# cd /etc/nsm/rules
root@kim-virtual-machine:/etc/nsm/rules#
root@kim-virtual-machine:/etc/nsm/rules# vi local.rules
# 10. Remote Code Execution(PHP-CGI) pcre:"/\bauto_prepend_file\s*?=/U"; sid:3000101; rev:1;) pcre:"/\ballow_url_include\s*?=/U"; sid:3000102; rev:1;) http_raw_uri; pcre:"/(?:\/(?:php)?|\.php)\?[\s\+]*\-[A-Za-z]/U"; sid:3000103; rev:1;) sid:3000104; rev:1;) content:"<?"; http_client_body; sid:3000105; rev:1;)
:wq! |
인코딩 내용
문자열 |
ASCII 16진수 |
: |
3a |
/ |
2f |
pcre 내용
pcre |
내용 |
\bauto_prepend_file\s*?= |
auto_prepend_file = auto_prepend_file = |
\b |
경계 문자, 단어 시작 |
\bauto_prepend_file |
auto_prepend_file로 시작 |
\s |
화이트스페이스 (공백, Tab) |
*? |
게으른 수량자 |
= |
= |
pcre 내용
pcre |
내용 |
\ballow_url_include\s*?= |
allow_url_include = allow_url_include = |
\b |
경계 문자, 단어 시작 |
\ballow_url_include |
auto_prepend_file로 시작 |
\s |
화이트스페이스 (공백, Tab) |
*? |
게으른 수량자 |
= |
= |
root@kim-virtual-machine:/etc/nsm/rules# rule-update
'rule-update' 에러가 발생하면, 'local.rules' 파일을 수정한 이후 실시함
root@kim-virtual-machine:/etc/nsm/rules# nsm --sensor --restart --only-snort-alert |
6. DVWA 'Remote Code Execution(PHP-CGI)' 취약점 진단 실시
dvwa 우클릭 -> 공격 -> 'Active Scan' 클릭
Policy 선택 -> 'Start Scan' 버튼 클릭
7. Snort 탐지 결과 확인 및 분석
Snort -> 'Show Packet Data' & 'Show Rule'를 체크하여 스노트 탐지 분석 실시
8. Snort 룰 삭제 또는 주석 처리 실시
[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)
DVWA - 10. Remote Code Execution(PHP-CGI) 공격 패턴 분석 및 스노트 룰 설정 https://youtu.be/nQbEy4HVMsE
'정보보안(구버전) > DVWA' 카테고리의 다른 글
DVWA - 09. Source Code Disclosure(PHP-CGI) 공격 패턴 분석 및 스노트 룰 설정 (0) | 2019.03.10 |
---|---|
DVWA - 08. Remote Execution Shellshock 공격 패턴 분석 및 스노트 룰 설정 (0) | 2019.03.10 |
DVWA - 07. Directory Browsing 공격 패턴 분석 및 스노트 룰 설정 (0) | 2019.03.10 |
DVWA - 06. Path Traversal 공격 패턴 분석 및 스노트 룰 설정 (0) | 2019.03.10 |
DVWA - 05. XSS Injection 공격 패턴 분석 및 스노트 룰 설정 (0) | 2019.03.10 |