[본 문서는 http://blog.naver.com/sbd38 의 블로그에 기재되어 있으며 학습 용도로
문서를 훼손 또는 수정하지 않았습니다.]
윈도우 취약점 체크리스트
윈도우 취약점 점검시 확인해야할 사항
대부분의 보안종사자들은 자동화된 툴을 이용하여 다음 취약점들을 점검한다.
간단한 것들은 한번 제작해 보는 것도 공부에 도움이 될 것이다.
Windows 취약점 점검 결과 | |||||||
항목 |
항목번호 |
세부항목 |
중요도 |
점수 |
장비명 | ||
진단결과 |
점수환산 |
상세내용 | |||||
계정 및 패스워드 관리 |
SW101 |
Administrator 계정의 이름을 변경하였는가? |
중 |
|
|
|
|
SW102 |
관리자 그룹에 일반 사용자 계정이 존재하지 않는가? |
중 |
|
|
|
| |
SW103 |
취약한 패스워드를 사용하고 있지 않은가? |
상 |
|
|
|
| |
SW104 |
최근 암호를 기억하도록 설정되어 있는가? |
하 |
|
|
|
| |
SW105 |
패스워드의 최소 길이를 8자 이상으로 설정하였는가? |
중 |
|
|
|
| |
SW106 |
잘못된 로그인 시도를 하면 계정을 잠그도록 임계값을 설정하였는가? (5회) |
중 |
|
|
|
| |
SW107 |
패스워드 최대 사용기간을 설정하였는가? |
중 |
|
|
|
| |
접근제어 |
SW201 |
널 세션 접근을 차단하도록 설정 하였는가? |
중 |
|
|
|
|
SW202 |
불필요한 공유 디렉토리가 존재하지 않는가? |
중 |
|
|
|
| |
SW203 |
허가된 사용자에게만 원격에서 레지스트리에 접근할 수 있도록 제한되어 있는가? |
상 |
|
|
|
| |
SW204 |
화면 보호기에 암호를 설정하도록 되어있는가? |
중 |
|
|
|
| |
파일 시스템 |
SW301 |
하드디스크는 모두 NTFS로 포맷되어 있는가? |
하 |
|
|
|
|
SW302 |
원격에서 로그온한 사용자가 시스템을 shutdown 할 수 없게 설정되어 있는가? |
상 |
|
|
|
| |
SW303 |
관리자 계정으로 자동 로그온 할 수 없도록 설정되어 있는가? |
상 |
|
|
|
| |
SW304 |
관리자 계정으로 자동 로그온 할 수 없도록 설정되어 있는가? |
중 |
|
|
|
| |
SW305 |
시스템 종료 시 페이지 파일을 삭제하는가? |
하 |
|
|
|
| |
SW306 |
윈도우 시스템 디렉토리에 대하여 적당한 ACL을 설정하였는가? |
상 |
|
|
|
| |
서비스 제어 |
SW401 |
터미널 서버가 디폴트 포트를 변경하여 사용하고 있는가? |
하 |
|
|
|
|
SW402 |
웹에서 Command Shell을 실행하지 못하게 설정 하였는가? |
상 |
|
|
|
| |
SW403 |
MS 샘플 파일을 삭제 하였는가? |
중 |
|
|
|
| |
SW404 |
웹 루트 디렉토리와 시스템 디렉토리가 서로 다른 드라이브에 있는가ㅏ? |
중 |
|
|
|
| |
SW405 |
익명 FTP를 사용하지 않는가? |
중 |
|
|
|
| |
SW406 |
IIS 샘플 파일을 삭제하였는가? |
중 |
|
|
|
| |
SW407 |
불필요한 Startup 서비스는 제거 되었는가? |
중 |
|
|
|
| |
로그관리 |
SW501 |
Anonymous에 의한 이벤트로그의 읽기권한을 제한하였는가? |
하 |
|
|
|
|
SW502 |
이벤트 로그 겹쳐쓰기 시간 설정을 하였는가? |
중 |
|
|
|
| |
SW503 |
로그 정책 변경 검사를 하도록 설정되어 있는가? |
중 |
|
|
|
| |
SW504 |
프로세스 추적 검사를 하도록 설정되어 있는가? |
하 |
|
|
|
| |
SW505 |
IIS 웹서버 로그를 관리하고 있는가? |
하 |
|
|
|
| |
기타 보안관리 및 패치 |
SW601 |
로그온 경고 메세지를 설정하였는가? |
하 |
|
|
|
|
SW602 |
서비스팩 최종버전 및 최신 핫픽스가 설치되어 있는가? |
상 |
|
|
|
|
표 출처 (i2sec.co.kr)
안전진단 스크립트 제작
안전진단 체크리스트에 따라 사람이 일일이 검사하는 게 좋겠지만
실상에선 많은 검사량 때문에 쉽지 않을 것이다.
그래서 대부분의 검사를 자동화된 스크립트를 사용하는 것이 일반적이다.
따라서 배치파일을 만들어 자동검사를 구현하자.
-검사항목-
1. Administrator 계정 존재시 이름 변경
2. Guest 계정 활성화시 비활성화 변경
■ 안전진단 코드
@echo off
쉘 창에 결과만 표시한다. 명령어 입력을 보여주지 않는다.
secedit /export /cfg i2sec.inf
보안설정파일을 edit한다. 위와같이 적으면 C:드라이브 최상위에 위치한다.
setlocal
밑줄부터는 지역변수로 설정한다.
set flags=0
flags변수를 0으로 초기화
echo [Administrators 계정관리]
for /f "skip=3 tokens=*" %%a in ('type i2sec.inf') do (
i2sec.inf에서 3줄을 skip하고 한줄씩 한뭉터기로 불러온다. /f는 파일내용을 불러올때 쓰는 옵션이다.
배치파일내에서는 변수를 %%변수 형식으로 사용한다. cmd창에서의 변수는 %변수로 사용한다.
if"%%"=="NewAdministratorName = "Administrator"" (
echo Administrator 계정발견 [CAUTION]
set /p flags="Administrator 계정 이름을 변경하시겠습니까?<y/n>"
관리자 계정이 있다면 메세지를 띄우고 flags에 입력을 받는다.
/p는 문자를 변수에 할당할 때 사용한다.
)
)
if /i "%flags%"=="y" (
wmic useraccount where name='Administrator' rename 'i2sec'
flags에 y를 입력받았으면 다른 이름으로 바꾼다.
)
net user Guest /active:no
게스트 계정 비활성
echo Guest 계정 비활성[OK]
Win XP 기준으로 제작된 스크립트이며 메모장으로 쓴 뒤에 확장자만 bat로 하면 실행 가능하다.
'Learning > └◆Shell Scripts' 카테고리의 다른 글
Permission Change (0) | 2017.03.14 |
---|---|
쉘코드 만들기 강좌 (0) | 2017.01.30 |
누가 언제 실행했는지 로그파일에 기록(프로그램 대치 프로그램) (0) | 2017.01.20 |
searchspolit.sh 스크립트 작성 (0) | 2017.01.09 |