Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
관리 메뉴

삽질블로그

[Kali_LINUX] Command Injection Attack | DVWA | Website Hacking Attacks 본문

카테고리 없음

[Kali_LINUX] Command Injection Attack | DVWA | Website Hacking Attacks

삽질장인 2020. 8. 26. 19:27

※ 본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 혹시라도 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.

Command Injection 공격이란?

입력 창에 원하는 입력값 이외에 다양한 연결 기호(";", "&&", "||" 등)를 붙여 시스템 명령 등을 추가로 입력해서 정보를 탈취하는 공격을 말합니다.

 

처음화면

 

정상 입력

 

Forward를 눌렀을 때 정상적으로 ping에 대한 결과만 나온다.

 

공격 - 이제 IP주소 뒤에 세미콜론(;)을 붙여 패스워드 정보를 요청

요청에 패스워드 요청이 덧붙여 전송되고 Forward 버튼을 누르게 되면 서버로 전송을 유도합니다.

취약점 : 웹 개발자는 텍스트 박스에 IP 이외의 문자에 대해서는 예외처리하지 않았다.

 

HTTP history를 보면 ping에 대한 응답도 왔지만 시스템의 패스워드 정보도 읽어온 것을 확인할 수 있다.

 

1) POST 패턴 정책화

  스노트(SNORT) 룰 형식 : content:"POST";depth:4;

2) IP 이외의 값을 추출(1)

     먼저 정상 요청과 비정상 요청을 비교해 보자!

     정상 사용자 : ip=1.1.1.1&Submit=Submit

     비정상 사용자: ip=1.1.1.1%3Bcat+%2Fetc%Fpassword&Submit

     IP주소 다음에 반드시 &Submit이 없는 요청은 공격자로 간주

   IP 이외의 값을 추출(2)

     스노트 룰 형식 : pcre:!"/ip=[0-9]{1,3}\.[0-9]{1.3}\.[0-9]{1,3}.[0-9]{1,3}&Submit/";

     스노트에서 PCRE 기본 규칙은? Pcre:[!]"/내용/";

     [0-9]{1,3}\.

     IP주소는 숫자[0에서 9]로 이루어져 있고, 길이는 {1에서 3까지}

     그리고 .(점은 특수문자 \와 같이 써야 함)으로 4개로 구성

  3) 해당 페이지만의 특징

     해당 취약한 페이지만 가지는 특징이 필요하다. 왜냐하면, 이 페이지에 대해서만 취약점을 가지고 있기 때문이다.

     스노트 룰 형식: content:"Submit";

     [오탐 가능성] Submit 이란 이름은 다른 폼에서도 사용될 수 있어서 대상지 서버 주소를 추가로 정책에 넣으면 오탐을 줄일 수 있다.

 

#Snort 란?

   Snort는 실시간으로 트래픽 분석과 패킷을 기록하는 침입 방지 시스템이다.

 

#Snort 기능

   - 패킷 스니퍼 모드

       tcpdump와 같은 네트워크의 TCP/IP 패킷을 읽어 보여주는 기능을 제공

   - 패킷 로거 모드

       모니터링한 패킷을 저장하고 로그를 기록하는 등 트래픽 디버깅에 유용하게 사용

   - Network IDS 모드

      침입방지시스템(IDS) / 네트워크 트래픽 분석 및 공격 탐지 기능 제공

   - Snort Inline

      침입방지시스템(IDS) / 패킷 분석, 공격 차단 기능 제공

 

# Snort 구조

   - Sniffer

      Snort IDS를 통과한 모든 패킷을 수집

   - Preprocessor

      공격 탐지를 위해 plug-in을 먼저 거치며 매칭되는지 확인

   - Detecion Engine

      Rule 기반 탐지 엔진으로, 사전 정의된 탐지룰과 매칭되는지 확인

   - Alert Logging

      정책에 따른 로그 기록을 함

 

# /etc/nsm/rules/downloaded.rules : 스노트에서 기본으로 제공하는 규칙 파일

# /etc/nsm/rules/local.rules : 사용자가 정의 해주는 스노트 규칙 파일

   사용자 정의 스노트 규칙 파일을 작성할 때에는 다음과 같은 형식으로 작성해준다.

   [Action] [Protocol] [Src IP] [Src IP] [Src Port] [방향] [Dst IP] [Dst Port] [(Option)]

# /etc/nsm/templates/snort/snort.conf : 스노트 설정 파일

 

Comments