본문 바로가기
모의해킹 침해대응 과정/본 과정

모의해킹 / day 40

by 알거음슴 2021. 5. 21.

취약점 진단(Security Consulting)

회사의 자산 중 기술적자산에 포함, 정기적인 보안점검을 위한 취약점 진단이다. 각종 Server, 보안, PC, Network, WEB, Database등 다양한 사내 기술적 자산들위 취약한 부분을 진단. 주로 Tool을 활용하여 진행.

 

1. 취약점 진단 절차

정보 수집 ---> 취약점 수집 ---> 침투 단계 ---> 상세 분석 ---> 보고서 작성

 1) 정보 수집 : Server, Network, Service 등 외부에서 파악 할 수 있는 모든 정보를 수집하는 단계

 2) 취약점 수집 : 각 Network 구간 별 적합한 취약점 Scantool을 활용하여 취약점의 대한 정보를 수집하는 단계 

 3) 침투 단계 : 취약점 수집 기반으로 내부 시스템까지 침투 가능성 있는지 시나리오기반 접근

 4) 상세 분석 : 도출된 취약점 기반으로 보안 위협이 시스템 및 비즈니스측면에서 어느정도 영향을 미치는지 분석

 5) 보고서 작성 : 분석된 결과를 기준으로 총평, 영향도, 상세분석, 보안가이드 등이 포함된 보고서를 작성하는 단계

 

 

모의해킹 (Pentration Testing)

실제 환경과 유사한 상황에서 침투 테스트를 수행, 대상 시스템의 취약점을 파악, 종합적인 대응책과 권고안을 제시함으로 보안수준을 강화하려는 목적이있다. 반드시 합법적인 테스트로 정해진 범주 내에서만 활동이 가능하다.

정보보호의 목표인 비밀성, 무결성, 가용성을 정량적 기준을 판단하여야한다.

국내 시장에서는 WEB, APP 이 주를 이루고 있다.

 

1. 모의해킹의 분류

 1) Black Box : 대상 시스템은 점검진행을 모른채 진행, 최소한의 정보를 가지고 공격을 진행 모의해킹이 해당범주.

 2) White Box : 대상 시스템과 점검을 같이 진행, 개발자와 함깨진행함으로 시큐어 코딩에서 활용.

[참고] ISECOM 에서 발표한 OSSTMM 의 기준한 분류

 Blind Test : 모의 해킹 테스트는 검사 대상에 대한 정보 없이 미리 검사 대상에 통보, 수행

 Double Blind Test : 검사 대상에 대한 정보 없이 검사 대상도 모르는상태로 수행

 Gray Box Test : 제한적인 지식을 제공받고 미리 검사대상에게 통보 하고 수행

 Double Gray Test : 제한적인 지식을 제공받고 검사 대상에게 통보하지 않고 수행

 Tandem Test : 모든 정보를 가지고 검사대상에 통보하고 수행

 Reversal Test : 모든 정보를 제공 받지만 검사 대상에 통보하지 않고 수행

 

2. 모의 해킹 절차와 범위. (by Ahnlab)

1단계 : 수행전 

 1) 대상 범위 선정

2단계 : 모의침투

 1) 정보 수집  2) 목록화  3) 취약점 분석  4) 공격 시도  5) 결과 분석

3단계 : 수행 후

 1) 대응방안 마련  2) 보고서 작성  3) 흔적 제거

 [참고] WEB 모의해킹 진단 범위

1) 사용자 인증  2) 사용자 세션관리  3) 암호화 및 전송 보안  4) 접근 제어 및 권한  5) 데이터 유효성  6) 웹 취약점

 7) 사용자 개인정보보호  8) 정보노출  9) 권환 획득...등등

 

3. 정보 수집

목표 : 정보 수집 절차 ---> 정보 수집 및 목록화 ---> 정보 수집 결과 분석

 1) 용어설명

 정보 (Information) : 의미가 있는 Data.

 풋 프린팅 (Foot printing) : 모의 해킹 대상 시스템의 정보를 모으는 방법. IP, Domain name, 침입탐지 시스템, 사용자 목록 등 다양한 정보 를 수집한다.

 패시브 스케닝 (Passive Scanning) : 공격 대상에 직접 접속이 아닌 검색엔진, whois 명령어 등을 통해 현재 제공되고있는 서비스를 이용하여 이미 공개되어있는 정보를 알아내는 과저

 

[참고] 정보 수집 방법 

 - 인터넷을 활용하는 경우 (정보보안사이트 등) ex) https://www.exploit-db.com/

 - Google 검색을 통해 확인하는 방법 - GHDB(구글해킹)

 - DNS server 를 사용하는 경우 ex) dnsenum

 - 사회 공학적인 기법 (Social Engineering) 

 - 스캐너 활용 ex) nmap CMD , Nessus 등

 

 2) 인터넷 정보보안 사이트를 통한 보안정보 확인방법.

