티스토리 뷰

※ 일반적인 점검 방법이며, 양호/취약 여부는 사이트에 따라 다르게 적용,논의될 수 있습니다.

항목 [전자금융] 이용자 입력정보 보호
대상 결제 기능 대상 (전자결제 대상)
항목 설명 o 이용자 거래입력 수단(手段)을 보호하기 위한 금융회사 대응수단 및 적용범위 등을 점검
점검 기준 - 이용자 거래정보 입력보호 범위가 금융회사가 정한 범위와 달리 적용되어 있거나 또는 일관성 확인
- 이용자 거래정보 입력보호에 대응하기 위한 절차 또는 방법 존재 여부 점검 등
점검 방법 1. 이용자 입력정보 보호 확인
1) 결제 기능 접근 악성파일 업로드
2) 결제 진행시 키패드, 보안프로그램 등의 보호 수단이 있는지 확인

 

항목 악성파일 업로드
대상 업로드 기능 대상
항목 설명 o 웹쉘 등과 같은 악성파일이 업로드 될 경우 시스템 명령어 실행 및 인접 서버에 대한 침입 가능성이 존재함에 따라, 악성파일 업로드 및 실행 가능 여부를 점검
점검 기준 - 이미지, 한글(.hwp) 등의 파일 업로드 기능에 JSP, ASP 등의 스크립트 파일 업로드 가능 여부 점검
- 업로드 된 파일의 위치 및 실행 가능 여부 점검 등
* 웹쉘(web shell) : 업로드 취약점을 통하여 해커가 원격에서 웹서버를 조종할 수 있도록 작성한 웹 스크립트
(단체표준 TTAK.KO-12.0002/R3 정보 보호 기술 용어)
점검 방법 1. 악성파일 업로드
// 파일명 : upload_test.jsp// 현재시간을 출력하는 .jsp코드  <%@ page contentType="text/html; charset=UTF-8" %><%@ page import="java.util.Date" %><%  Date now = new Date();%><html>  <head>    <title>현재시간</title>  </head><body>  현재시각:   <%= now %></body>
</html>  

2. 우회 기법
- Nullbyte 삽입 : test.jsp%00.jpeg
- MIME Type 변경: ContentType=image/jpeg로 변경
- 2중 파라미터 : filename=test.jpg.filename=test.jsp, filename=test.jpg & filename=test.jsp
 
3. 업로드된 경로 파악
- 패킷을 확인하여 저장경로 노출 확인
- 그 외 저장경로 추측하여 업로드 파일 실행

 

항목 파일 다운로드
대상 다운로드 기능 대상
항목 설명 o 파일 다운로드 인터페이스를 이용하여 서버의 주요파일 다운로드 가능 여부 점검
점검 기준 - 파일 다운로드 시 파일이 저장된 디렉터리 이외에 경로에 접근하여 주요파일의 다운로드 가능 여부 점검 등
* 주요파일 : 소스코드, 서버설정파일 등
점검 방법 1. 다운로드 기능(URL) 활용
- F12 소스코드 확인
- 패킷에서 노출된 다운로드 URL 확인
 
2. 다운로드 파라미터 위변조
- 위변조 전 : https://test.co.kr/download.jsp?file=Guide.pdf
- 위변조 후 : https://test.co.kr/download.jsp?file=../../../../../../../../../etc/passwd or /etc/host
 
3. 인코딩 우회
-1. passwd: %70%61%73%73%77%64
-2. 16bit 유니코드인코딩: .(%u002e), /(%u2215), \(%u2216)
-3. 더블 URL 인코딩: .(%252e), /(%252f), \(%255c)
-4. 유닉스: ../../../../etc/passwd%0a.jpg (개행문자(%0a) 삽입 가능)
※ Windows의 경우 / -> \(역슬래쉬)

 

항목 외부사이트에 의한 시스템 운영정보 노출 여부
대상 외부 접근 가능 대상
항목 설명 o 검색엔진 또는 외부 사이트에 분석 대상과 연관된 중요정보 노출 여부를 점검
점검 기준 - 검색 엔진 및 외부 사이트에서 제공하는 분석 도구를 이용하여 분석 대상과 연관된 중요정보의 노출 여부 점검 등
점검 방법 1. Googling(구글해킹)
1) 구글 검색창에 아래 조합 검색
  A) site:목적지URL  #해당 사이트에 대한 정보만 색인
  B) allinurl:admin test default  #해당 내용이 포함된 URL만 색인
  C) intext:root passwd  #해당 내용이 포함된 본문만 색인
2) 색인된 내용을 통해 정보 유출 확인
 
2. Shodan (Shodan 유료 계정 필요)
1) [검색내용] hostname:admin  #해당 호스트 이름으로 필터하여 보여줌
2) [검색내용] port:21  #해당 포트에 대한 검색 결과를 보여줌
3) [검색내용] country:KR  #해당 국가로 필터하여 보여줌

 

