일반사항

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

 

일반사항

  • 점검내용 : 불필요한 IIS 서비스 구동 여부 점검
  • 점검목적 : 불필요한 IIS 서비스가 구동 상태인지를 점검하여 제거하고, 해당 서비스가 취약점이 제거되지 않은 상태로 외부 위협에 노출되지 않도록 하기 위함
  • 보안위협 : IIS 서비스는 WEB, FTP 등의 서비스를 제공해주는 유용한 서비스이나 프로파 일링, 서비스 거부, 불법적인 접근, 임의의 코드실행, 정보 공개, 바이러스, 웜, 트로이목마 등의 위협에 노출될 수 있어 서비스 불필요 시 삭제하여야 함
  • 참고 : 일반적으로 불필요한 서비스가 시스템 내 구동되고 있는 경우에는 관리되지 않은 상 태로 방치되는 경우가 많아 보안 취약점이 그대로 노출되어 악의적인 공격의 대상이 될 수 있음
  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : IIS 서비스가 필요하지 않아 이용하지 않는 경우
      • 취약 : IIS 서비스를 필요하지 않지만 사용하는 경우

 

  • 점검 및 조치
    • Window NT, 2000, 2003, 2008, 2012, 2016, 2019
      • 시작> 실행> SERVICES.MSC> IISADMIN> 속성> "시작 유형"을 "사용 안 함" 설정 후 중지

스크립트

@echo off
chcp 437 >nul 2>&1

:W_10

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-10] IIS Service Check 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check IIS Service is running or not		>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : IIS is disabled				>> %DETAIL_FILE%
echo ::  Need Review : IIS is running				>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

net start | find /i "IISADMIN" >nul 2>&1
if %errorlevel% EQU 0 (
  set result=W-10 = Need Review
  echo IIS Service Detected, Really need iis? >> %DETAIL_FILE%
) else (
  set result=W-10 = PASS
  echo Hooooly Shit IIS Undetected >> %DETAIL_FILE%
)

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

:FINISH
pause >nul 2>&1

 

W_10.zip
0.00MB

 

 

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

  • INSPECT_OUTPUT.txt : W-10의 점검결과가 기록되어 있다.
  • W_10.txt : IIS Running 점검 결과가 기록되어 있다.

첨언

IIS는 Window에서 제공하는 웹서버 호스팅기능이다. 일반적으로 웹서버를 구동할때는 MS에게 미안하지만 IIS보다 다른 Vendor의 웹서버를 쓰지않을까 하는 생각이긴하다.

 

 

[KISA 주요정보통신기반시설] 취약점 가이드 목록

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

tutoreducto.tistory.com

 

일반사항

  • 점검내용 : 
  • 점검목적 : 관리자 그룹 구성원에 불필요한 사용자의 포함 여부를 점검하여, 관리 권한 사용자를 최소화 하고자 함
  • 보안위협 : Administrators와 같은 관리자 그룹에 속한 구성원은 컴퓨터 시스템에 대한 완전하고 제한 없는 액세스 권한을 가지므로, 사용자를 관리자 그룹에 포함 시킬 경우 비인가 사용자에 대한 과도한 관리 권한이 부여될 수 있음
  • 참고
    • 관리 권한의 오남용으로 인한 시스템 피해를 줄이기 위해서 관리 업무를 위한 계정과 일 반 업무를 위한 계정을 분리하여 사용하는 것이 바람직함
    • 시스템 관리를 위해서 관리권한 계정과 일반권한 계정을 분리하여 운영하는 것을 권고
    • 시스템 관리자는 원칙적으로 1명 이하로 유지하고, 부득이하게 2명 이상의 관리 권한자를 유지하여야 하는 경우에는 관리자 그룹에는 최소한의 사용자만 포함하도록 하여야 함
  • 점검내용 : 불필요한 서비스 가동 여부 점검
  • 점검목적 : 사용자 환경에 필요하지 않은 서비스 및 실행 파일을 제거하거나 비활성화 처리하여 이를 통한 악의적인 공격을 차단하기 위함
  • 보안위협 : 시스템에 기본적으로 설치되는 불필요한 취약 서비스들이 제거되지 않은 경 우, 해당 서비스의 취약점으로 인한 공격이 가능하며, 네트워크 서비스의 경우 열린 포트를 통한 외부 침입의 가능성이 존재함
  • 참고 : OS 버전에 따라 ‘일반적으로 불필요한 서비스’ 목록에 나열된 서비스가 제공되지 않을 수 있음

 

  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 일반적으로 불필요한 서비스(아래 목록 참조)가 중지되어 있는 경우
      • 취약 : 일반적으로 불필요한 서비스(아래 목록 참조)가 구동 중인 경우

 

  • 점검 및 조치
    • Window NT 
      • 시작> 설정> 제어판> 서비스를 선택하여 불필요한 서비스를 중지하고, 시작 옵션에 서 "시작 유형"을 "사용 안함"으로 수정
      • 해당 서비스를 선택하고 오른쪽 메뉴에서 "시작 옵션"을 클릭하면 시스템이 시작할 때에 해당 서비스의 시작 유형을 선택할 수 있음. 만약, 시스템 시작 시 자동으로 시 작되게 하려면 [자동], 수동으로 서비스를 시작하려면 [수동], 서비스 자체를 사용하지 않으려면 [사용 안함]을 선택한 후 [확인]을 클릭함
    • Windows 2000, 2003, 2008, 2012, 2016, 2019
      • 시작> 실행> SERVICES.MSC> "해당 서비스" 선택> 속성
      • 시작 유형 -> 사용 안 함
      • 서비스 상태 -> 중지 설정

