본문 바로가기
SK shieldus Rookies 16기

[SK shieldus Rookies 16기] 클라우드 기반 스마트 융합 보안 과정 교육 정리(12일차)

by Challenge programmers 2023. 11. 7.

 

오늘 학습 주제

1. 애플리케이션 보안 - 웹 애플리케이션

2. 교전 수칙

3. 효율적 탐색

 

 

 

 

애플리케이션 보안 - 웹 애플리케이션


- 개요 -

웹 브라우저를 통해 접근하고 사용하는 소프트웨어 응용 프로그램

장바구니, 제품 검색과 필터링, 인스턴트 메시징, 소셜 미디어 뉴스피드 등

일반적으로 사용되는 웹 사이트 기능이 웹 애플리케이션을 기반으로 설계

  웹 애플리케이션 웹 사이트
정의 클라이언트(사용자)와 서버 사이에 HTTP 프로토콜을 이용하여 데이터를 주고 받으면서 동작하는
소프트웨어 프로그램
정적인 컨텐츠를 제공하는 웹 페이지나 문서
사용분야 인터넷 뱅킹, 온라인 게임, 웹 메일 등
데이터를 저장,조작, 가공하여 동적인 정보 제공
뉴스 사이트, 쇼핑몰 등 정적인 데이터 제공

 

- 웹 프레임워크 -

 

웹 애플리케이션을 개발하기 위한 구조와 도구를 제공하는 소프트웨어 프레임워크

개발자가 웹 애플리케이션을 구축하고 유지보수하기 위한

일련의 규칙, 패턴, 도구, 라이브러리 등을 제공하여 개발 과정을 단순화하고 가속화

 

 

 

 

교전 수칙


- 칼리 리눅스 -

보안 및 해킹 테스트에 사용되는 Debian 기반의 리눅스 배포판

다양한 보안 도구와 패키지를 포함하고 있어,

네트워크 보안 전문가, 펜트레이션 테스터, 해킹 및 보안 관련 전문가들이

보안 취약점을 찾고 테스트하는 데 사용

 

 

- PTF -

  PTF
개요 시스템이나 네트워크의 보안 취약점을 찾고 해결하기 위해
모의 공격을 위한 
도구와 리소스 모음을 제공하는
오픈 소스 보안 도구 및 프레임워크
특징 다양한 툴셋을 통합하고관리하기 위한 구성 파일과 스크립트를 제공하여
사용자가 필요한 도구를 쉽게
설치하고 실행
주요
기능
  1. 다양한 도구 지원: Metasploit, Wireshark, Aircrack-ng, Burp Suite, Nmap 등과 같은 다양한
    펜트레이션 테스팅 도구를 지원

  2. 자동화 및 배치 처리: 여러 도구를 자동으로 설치하고 실행할 수 있는 기능을 제공

  3. 업데이트 관리: 지속적으로 업데이트되는 도구들에 대한 관리를 제공하여 최신 보안 도구를
    사용할 수 있도록 지원

  4. 사용자 정의 가능: PTF는 사용자가 필요에 맞게 구성하고 사용할 수 있도록 여러 설정 옵션을 제공

 

 

- Metasploit -

  Metasploit
개요 시스템의 보안 취약점을 확인하고 검증하기 위해 사용하는 강력하고 유연한 도구 및 프레임워크
특징 모듈 기반의 구조를 가지고 있어 다양한 보안 작업에 사용
주요
기능
  1. Exploit 모듈: 시스템이나 네트워크의 보안 취약점을 악용하여 접근하고, 공격을 수행하는 데 사용

  2. Payload 모듈: 성공적으로 공격에 성공한 후에 실행되는 코드.
    목표 시스템에서 실행되는 악성 코드로서 다양한 기능을 수행

  3. Auxiliary 모듈: 정보 수집, 스캔, 다양한 작업을 수행하는 데 사용 (ex. 네트워크 스캐닝, 서비스 감지 등의 작업)

  4. Post 모듈: 시스템에 침투한 후에 실행되는 모듈로, 정보 수집, 침투 결과의 활용 등을 담당

  5. Meterpreter: Metasploit에서 사용되는 페이로드로, 원격 제어를 가능하게 하는 강력한 도구
    목표 시스템에서 다양한 작업을 수행

  6. 스크립트와 자동화: Metasploit은 스크립트 언어를 지원하며, 사용자가 자신만의 모듈이나 스크립트를
    작성하여 사용

 

 

