일반사항

  • 점검내용 : IIS 상위 디렉토리 접근 금지 설정 적용 여부 점검
  • 점검목적 : “..” 와 같은 웹서버 상에서 상위 경로를 사용하지 못하도록 설정하여 Unicode 버그 및 서비스 거부 공격에 이용당하지 않도록 하기 위함
  • 보안위협 : 이용자가 상위경로로 이동하는 것이 가능할 경우 하위경로에서 상위로 접근 하며 정보 탐색이 가능하여 중요 정보가 노출될 가능성이 존재함
  • 참고 : “..” 는 unicode 버그, 서비스 거부와 같은 공격에 쉽게 이용되므로 허용하지 않는 것 을 권장함
  • 점검대상 및 판단기준
    • 대상 : Windows 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 상위 디렉토리 접근 기능을 제거한 경우
      • 취약 :  상위 디렉토리 접근 기능을 제거하지 않은 경우
  • 점검 및 조치 : 사용하지 않는 경우 IIS 서비스 중지, 사용할 경우 상위 디렉토리 접근 기능 제거

스크립트

@echo off
chcp 437 >nul 2>&1

:W_13

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

set OUTPUT_DIRECTORY=C:\INSPECT\%YEAR%_%MONTH%_%DAY%_INSPECTION\
set OUTPUT_FILE=%OUTPUT_DIRECTORY%INSPECTION_OUTPUT.txt
set DETAIL_FILE=%OUTPUT_DIRECTORY%W_13.txt

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-13] IIS Access Parent Path 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check whether IIS ASP can Access to Parent Path		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : IIS Access Parent Is False 			>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

cd %systemroot%\System32\inetsrc\ >nul 2>&1
appcmd.exe list config | find /i "asp enableParentPaths' | find /i "true" >nul 2>&1

if %errorlevel% EQU 0 (
  set result=W-13 = FAIL
  echo IIS Access Parent Path Enabled >> %DETAIL_FILE%
) else (
  set result=W-13 = FAIL
  echo IIS Access Parent Path Dislabled >> %DETAIL_FILE%
)

echo %result%
echo %result% >> %OUTPUT_FILE%

:FINISH
pause >nul 2>&1

 

W_13.zip
0.00MB

파일의 검사결과는 C:\INSPECT아래 오늘날짜로 이루어진 폴더에 들어가 있다.

  • INPSECT_OUTPUT.txt : 결과가 들어가 있다. 
  • W_XX.txt : 점검결과에 대한 세부사항이 들어가 있다. 

첨언

뭐.. 상위디렉털리로 접근하는거를 포함해서 ..이나 이걸 허용하는거 부터가 웃기긴한다. 내부적으로 사용하는 특징이 아닐라면 비활성화 해두자, IIS를 구축하는 경우에는 Default로 Disable 상태로 설정되어있는 기능이다.

 

 

[KISA 주요정보통신기반시설] 취약점 분석 스크립트 올리기

KISA에서 배포하는 기술적 취약점 분석 평가 방법상세가이드라는 가이드가 있다. OS별로, 서버/클라이언트별로 세부항목으로 관리해야하는 기본적인 정보보안 기법이 기재되어있는데, 최근에 사

tutoreducto.tistory.com

 

일반사항

  • 점검내용 : 웹서버 디렉토리 리스팅 차단 설정 여부 점검
  • 점검목적 : 웹서버 특정 폴더에 대한 디렉토리 리스팅 취약점을 제거하여, 불필요한 파일 정보 노출을 차단하기 위함
  • 보안위협 : 웹서버에 디렉토리 리스팅이 제거되지 않은 경우 외부에서 디렉토리 내에 보유하고 있는 모든 파일 목록 확인 및 파일에 대한 접근이 가능하여 주요 정보의 유출의 가능성이 있음
  • 참고 : 디렉토리 리스팅 취약점: 디렉토리에 대한 요청 시 기본 페이지가 호출되어 사용자에게 전송하지만, 기본 페이지가 존재하지 않는 경우 디렉토리 내에 존재하는 모든 파일의 목록을 보여주는 취약점

 

  • 점검대상 및 판단기준
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
      • 양호 : "디렉토리 검색" 체크하지 않음
      • 취약 : "디렉토리 검색" 체크함

 

  • 점검 및 조치
    • Window NT
      • 시작> 실행> INETMGR> 웹 사이트> 속성> 홈 디렉토리
      •  "디렉토리 검색" 체크 해제
    • Windows 2008(IIS 7.0), 2012(IIS 8.0), 2016(IIS 10.0), 2019(IIS 10.0)
      • 제어판> 관리도구> 인터넷 정보 서비스(IIS) 관리> 해당 웹 사이트> IIS> "디렉토리검색" 선택 후 "사용 안 함" 선택

스크립트

@echo off
chcp 437 >nul 2>&1

:W_11

set YEAR=%date:~0,4%
set MONTH=%date:~5,2%
set DAY=%date:~8,2%

set OUTPUT_DIRECTORY=C:\INSPECT\%YEAR%_%MONTH%_%DAY%_INSPECTION\
set OUTPUT_FILE=%OUTPUT_DIRECTORY%INSPECTION_OUTPUT.txt
set DETAIL_FILE=%OUTPUT_DIRECTORY%W_11.txt

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-11] IIS Directory Traversal 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check whether IIS Directory Traversal Feature		>> %DETAIL_FILE%
echo ::  is unchecked ot not					>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : IIS Directory Traversal is Unchecked		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

cd %systemroot%\System32\inetsrc\ >nul 2>&1
appcmd.exe list config | find /i "directoryBrowse enabled' | find /i "false" >nul 2>&1

if %errorlevel% EQU 0 (
  set result=W-11 = PASS
  echo IIS Directory Traversal Disabled >> %DETAIL_FILE%
) else (
  set result=W-11 = FAIL
  echo IIS Directory Traversal Enabled >> %DETAIL_FILE%
)

echo %result%
echo %result% >> %OUTPUT_FILE%

:FINISH
pause >nul 2>&1

 

 

W_11.zip
0.00MB

 

 

 

파일의 검사결과는 C:\INSPECT아래 오늘날짜로 이루어진 폴더에 들어가 있다.

  • INPSECT_OUTPUT.txt : W-11의 검사결과가 PASS / FAIL로 작성되어있다.
  • W_11.txt : 디렉터리 리스팅 설정의 설정현황이 들어가 있다.

첨언

만약 W-10에서 IIS가 돌아가지 않는 상황이라면 미안하지만 W-11은 FAIL로 나온다. 상황을 보고 IIS가 돌아가는 환경에서 사용하자(음. 맞다 코드로 넣으면 되는데 귀찮다.)

 

여담으로 디렉토리 리스팅은 치명적이다. 비단 IIS에서 뿐만인아니라 다른 서버군에서도 uri를 표현하는 방법은 동일하기에, 주의깊게 관심을 가져야할 취약점이다.

 

 

[KISA 주요정보통신기반시설] 취약점 분석 스크립트 올리기

KISA에서 배포하는 기술적 취약점 분석 평가 방법상세가이드라는 가이드가 있다. OS별로, 서버/클라이언트별로 세부항목으로 관리해야하는 기본적인 정보보안 기법이 기재되어있는데, 최근에 사

tutoreducto.tistory.com

 

+ Recent posts