일반적으로 불필요한 서비스(By KISA 주요정보통신기반시설 취약점 분석 W-09)

서비스명 기능 및 설명
Alerter 네트워크에서 사용자와 컴퓨터에 관리용 경고메시지를 전송하는 기능
Automatic updates 중요한 윈도우 업데이트를 다운로하고 설치할 수 있도록 하는 애플리케이션, 수동패치를 적용하거나, MS패치 관리 서버로 패치를 일괄적으로 관리하는 경우 불필요한 서비스
Clipbook 서버 내 Slipbook을 다른 클라이언트와 공유
Computer Browser 네트워크에 있는 모든 컴퓨터의 목록을 업데이트 하고 관리하는 기능
Cryptographic
Services
윈도우 파일의 서명을 확인하는 카탈로그 데이터베이스 서비스를 총괄
DHCP Client IP 주소와 DNS 이름을 DHCP 서버에 등록하거나 DHCP 서버로부터 동적으 로 IP주소를 가져오는 기능을 수행. 단독으로 시스템을 수행하며 고정IP를 사용하는 경우 불필요한 서비스
Distributed Link
Tracking Client,
Server
네트워크 도메인의 여러 컴퓨터나 일반컴퓨터에서 NTFS 파일간의 연결을 관리하는 도구. Active Directory가 구성되어 있지 않은 서버에서는 불필요 한 서비스
DNS Client 컴퓨터에 대한 도메인 이름 시스템(DNS)이름을 확인하고 캐시에 보관하는 기능. DNS 서버가 아닌 시스템에서는 유명무실하나, IPSEC을 사용하는 경 우 필요한 경우 있음
Error reporting
Service
프로그램 오류가 시 응용프로그램의 오류를 MS에 보고한다는 내용을 표시 하는 기능
Human Interface
Device Access
키보드 또는 기타 멀티미디어 장치에 사전 정의된 버튼들을 사용하는 HID 장치들을 위한 서비스
IMAPI CD-Burning COM Service 서버에 CD-RW 또는 DVD-RW가 장착되어 보조백업장치 역할을 하기 위해 서 자체 레코딩 백업을 할 수 있음
Messenger 클라이언트와 서버 사이에 netsend 및 경고서비스 메시지를 전송하는 기능
NetMeeting Remote Desktop Sharing 윈도우9X 운영체제부터 인증된 사용자가 넷미팅을 사용해서 원격으로 컴퓨 터에 접근할 수 있도록 하는 기능
Portable Media Serial Number 컴퓨터에 연결된 이동성 음악연주기(미디기기)의 등록번호를 복원하는 기능
Print Spooler 인쇄 과정에 있는 스풀링을 관리하는 서비스. 프린터가 있는 경우 필수 서 비스이나, 프린터가 연결되지 않은 시스템에서는 불필요함
Remote Registry 원격 사용자가 이 컴퓨터에서 레지스트리 설정을 수정할 수 있도록 설정 하는 애플리케이션
Simple TCP/IP Services Echo, Discard, Character Generator, Daytime, Quote of the Day 지원
Wireless Zero Configuration 802.11 어댑터에 대해 자동 구성을 공급하는 기본적인 도구

 


스크립트

@echo off
chcp 437 >nul 2>&1

:W_06

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-09] Unneeded Service Check 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Check Wheter Unneeded Services running or not		>> %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%

net start >> %DETAIL_FILE%
set result=W-09 = Need Review

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

:FINISH
pause >nul 2>&1

 

W_09.zip
0.00MB

 

 

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

  • INSPECT_OUTPUT.txt : W-09 Need Review가 기록되어있다. 다른 점검항목과 같이 기록되는 파일이다.
  • W_09.txt : W-09 Need Review가 기록되어있다.