- Burp Suite -

  Burp Suite
개요 웹 애플리케이션의 보안 취약점을 발견하고 평가하는 웹 애플리케이션 보안 테스트를 위한 전문적인 도구
특징 사용자 친화적인 인터페이스와 강력한 기능을 제공
주요
기능
  1. 프록시 (Proxy): 클라이언트와 서버 간의 트래픽을 중개하고 조작할 수 있는 프록시 서버를 제공
                              이를 통해 사용자는 웹 요청과 응답을 검사하고 수정 가능
  2. 스캐너 (Scanner): 자동으로 웹 애플리케이션에서의 보안 취약점을 검색
                                   SQL 인젝션, 크로스사이트 스크립팅(XSS), 보안 헤더 문제 등 다양한 취약점을 식별
  3. 리플레이 (Repeater): 웹 요청을 수동으로 수정하고 재전송하여 응답을 분석하고, 다양한 테스트 시나리오를
                                       수행할 수 있는 도구
  4. 시퀀서 (Sequencer): 웹 애플리케이션에서 사용되는 토큰이나 세션 등의 값들을 분석하여
                                       통계 및 엔트로피 분석을 제공
  5. 인터셉트 (Intercept): 프록시를 통해 전송되는 요청과 응답을 일시 중단하고
                                       사용자에게 수정 및 확인 기회를 제공
  6. 캐터피시 (Crawler): 웹 사이트를 탐색하고, 숨겨진 디렉터리나 파일, 링크, 폼 등을 찾아내어 스캔 대상을 확장
  7. Collaborator: Burp Suite와 통합된 서비스로, 트래픽 중에 발생하는 특정 이벤트를 확인하고 보안 취약점을 감지

 

 

 

- OWASP ZAP -

  OWASP ZAP
개요 오픈 소스의 웹 애플리케이션 보안 테스트 도구
특징 무료로 사용할 수 있으며, 커뮤니티에서 활발하게 개발 및 지원
주요
기능
  1. 인터셉팅 (Intercepting): 웹 애플리케이션의 트래픽을 가로채어 수정하고 확인할 수 있는 프록시 기능

  2. 자동 스캔 (Automated Scanning): 자동으로 웹 애플리케이션을 스캔하여 다양한 보안 취약점을 찾아냄
                                                             SQL 인젝션, 크로스사이트 스크립팅(XSS), 보안 헤더 문제 등을 식별

  3. 스파이더링 (Spidering): 웹 애플리케이션을 탐색하고 링크, 디렉터리, 파일 등을 찾아내는 스파이더링 기능을 제공

  4. 자동로그인 (Automated Login): 웹 애플리케이션에 대해 자동으로 로그인하여 인증된 상태에서 스캔을 수행

  5. 기능별 테스트 (Functional Testing): 웹 애플리케이션의 각 기능에 대한 테스트를 수행하여
                                                                기능적인 측면에서의 보안 취약점을 식별

  6. API 지원 (API Support): REST 및 SOAP 등 다양한 API 형태를 지원하여 API 보안 테스트에도 사용

  7. 확장성 (Extensibility): 플러그인 및 확장 기능을 지원하여 사용자가 필요에 맞게 도구를 확장하고 커스터마이징

 

 

 

- 침투 테스트 -

 

시스템이나 애플리케이션의 보안 취약점을 찾고 이를 활용하여 실제 공격을 모방하는 프로세스

 

목적 조직이 자체 시스템의 안전성을 평가하고, 발견된 취약점을 해결하여 보안을 강화하는 데 도움

보안 정책의 준수 여부를 측정하고 보안 문제에 대한 직원의 인식을 테스트

조직이 보안 재해의 대상이 될 것인지 여부 및 방법을 결정하는 것뿐만 아니라 조직의 보안 태세에 취약점을 파악

생성된 보고서는 조직이 보안에 있어서 계획한 투자에 우선순위를 두는 데 필요한 피드백을 제공

애플리케이션 개발자들이 더 안전한 앱을 만들 수 있도록 도울 수 있음
도구 침투 도구는 보안 침해를 초래할 수 있는 응용프로그램에서 악성 코드를 식별하기 위해 코드를 스캔