주요사이트 List

(1) Exploit DB : MilwOrm 을 대신하는 악성코드 데이터 베이스 

https://www.exploit-db.com/

(2) Security Focus : 본안 관련된 뉴스, 메거진 등 망라적인 주제 브라우징 가능. 

http://www.securityfocus.com

(3) Krcert : 인터넷 보안 취악성의 대한 국내연구, 보안사고 관리, Securly Alert 출간 (주요정보통신보안)등 제공

https://www.krcert.or.kr/main.do

(4) OWASP : 매년 웹 공격의 대한 통계와 신기술들을 규격화 10대 취약점을 발표하고 관리

http://www.owasp.org/index.php/Main_Page

(5) Mataploit ㅣ 무료 모의 해킹 테스트로 사용되며 Python을 이용한 전 세계 사용자들의 스크립트 툴킷 베포 및 연구

http://www.metasploit.com

 

[실습] Bash shell bug informations 확인.

 * Zero Day Attack  : 최신 공격, 버그의 발생 직후 패치 전 공격하는 방식

 * One Day Attack : 최근 공격, 버그의 패치가 등장이후 적용 전 사이에 공격하는 방식

 * CAPTCHA : Program 화 되어있는 공격을 방어하기 위해 어렵도록 하는 방어체계

GNU Bash - Environment Variable Command Injection (Metasploit)

Bash-3.2-33 version 이전 취약점, bash 구현 후 함수정의 뒤에 임의의 CMD 입력 시 bash 에서 해당 환경변수를 exprot할때 끝에 추가된 CMD 도 함깨 실행됨. 즉 상대편의 시스템을 원격으로 조종가능.

env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 구문등으로 취약여부 진단가능.

 

[참고] CVE & CWE

CVE : Mitre+bender 함깨 구성된 버그의 라벨링작업을 진행. 공유, 신고

https://cvedetails.com/cve/CVE-2014-6271 

CWE : Mitre + SANS 함깨 구성된 Programing 언어의 취약점 라벨링 작업 진행. 공유, 신고

https://cwe.mitre.org/data/definitions/94.html 

 

 3) DNS server 사용한 정보수집

DNS Information 을 통해 Network 정보, Host 정보, OS 정보, IP 등 정보를 수집한다, 대상 회사의 서버 목록 확인, 네트워크 디자인 구성확인이 가능하다 nslookup, dig, host 등 그리고 이하 Tool 을 활용해서도 가능하다.

말테고(matego) : 데이터 마이닝 툴, 조직내 인프라 및 네트워크 구조 파악 특정 인물이 주로 사용하는 웹 사이트 파악.

 

[실습] Google Map 과 Whois Database 사용한 정보 수집

[실습] dig tool 활용

 * dig CMD : 해당 DNSserver 에 등록된 정보를 가져옴 ANY, NS, A, MX, PTR 등등 정보를 확인가능

[실습] dnsenum tool 활용

 * dnsenum CMD : 사전파일 에 나온 모든 네임을 브루트포스 방식으로 시도하면서 서브도메인 이름을 확인가능

[실습] dnsmap tool 활용

 * dnsmap CMD : 사전 파일을 활용 하위 도메인의 존재를 확인.

[실습] DNS 정보수십하여 상용 시스템의 DMZ Network map 그려보기.

[실습] theharvester tool 활용

 *theHarvester : 지정된 도메인을 사용하는 이메일 정보를 수집.

[실습] dnsmap.sh 프로그램 제작.

#!/bin/bash

if [ $# -ne 1 ] ; then
	echo " Usage: $0  <domain name>"
	exit 1
fi

DOMAIN=$1
DICT=/root/bin/test.txt
TMP1=/tmp/tmp1
RESULT=/tmp/tmp2

for i in $(cat $DICT)
do
	host $i.$DOMAIN > $TMP1
	if [ $? -eq 0 ] ; then
		echo " [  OK  ] $i.$DOMAIN "
		cat $TMP1 | sed 's/has address/:/' | sed 's/is an alias for/:/' >> $RESULT
	else
		echo " [ FAIL ] $i.$DOMAIN "
	fi
done
cat $RESULT

 

'모의해킹 침해대응 과정 > 본 과정' 카테고리의 다른 글

모의해킹 / day 42  (0) 2021.05.25
모의해킹 / day 40~41  (0) 2021.05.21
네트워크 이론_4 / day 35~36  (0) 2021.05.14
네트워크 이론_3 / day34~35  (0) 2021.05.13
네트워크 이론_2 /day 32-33  (0) 2021.05.11