첨언

불필요한 서비스는 위험하다. 서비스가 돌아간다는 것은 필연적으로 Attack Surface를 높힌다는 것이다. 설령 그것이 보안프로그램일지라도 말이다. 불필요한 서비스로 침투당한다면 그것보다 기분 더러운일이 있을까 KISA에서 불필요한 서비스 목록을 제공하기는 하지만, 다 그대로 적용하면 운영환경에 영향이 갈 수 있으니, 조심해서 판단하고 내릴건 내리자

 

 

[KISA 주요정보통신기반시설] 취약점 가이드 목록

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

tutoreducto.tistory.com

 

일반사항

  • 점검내용 : 하드디스크 기본 공유 제거 여부 점검
  • 점검목적 : 하드디스크 기본 공유를 제거하여 시스템 정보 노출을 차단하고자 함
  • 보안위협 : Windows는 프로그램 및 서비스를 네트워크나 컴퓨터 환경에서 관리하기 위 해 시스템 기본 공유 항목을 자동으로 생성함. 이를 제거하지 않으면 비인가 자가 모든 시스템 자원에 접근할 수 있는 위험한 상황이 발생할 수 있으며 이러한 공유 기능의 경로를 이용하여 바이러스가 침투될 수 있음
  • 참고 : 기본 공유: 관리목적으로 자동 생성되는 공유 드라이브(Administrative share). 이러한 드라이브들은 C$, D$, E$ 등과 같이 이름 뒤에 $가 붙어서 숨겨진 공유로 처리되며, Windows 2000, XP에서는 관리자 ID와 Password를 알고 있으면 네트워크를 통해 이러 한 공유 드라이브들에 자유롭게 접근할 수 있음. 그러나 이후 버전 Windows에서는 보 안상의 이유로 로컬시스템의 관리자가 네트워크를 통해 시스템을 관리하지 못하도록 기본적으로 차단됨
  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 레지스트리의 AutoShareServer (WinNT: AutoShareWks)가 0이며 기본 공유가 존재하지 않는 경우
      • 취약 : 레지스트리의AutoShareServer (WinNT: AutoShareWks)가 1이거나 기본 공유가 존재하는 경우
  • 점검 및 조치
    • Window NT 
      • 시작 > 프로그램 > 제어판 > 관리도구 > 서버 관리자 > 컴퓨터 > 공유 디렉토리 > 공유
    • 2000, 2003, 2008, 2012, 2016, 2019
      • 시작 > 실행 > FSMGMT.msc > 공유 > 기본 공유 선택 > 마우스 우클릭 > 공유 중지
      • 시작> 실행> REGEDIT 아래 레지스트리 값을 0으로 수정함(키 값이 없을 경우 새로 생성함) "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\AutoShareServer”(Windows NT일 경우: AutoShareWks)

스크립트

@echo off
chcp 437 >nul 2>&1

:W_08

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-08] Unable default share 				>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Inspect Default Share is configured  			>> %DETAIL_FILE%
echo ::  and Registry key Authoshare is configured	 	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::  PASS : Always "Partially PASS", Autoshare is configured	>> %DETAIL_FILE%
echo ::           Need Futher review to Default Share Drive to confirm PASS >> %DETAIL_FILE%
echo ::  FAIL :  Autoshare is not configured			>> %DETAIL_FILE%
echo ::  MADE By REDUCTO https://tutoreducto.tistory.com/	>> %DETAIL_FILE%
echo ::							>> %DETAIL_FILE%
echo ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::			>> %DETAIL_FILE%
echo. 							>> %DETAIL_FILE%

echo Need Review to this share drives are really need : >> %DETAIL_FILE%
net share >> %DETAIL_FILE%
echo. >> %DETAIL_FILE%

set conf=100

reg query  "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" | find /i "AutoShareServer" >nul 2>&1
if %errorlevel% EQU 0 (
  reg query "HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" | find /i "AutoShareServer" > %OUTPUT_DIRECTORY%tmp_w_08.txt
  for /f "tokens=1,3 delims= " %%a in (%OUTPUT_DIRECTORY%tmp_w_08.txt) do set conf=%%b
) else (
  set result=W-08 = FAIL
)

if %conf% EQU 0x0 (
  set result=W-08 = Partially PASS
) else (
  set result=W-08 = FAIL
)

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

if EXIST %OUTPUT_DIRECTORY%tmp_w_08.txt (del %OUTPUT_DIRECTORY%tmp_w_08.txt)

:FINISH
pause >nul 2>&1

 

W_08.zip
0.00MB

 

 

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

  • INSPECT_OUTPUT.txt : W-08의 점검결과가 포함되어 있다. 
  • W_08.txt : 공유되고 있는 드라이브의 목록이 포함되어 있다.