데이터 암호화 기법을 검사하고 사용자 이름, 암호 등 하드 코딩 값을 식별해 시스템의 보안 취약성을 확인
전략 침투 테스트 프로그램의 한 가지 중요한 측면은 펜 테스터가 작동해야 하는 범위를 정의하는 것

범위는 침투 시험에서 사용할 수 있는 시스템, 위치, 기법 및 도구를 정의함

테스트의 범위를 제한하면 조직에서 통제할 수 있는 시스템에 팀 구성원 및 방어자의 초점을 맞출 수 있음

대상 테스트는 조직의 IT 팀과 침투 테스트 팀이 공동으로 수행 ("켜진" 접근법)

외부 테스트 : 메인 이름 서버, 전자 메일 서버, 웹 서버 또는 방화벽을 포함하여 기업의 외부에서 보이는
서버 또는 장치를 대상 목표는 외부 공격자가 진입할 수 있는지, 일단 접근권을 얻으면 어디까지
진입할 수 있는지 알아내는 것

내부 테스트 : 표준 액세스 권한을 가진 인증된 사용자에 의한 방화벽 뒤의 내부 공격을 모방함
                   불만을 품은 직원이 얼마나 많은 피해를 입힐 수 있는지를 추정하는 데 유용

블라인드 테스트 : 테스트를 수행하는 사람이나 팀에게 주어진 정보를 심각하게 제한함으로써
실제 공격자의 행동과 절차를 시뮬레이션함 정찰에 상당한 시간이 소요될 수 있기 때문에 많은 비용 소요

블랙박스 테스트 : 기본적으로 블라인드 테스트와 동일하지만 테스터는 테스트가 실시되기 전에
정보를 받지 못하고 테스트

화이트 박스 테스트 : 대상 네트워크가 작업을 시작하기 전에 대상 네트워크에 대한 침투 테스터 정보를
제공하여 진행 (IP 주소, 네트워크 인프라 설계도 및 사용되는 프로토콜과 소스 코드와 같은
세부사항을 포함할 수 있음)

 

 

 

 

효율적 탐색


- 보안 스캐너 -

 

컴퓨터 시스템, 네트워크, 웹 애플리케이션 등에서 보안 취약점을 탐지하고 식별하기 위한 도구나 소프트웨어

 

 

《 WhatWeb 》

  WhatWeb
개요 웹 애플리케이션과 웹 사이트의 기술 스택을 식별하기 위한 오픈 소스 웹 탐지 도구
특징 경량이면서도 강력한 웹 탐지 도구로, 정보 수집 단계에서 웹 사이트의 기술적인 특징을 빠르게 식별하는 데 사용
1000개 이상의 플러그인 제공
CMS, Apache, Nginx 버전 정보 등 수집
주요
기능
  1. 웹 기술 식별: 웹 서버, 프레임워크, 플랫폼, 스크립팅 언어, 데이터베이스 등 웹 사이트가
                          사용하는 다양한 기술을 자동으로 식별

  2. 패턴 매칭: 웹 페이지의 HTML, JavaScript, CSS 등에서 특정 기술이나 소프트웨어에 고유한 특징을
                     나타
    내는 특정 패턴을 찾아 기술 스택을 결정 
  3. 플러그인 지원: 다양한 플러그인을 지원하여 사용자가 특정 기술이나 특징을 추가로
                             식별할 수 있도록 확장 가능
  4. 커스터마이징 가능: 사용자가 웹 탐지의 세부적인 동작을 조정하고 원하는 방식으로 커스터마이징

  5. 스크린샷 및 배너 수집: 웹 사이트의 스크린샷을 수집하고, 배너 정보를 추출하여 웹 사이트의
                                         운영체제나 사용 중인 서비스 등을 식별

 

 

《 Nikto 》

 

  nikto
