일반사항

  • 점검내용 : NetBIOS 바인딩 서비스 구동 여부 점검
  • 점검목적 : NetBIOS와 TCP/IP 바인딩을 제거하여 TCP/IP를 거치게 되는 파일 공유서비 스를 제공하지 못하도록 하고, 인터넷에서의 공유자원에 대한 접근 시도를 방지하고자 함
  • 보안위협 : 인터넷에 직접 연결되어 있는 윈도우 시스템에서 NetBIOS TCP/IP 바인딩이 활성화 되어 있을 경우 공격자가 네트워크 공유자원을 사용할 우려 존재
  • 참고 : NetBIOS(Network Basic Input/Output System)는 별개의 컴퓨터상에 있는 애플리케이 션들이 근거리통신망 내에서 서로 통신 할 수 있게 해주는 프로그램. IBM pc를 위한 네트워크 인터페이스 체계로 네임, 세션, 데이터그램의 세가지 서비스를 제공하며 NetBIOS를 통해 파일 공유와 프린터 공유 등을 서비스로 이용
  • 점검대상 및 판단기준
    • 대상 : Windows NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준 
      • 양호 : TCP/IP와 NetBIOS 간의 바인딩이 제거 되어 있는 경우
      • 취약 : TCP/IP와 NetBIOS 간의 바인딩이 제거 되어있지 않은 경우
  • 점검 및 조치
    • Windows NT, 2000, 2003, 2008, 2012, 2016, 2019
      • 시작> 실행> ncpa.cpl> 로컬 영역 연결> 속성> TCP/IP> [일반] 탭에서 [고급] 클릭> [WINS] 탭에서 TCP/IP에서 “NetBIOS 사용 안 함” 또는, “NetBIOS over TCP/IP 사용 안 함” 선택

스크립트

@echo off
chcp 437 >nul 2>&1

:W_24

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_24.txt
set TEMP_FILE=%OUTPUT_DIRECTORY%tmp_w.24.txt

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-24] NIC Netbios over TCP config check			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check whether NIC Netbios over TCP config is turned off		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : all TCPOverIP is off			>> %DETAIL_FILE%
echo ::  Need Review : In case of no TCPOverIP is used			>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

set vulcount=0

wmic nicconfig get TcpipNetbiosOptions | find "0" >nul 2>&1
if %errorlevel% EQU 0 (
  set /A vulcount+=1
) 

wmic nicconfig get TcpipNetbiosOptions | find "1" >nul 2>&1
if %errorlevel% EQU 0 (
  set /A vulcount+=1
) 

if %vulcount% GEQ 1 (
  echo. >> %DETAIL_FILE%
  wmic /output:%TEMP_FILE% nicconfig where "TcpipNetbiosOptions is not null" get caption,TcpipNetbiosOptions >nul 2>&1
  type %TEMP_FILE% >> %DETAIL_FILE%
  set result=W-24 = Need Review
) else (
  echo All NIC's TcpipNetbiosOptions config is off >> %DETAIL_FILE%
  set result=W-24 = PASS
)

if EXIST %TEMP_FILE% (del %TEMP_FILE%)

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

:FINISH
pause >nul 2>&1

W_24.zip
0.00MB

 

 

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

  • INPSECT_OUTPUT.txt : 결과가 기재되어있다. 하나의 Network 어댑터라도 NetBios Over TCP가 켜져있는경우 Need Review이며, 모두 꺼져있는경우에 PASS이다. 
  • W_24.txt : 결과가 NEED REVIEW 인경우 어댑터의 이름과 NetBiosOverTCP 설정이 기재되어있다.(2가 꺼진거다.) 

 


첨언

NETBIOS를 사용하는 서비스나 응용프로그램들도 있다. 이때문에 설정이 켜져있다고 해서 무작정 취약하다고는 볼 수 없다. 

 

 

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

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

tutoreducto.tistory.com

일반사항

  • 점검내용 : IIS 설치 시 기본적으로 제공되는 불필요한 파일 제거 여부 점검
  • 점검목적 : IIS 서비스 설치 시 기본으로 설치되는 예제 스크립트, 설명서, 샘플 애플리 케이션, 디렉토리 등 서비스에 불필요한 IIS 모듈을 제거하여 불필요한 공격 대상으로 이용되는 것을 방지하기 위함
  • 보안위협 : IIS 서비스 설치 시 기본적으로 제공 되는 파일 및 디렉토리를 제거하지 않 을 경우, 해당 파일들로 인해 공격 대상으로 이용되거나 백도어가 심어질 위 험이 존재함
  • 점검대상 및 판단기준
    • 대상 : Windows 2000, 2003
    • 판단기준
      • 양호 : 해당 웹 사이트에 IISSamples, IISHelp 가상 디렉토리가 존재하지 않는 경우취약 : 해당 웹 사이트에 IISSamples, IISHelp 가상 디렉토리가 존재하는 경우 ※ 조치 시 마스터 속성과 모든 사이트에 적용함
  • 점검 및 조치
    • Sample 디렉토리 확인 후 삭제함
      • c:\inetpub\iissamples
      • c:\winnt\help\iishelp (IIS 설명서)
      • c:\program files\common files\system\msadc\sample (데이터 액세스)
      • %SystemRoot%\System32\Inetsrv\IISADMPWD
    • IIS 7.0(Windows 2008) 이상 버전 해당 사항 없음