첨언

공유에 대한 위험성은 W-07항목에서도 간단하게 짚고 넘어간적이 있다. 만약 FAIL이 떳다면, registry 키를 생성해 두도록 하자. 윈도우는 적용되는 모든 레지스트리 항목을 키로 만들어 두지는 않는다.

 

 

[KISA 주요정보통신기반시설] 취약점 가이드 목록

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

tutoreducto.tistory.com

 

일반사항

  • 점검내용 : 공유 디렉토리 내 Everyone 권한 존재 여부 점검
  • 점검목적 : 디폴트 공유인 C$, D$, Admin$, IPC$ 등을 제외한 공유 폴더에 Everyone 그룹으로 공유되는 것을 금지하여 익명 사용자의 접근을 차단하기 위함
  • 보안위협 : Everyone이 공유계정에 포함되어 있으면 익명 사용자의 접근이 가능하여 내 부 정보 유출 및 악성코드의 감염 우려가 있음
  • 점검대상 및 판단기준 
    • 대상 : Window NT, 2000, 2003, 2008, 2012, 2016, 2019
    • 판단기준
      • 양호 : 일반 공유 디렉토리가 없거나 공유 디렉토리 접근 권한에 Everyone 권한이 없는 경우
      • 취약 : 일반 공유 디렉토리의 접근 권한에 Everyone 권한이 있는 경우

 

  • 점검 및 조치
    • Window NT 
      • 프로그램 > 관리도구 > 서버 관리자 > 컴퓨터 > 공유 디렉토리 > 등록정보 > 사용 권한에서 Everyone으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한 추가
      • "Administrator" 그룹에서 불필요한 계정 제거 후 그룹 변경
    • 2000, 2003, 2008, 2012, 2016, 2019
      • 시작 > 실행 > FSMGMT.msc > 공유
      • 사용 권한에서 Everyone으로 된 공유를 제거하고 접근이 필요한 계정의 적절한 권한 추가

스크립트

@echo off
chcp 437 >nul 2>&1

:W_07

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

:: FILE EXISTENCE CHECK
if NOT EXIST %OUTPUT_DIRECTORY% (mkdir %OUTPUT_DIRECTORY%)
echo. >> %DETAIL_FILE%
echo :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 			> %DETAIL_FILE%
echo :: 							>> %DETAIL_FILE%
echo ::  [W-07] Share File System Check 			>> %DETAIL_FILE% 
echo :: 							>> %DETAIL_FILE%
echo ::  Inspect Everyone Share is configured at  		>> %DETAIL_FILE%
echo ::  more than default share Drive	 			>> %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%

net share > %OUTPUT_DIRECTORY%tmp_w_07.txt

echo SHARE FILE LIST : >> %DETAIL_FILE%
type %OUTPUT_DIRECTORY%tmp_w_07.txt >> %DETAIL_FILE%
echo. >> %DETAIL_FILE%

for /f "skip=4 tokens=1,2 delims= " %%a in (%OUTPUT_DIRECTORY%tmp_w_07.txt) do (
  echo --------------------------------------------- >>%DETAIL_FILE%
  echo. >> %DETAIL_FILE%
  echo %%a authority list : >> %DETAIL_FILE%
  icacls %%b >>%DETAIL_FILE% 2>nul
  echo. >> %DETAIL_FILE%
) 
set result=W-07 = Need Review

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

if EXIST %OUTPUT_DIRECTORY%tmp_w_07.txt (del %OUTPUT_DIRECTORY%tmp_w_07.txt)

:FINISH
pause >nul 2>&1

 

W_07.zip
0.00MB

 

 

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

  • INSPECT_OUTPUT.txt : W-07 Need Review가 기록되어있다.
  • W_07.txt : 점검 결과인 공유폴더별 권한이 목록화 되어있다.

첨언

net share명령어를 통해서 공유폴더 목록을 가져오는데, for문안에서 %errorlevel%처리가 0으로 고정되는 bat의 특성상 마지막줄의 빈칸하고 프로세스 정보교환에 사용되는 IPC는 검색결과가 NON으로 나온다. 혀튼, 공유폴더를 네트워크에 올리는것으로도 사실은 적절한 보안조치가 없다면 위험한 행위이다. 어찌되었든 어떠한 머신에서 제공되는 폴더가 네트워크에 올라가는 것이고 그것이 모든 사용자에게 허용된다면 횡적이동도 가능할테니 말이다.

 

 

[KISA 주요정보통신기반시설] 취약점 가이드 목록

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

tutoreducto.tistory.com

 

+ Recent posts