개요 웹 서버에서 발견되는 다양한 보안 취약점을 탐지하기 위한 오픈 소스 웹 서버 스캐닝 도구
특징 경량이면서도 빠르게 웹 서버를 스캔하여 다양한 보안 취약점을 찾아내는 데 사용
내장된 플러그인 제공
애플리케이션 침투 전 정보 제공
오래된 애플리케이션 정보 지원
공격적 스캐닝
CMS, Apache, Nginx 버전 정보 등 수집
주요
기능
  1. 웹 서버 취약점 탐지: 웹 서버에 대한 디렉터리 목록 해킹, 서비스 노출, 파일 및 디렉터리 이름 노출,
                                      다양한 웹 서버 설정 오류 등을 포함한
    다양한 취약점을 자동으로 탐지

  2. 스캔 결과 리포팅: 발견된 취약점 및 문제에 대한 자세한 리포트를 생성

  3. 플러그인 지원: 다양한 플러그인을 지원하여 사용자가 특정 기능을 추가하거나 스캔 동작을 확장

  4. SSL/TLS 취약점 스캔:  SSL/TLS 취약점을 스캔하여 웹 서버의 보안 강도를 확인

  5. 프락시 사용 지원: 프락시 서버를 통해 스캔을 수행할 수 있는 기능을 제공

  6. 스크립트 가능: 사용자가 스캔을 자동화하고 특정 작업을 수행할 수 있도록 스크립트 가능한 기능을 제공

 

- 효율적 무차별 공격(SecLists) -

보안 전문가, 침투 테스터, 윤리적 해커 등이 사용하는 보안 도구 및 프레임워크와

함께 활용되는 목적으로 만들어진 보안 관련 리소스의 모음

SecList Wordlist 설명
Discovery 디렉터리 및 파일 발견을 위한 목록으로
웹사이트 스캔에 사용
Fuzzing 웹 애플리케이션 테스트에 사용되는 URL 및
파라미터 fuzzing을 위한 목록이 포함
IOCs 멀웨어 관련 손상 지표를 감지하기 위해 사용
Miscellaneous 기타 다양한 목적으로 사용될 수 있는 단어 목록이 포함
Passwords 일반적인 패스워드 목록으로, 패스워드 크래킹 테스트에 사용
Pattern-Matching grepping를 위한 목록
Payloads 웹 애플리케이션 취약점 테스트, XSS 공격, SQL 인젝션,
CSRF 공격 등과 관련된 시나리오에서 사용되는
페이로드 목록
Usernames 브루트포스 공격, 인증 취약점 테스트, 사용자 관리 시나리오 등에서
활용될 수 있는 사용자 이름 목록

 

 

- 콘텐츠 탐색 -

《 버프 스위트 》

  BurpSuite
개요 웹 애플리케이션 보안 테스트를 위한 종합적인 도구 세트로
웹사이트 및 웹 애플리케이션의 보안 취약점을 식별하고 분석하는 데 사용
특징 유연하며 강력한 도구로 웹 애플리케이션의 보안 취약점을 탐지하고 해결하는 데 사용
고도로 커스터마이즈된 공격을 위한 페이로드 처리
공격 속도와 딜레이 조절 가능
주요
기능
  1. Proxy: 웹 트래픽을 가로채고 조작할 수 있는 프록시 서버를 제공

  2. Scanner: 웹 애플리케이션에서 SQL 인젝션, 크로스사이트 스크립팅(XSS), 인증 바이패스 등의
                    보안 취약점을 자동으로 탐지하는 기능을 제공

  3. Spider: 웹사이트를 자동으로 탐색하고 연결된 모든 페이지를 수집하는 도구
                 이를 통해 보안 테스트에 필요한 모든 리소스를 발견 가능

  4. Repeater: 특정 요청을 수정하고 반복하여 서버의 응답을 확인할 수 있는 도구

  5. Intruder: 사용자가 정의한 페이로드로 요청을 자동으로 반복하여 브루트포스나
                    디렉터리 트래버설과 같은 공격을 수행

  6. Decoder, Encoder, Comparer: 다양한 인코딩 및 디코딩 기능, 그리고 데이터 비교 도구를
                    제공하여 데이터 조작 및 분석을 지원

 

 

《 OWASP ZAP 》

  OWASP ZAP
개요 오픈 소스의 웹 애플리케이션 보안 테스트 도구
특징 무료로 사용할 수 있으며, 커뮤니티에서 활발하게 개발 및 지원
주요
기능
  1. 버프 스위트의 탐색기능 일부 제공

  2. 버프 스위트 인트루더 Fuzzer 모듈 제공

 

 

《 Gobuster 》

  Gobuster
개요 웹 애플리케이션의 디렉터리와 파일을 브루트포스(무차별 대입) 공격을 통해 찾기 위한 도구
특징 프록시를 통한 공격
후처리를 위한 파일에 출력
대상 도메인의 하위 디렉토리에 대한 무차별 공격