항목 XML 외부객체 공격(XXE)
대상 모든 대상
항목 설명 o XML 구문 분석기의 입력값 검증 누락으로 인해 시스템의 자원에 접근 가능한 취약점으로, XML 구문에 대한 검증 여부를 점검
점검 기준 - XML 에 정의 되지 않은 구문을 삽입하여 서버로 전송 후 해당 내용이 실행 가능 여부 점검 등
점검 방법 1.  XML 공격 구문
-1. XML 타입으로 요청
-2. 파라미터에 아래 값 삽입
  A) <!ENTITY XXE SYSTEM "file:///etc/passwd"> 구문 삽입
  B) %3c%21%45%4e%54%49%54%59%20%58%58%45%20%53%59%53%54%45%4d%20%22%66%69%6c%65%3a%2f%2f%2f%65%74%63%2f%70%61%73%73%77%64%22%3e
-3. 해당 명령에 대한 응답값 출력 확인

 

항목 자동화 공격
대상 모든 대상
항목 설명 o 시스템 자원 고갈, 비용 발생 등 서비스 운영상 영향을 미칠 수 있는 기능(SMS, 이메일 발송, 계좌인증 호출, 글쓰기, 파일 업로드 등)에 대해 반복된 호출 가능 여부를 점검
점검 기준 - 자동화 도구를 이용하여 SMS 발송, 계좌인증(1원이체) 호출, 글쓰기 등의 반복된 작업 수행 가능 여부 점검 등
점검 방법 1. Burp Suite를 활용한 자동화 공격
  1) 자동화 공격 페이지 패킷 Request "Intruder"로 이동(단축키 Ctrl+i)
  2) "Intruder" 메뉴에서 Clear → 자동화 원하는 변수 Add
  3) "Payloads"에서 Numbers 선택 후 Payload Options에 시작//오르는 수 순으로 기재
  4) Start attack 수행하여 Brute Force 가능한지 확인
※ 자동화 공격 횟수는 담당자 확인을 거치는 것이 안전

 

항목 단말기 브라우저 영역내에서의 중요정보 노출
대상 모든 대상
항목 설명 o 단말기 브라우저 영역 내에서의 중요정보 평문 노출 유무 여부를 점검
점검 기준 - 개발자 도구 등을 통해 이용자 구간 내 중요정보 평문 노출 유무 점검 등
관계법령 등에 중요정보 노출(일회성 노출)이 반드시 필요한 서비스의 경우나 본인확인 후 서비스를 운영할 경우, 예외 처리
점검 방법 1. 개발자 도구 사용
1) 브라우저의 개발자 도구 작동(F12)
2) pw, passwd, id, otp, test, admin, account, card 등 문구 검색
3) 중요 정보가 평문으로 노출되는지 확인
 
2. 프록시 도구 사용
1) 패킷 Request Response 값 확인
2) 응답 패킷 내 중요정보가 노출되는지 확인
 
중요정보비밀번호(로그인 비밀번호 등)

 

항목 디렉토리 목록 노출
대상 모든 대상
항목 설명 o 인덱스 파일로 지정한 파일이 존재하지 않거나, 디렉토리 리스팅을 허락하도록 설정했을 경우 디렉토리 리스트가 출력됨에 따라 하위 파일 및 디렉토리 목록의 출력 여부를 점검
점검 기준 - URL에 디렉터리 명을 입력 했을 경우 하위 파일 및 디렉터리의 목록의 출력 여부 점검 등
점검 방법 1. 디렉토리 목록 노출
1) 존재하지 않는 파일 디렉터리 접근
2) 웹서버 내 디렉터리가 출력되는지 확인
3) 정상 페이지 접근 후 하위 경로로 URL 직접 접근 시도

 

