정보보안(구버전)/DVWA 2019. 3. 10. 11:58

DVWA - 03. OS Command Injection 공격 패턴 분석 및 스노트 룰 설정

 

 

본 내용은 DVWA를 이용한 OWASP Top10 취약점 진단 및 웹-해킹 내용이 아니라, Snort를 이용한 DVWA 취약점 및 공격 패턴을 진단하는 실습 환경입니다.

 

 

1. Injection

 

 - OWASP Top10 A1 - 악의적인 명령 삽입
 - 서버로 전송되는 요청 정보에 악의적인 명령을 삽입하여 불필요한 동작을 실시하거나, 서버/시스템/DB 중요 정보를

   획득할 수 있는 취약점이다.
 - Ex) HTML 인젝션, SQL 인젝션, PHP 인젝션, XML 인젝션

 

 

 

2. 메타케릭터

 

 - Shell이 특별한 의미로 해석하는 문자, 기호를 의미한다.

 

 |

 파이프라인

 앞에서 실행한 명령어 출력 결과를 뒤에서 실행하는 명령어 입력값으로 처리함

 ;

 세미콜론

 한개의 라인에 여러개 명령어를 수행해줌

 &&

 더블 엠퍼센트

 첫 번째 명령어가 성공되면 다음 명령어를 수행함(단, 실패시 다음 명령어 수행 X)

 ||

 더블 버티컬바

 첫 번째 명령어가 실패해도 다음 명령어를 수행함(단, 성공시 다음 명령어 수행 X)

 

 

 

kim@kim-virtual-machine:~$ su
Password: toor


root@kim-virtual-machine:/home/kim# cat /etc/passwd | head -2
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin


root@kim-virtual-machine:/home/kim# nslookup www.google.com
Server:  168.126.63.1
Address: 168.126.63.1#53

 

Non-authoritative answer:
Name: www.google.com
Address: 172.217.31.132

 

root@kim-virtual-machine:/home/kim# nslookup www.google.com ; cat /etc/passwd | head -2
Server:  168.126.63.1
Address: 168.126.63.1#53

 

Non-authoritative answer:
Name: www.google.com
Address: 172.217.31.132

 

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin


root@kim-virtual-machine:/home/kim#


 

 

3. OS Command Injection

 

 - 취약한 시스템 함수에 명령어를 삽입하여 시스템/서버 파일/디렉토리를 접근하는 내용이다.

 - 메타케릭터(;, |, &&, ||)를 이용하여 실시함


 

 

4. OS Command Injection 공격 패턴 분석

 

3-0. OS Command Injection.log

3-1. OS Command Injection 공격 패턴.txt

 

 

 

5. Snort 룰 설정

 

3-2. OS Command Injection 스노트 설정.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

# 3. OS Command Injection
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"3. OS Command Injection URI"; pcre:"/(ls|dir|cat|head|tail|vi|type|chmod|)\x20.*[\x2f\x5c]/Ui"; sid:3000031; rev:1;)
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"3. OS Command Injection Request Header"; pcre:"/(ls|dir|cat|head|tail|vi|type|chmod|)\x20.*[\x2f\x5c]/Hi"; sid:3000032; rev:1;)

 

 

:wq!

 

 

인코딩 내용

 문자열

 ASCII 16진수

 공백

 20

 /

 2f

 \

 5c

 

 

pcre 내용

 pcre

 내용

 (ls|dir|cat|head|tail|vi|type|chmod|)\x20.*[\x2f\x5c]  

  ls /

ls aaa/

ls aaa /

type \

type aaa\

type aaa \

 (ls|dir|cat|head|tail|vi|type|chmod|) 

  ls 또는 dir 또는....

 \x20

 공백

 \x2f 

 /

 \x5c

 \

 .* 

 ANY 또는 탐욕적 수량자

 [\x2f\x5c]

 /, \

 

 

root@kim-virtual-machine:/etc/nsm/rules# rule-update

 

 

'rule-update' 에러가 발생하면, 'local.rules' 파일을 수정한 이후 실시함

root@kim-virtual-machine:/home/kim/Desktop# nsm --sensor --restart --only-snort-alert 


 

 

6. DVWA 'OS Command Injection' 취약점 진단 실시

 

 

DVWA -> Setup -> 'Create / Reset Database' 클릭

 

 

 

vulnerabilities -> 공격 -> 'Active Scan' 클릭

 

 

 

Scope -> 'Show advanced options' 체크

 

 

 

Input Vectors -> 체크 항목 체크

 

 

 

Policy 선택 -> 'Start Scan' 버튼 클릭

 

 

 

 

7. Snort 탐지 결과 확인 및 분석

 

 

Snort -> 'Show Packet Data' & 'Show Rule'를 체크하여 스노트 탐지 분석 실시

 

 

 

8. Snort 룰 삭제 또는 주석 처리 실시

 

 

 

[유튜브] 동영상 강의 링크 (구독! 좋아요!!!)

 

DVWA - 03. OS Command Injection 공격 패턴 분석 및 스노트 룰 설정   https://youtu.be/pa6nyCPcRtY

Posted by 김정우 강사(카카오톡 : kim10322)
,


Q