스크립트

@echo off
chcp 437 >nul 2>&1

:W_14

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-14] IIS Unneeded Directory Check			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check whether IIS Unneeded Directory Exist		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  RESULT : Always "Need Review"			>> %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 c:\inetpub\iissamples >nul 2>&1

if %errorlevel% EQU 0 (
  echo SAMPLE IIS File Exist c:\inetpub\iissamples >> %DETAIL_FILE%
) 

type c:\winnt\help\iishelp >nul 2>&1

if %errorlevel% EQU 0 (
  echo IIS Help Exist >> %DETAIL_FILE%
) 

echo %result%
echo W-14 = Need Review >> %OUTPUT_FILE%

:FINISH
pause >nul 2>&1

 

W_14.zip
0.00MB

 

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

  • INPSECT_OUTPUT.txt : 언제나 Need Review다. 
  • W_14.txt : 불필요파일과 헬퍼, Sample의 점검결과가 포함된다.

첨언

불필요파일은 말그대로 불필요일 수도 있는데, 그냥 관심이 관리자의 관심부족일 수도 있으니 말이다. Attack Surface를 넓힌다는 의미에서는 제거하는게 맞겠지만, 이건 대하소설급으로 스토리를 짜야 이해가된다.

 

 

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

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

tutoreducto.tistory.com

 

일반사항

  • 점검내용 : 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

 

일반사항

  • 점검내용 : IIS CGI 실행 제한 설정 여부 점검
  • 점검목적 : CGI 스크립트를 정해진 디렉토리에서만 실행되도록 하여 악의적인 파일의 업로드 및 실행을 방지하기 위함
  • 보안위협 : 게시판이나 자료실과 같이 업로드 되는 파일이 저장되는 디렉토리에 CGI 스크립트가 실행 가능한 경우 악의적인 파일을 업로드하고 이를 실행하여 시스템의 중요 정보가 노출될 수 있으며 침해사고의 경로로 이용될 수 있음.
  • 참고
    • CGI(Common Gateway Interface): 사용자가 서버로 보낸 데이터를 서버에서 작동중인데이터처리프로그램에 전달하고, 여기에서 처리된 데이터를 다시 서버로 되돌려 보내는 등의 일을 하는 프로그램
    • 일반적으로 기본 CGI 디렉토리(C:\inetpub\scripts)는 사용하지 않음

 

  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 해당 디렉토리 Everyone에 모든 권한, 수정 권한, 쓰기 권한이 부여되지 않은 경우
      • 취약 : 해당 디렉토리 Everyone에 모든 권한, 수정 권한, 쓰기 권한이 부여되어 있는 경우

 

  • 점검 및 조치
    • Windows 2000(IIS 5.0), 2003(IIS 6.0), 2008(IIS 7.0), 2012(IIS 8.0), 2016(IIS 10.0), 2019(IIS 10.0)
      • 탐색기> 해당 디렉토리> 속성> 보안 (기본 CGI 디렉토리 위치 C:\inetpub\scripts)
      • Everyone 의 모든 권한, 수정 권한, 쓰기 권한 제거

스크립트

@echo off
chcp 437 >nul 2>&1

:W_12

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_12.txt

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-12] IIS CGI Runnable Check 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check IIS's Scripts folders to restrict CGI from EVERYONE	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : Script folders not EXIST or EVERYONE 		>> %DETAIL_FILE%
echo ::           AUTHORITY is not EXIST			>> %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 C:\inetpub\scripts >nul 2>&1

set result=W-12 = PASS

if %errorlevel% EQU 1 (goto W_12_FINISH)
cd C:\inetpub >nul 2>&1
icacls scripts | find /i "EVERYONE" >nul 2>&1

if %errorlevel% EQU 0 (
  set result=W-12 = FAIL
  echo IIS Scripts is allow Everyone >> %DETAIL_FILE%
) else (
  echo IIS Scripts is restrict Everyone >> %DETAIL_FILE%
)

:W_12_FINISH

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

:FINISH
pause >nul 2>&1

 

W_12.zip
0.00MB

 

 

 

 

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

  • INPSECT_OUTPUT.txt : W-12의 검사결과가 기록되어 있다. 다른 점검항목의 결과또한 INSPECT_OUTPUT에 기록되어 있다.
  • W_12.txt : W-12의 검사결과가 기록되어 있다.

첨언

뭔말이 필요할까 Remote Shell 기초기법중 기초기법이다. CGI를 웹서버에서 open한다는것은 어마어마한 위협이다. 

 

 

[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