항목 시스템 운영정보 노출 여부
대상 모든 대상
항목 설명 o 웹 서버의 소스 코드 및 오류 메시지를 통한 정보 노출 가능성이 존재하며, 시스템 운영정보 노출 여부를 점검
점검 기준 - 개발자 도구 및 웹 프록시 도구를 이용하여 서버로 부터 중요정보의 전달 여부 점검
- 에러 발생 시 절대 경로 주소나 웹서버 버전 정보 등이 발생 여부 점검 등
점검 방법 1. 특수문자 삽입
1) 공격 구문 삽입
'
`
#
$
%
^
&

2) 중요정보 혹은 불필요 정보가 노출되는지 확인

2.
존재하지 않는 경로 접근

1) 공격 구문 삽입
/test
/security
/admin
/root

2) 중요정보 혹은 불필요 정보가 노출되는지 확인
 
3. 상위 디렉터리 경로 접근
1) 공격 구문 삽입
- /../../../../../etc/passwd
- %2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%65%74%63%2f%70%61%73%73%77%64
2) 중요정보 혹은 불필요 정보가 노출되는지 확인
 
4. 권한없는 경로 접근
1) 인가 계정으로 페이지 경로 확보
2) 비인가 계정으로 페이지 접근
3) 에러에 중요정보 혹은 불필요한 정보가 노출되는지 확인
 
중요정보 : Password, 주민번호, 카드번호, 계좌번호, I-PIN 번호, 카드검증코드 번호(CVC), 카드 유효기간 등
불필요 정보 : Server Software 버전 정보, 서버 종류를 알 수 있는 디폴트 페이지, DB 에러, JAVA 에러 등

 

항목 불충분한 세션종료 처리
대상 권한 기능 대상
항목 설명 o 세션종료 시간 미설정 또는 과도한 세션 종료 설정 여부를 점검
점검 기준 - 이용자 로그인 후 일정시간 이후 동일 세션으로 접속 가능 여부 점검 등
점검 방법 1. 세션 종료 시간 미설정 및 과도한 시간 설정 여부 확인
1) 로그인 및 권한 획득 후 30분 이후 자동 로그아웃 확인
정확한 점검을 위해 마우스, 키보드 등 사용하지 않고 확인

 

항목 불필요한 웹 메서드 허용
대상 모든 대상
항목 설명 o  서비스 운영상 불필요한 웹 메서드(PUT, DELETE, TRACE ) 허용 여부를 점검
점검 기준 - 메서드를 변경하여 실제 요청 시 정상 기능 작동 여부 점검
- 최상위 경로 외에 하위 경로에서도 동일하게 테스트 수행(설정 환경이 다른 경우가 존재)
점검 방법 1. Method : OPTIONS 설정하여 확인
1) 프록시(ex. Burp Suite) 도구를 통해 Method “OPTIONS”로 변경하여 요청
2) 응답 값에 불필요한 Method가 존재하는지 확인
3) PUT, DELETE, PATCH, TRACE이 허용된 경우 실제 사용 Method 인지 개발팀 확인

 

항목 관리자 페이지 노출 여부
대상 모든 대상
항목 설명 o 일반 이용자에 의한 관리자 페이지 접근 가능 여부를 점검
점검 기준 - 알려진 관리자 페이지 및 유추 가능한 페이지 경로에 대해 접근 가능 여부 점검 등
점검 방법 1. 관리자 페이지 삽입 시도
1) 자주 쓰이는 관리자 페이지
/admin
/manager
/mster
/system
/root
/administrator
/wp-admin
/webadmin

2) 관리자 페이지 접근 가능할 경우 취약함

 

항목 불필요한 파일 노출 여부
대상 모든 대상
항목 설명 서비스 운영상 불필요한 기능(테스트 파일, 샘플 파일, 테스트 목적의 기능 등)의 존재 여부를 점검
점검 기준 - 무작위 대입 또는 잘 알려진 경로 대입 등을 통해 불필요한 파일(샘플 파일, 테스트 파일, 백업 파일 등)의 존재 여부 점검 등
개발/테스트 목적으로 사용된 코드(암호화, 테스트 시스템 접속 등)가 실 운영환경에서 정상 동작 가능 여부를 확인
점검 방법 1. 불필요한 파일 리스트
(확장자 txt, jsp, bak, backkup, org, old, zip, log, sql, new, txt, tmp, temp 등 확장자 확인)

/home/httpd/cgi-bin
/test
/printenv
/sample
/info
/code 등

2. 불필요한 샘플페이지 리스트
cgi-bin
manual
usage
iissamples
scripts
iisHelp
IISAdmin
_vit_bin
Printers
phpinfo.php
examples
jsp
servlets 등

 

항목 (2024년 기준 삭제) [전자금융] 단말기 브라우저 영역내에서의 중요정보 노
대상 결제 기능 대상 (전자금융 대상)
항목 설명 o 단말기 브라우저 영역 내에서의 중요정보 기밀성 확보 여부를 점검
점검 기준 - 개발자 도구 등을 통해 이용자 구간 내 중요정보 평문 노출 유무 점검 등
점검 방법 1. 개발자 도구 사용
1) 브라우저의 개발자 도구 작동(F12)
2) pw, passwd, id, otp, test, admin, account, card 문구 검색
3) 신용카드 정보 등의 정보가 평문으로 노출되는지 확인
 
2. 프록시 도구 사용
1) 패킷 Request Response 값 확인
2) 응답 패킷 내 중요정보가 노출되는지 확인
 
중요정보 : 주민번호, 카드번호, 계좌번호, I-PIN 번호, 카드검증코드 번호(CVC), 카드 유효기간 등
(중요정보는 사내 기준에 따름)

'Information Security > Penetration Testing' 카테고리의 다른 글

소프트웨어 및 데이터 무결성 오류  (0) 2024.06.04
식별 및 인증 실패  (0) 2024.06.03
인젝션  (0) 2024.06.01
암호화 실패  (0) 2024.05.31
취약한 접근 제어: 권한/인가  (0) 2024.05.31