+) secedit 명령어
주통기 기술적 취약점 분석을 하기 위해 스크립트를 짜다보면 secedit 명령어를 자주 이용하는 모습을 볼 수 있다.
그래서 미리 정리를 하고 뒷부분을 진행해보려 한다. 대부분의 내용은 아래의 마이크로소프트 홈페이지를 참조한다.
먼저 secedit 명령어는 "현재 보안 구성을 지정된 보안 템플릿과 비교하여 시스템 보안을 구성하고 분석한다"라고 한다.
1. secedit /analyze
=> 데이터베이스에 저장된 초기 설정에 대한 현재 시스템 설정 분석 가능
secedit /analyze /db filename [/cfg filename] [/overwrite] [/log filename] [/quiet] |
1) /db : 필수 요소로, 분석이 수행되는 데이터베이스의 경로 및 파일 이름
2) /cfg : 분석을 위해 데이터베이스로 가져올 보안 서식 파일에 대한 경로 파일 이름을 지정함
(이 옵션은 매개 변수와 함께 /db <database file name> 사용할 때만 사용)
3) /overwrite : 저장된 템플릿에 결과를 추가하는 대신 데이터베이스에 저장된 템플릿 또는 복합 템플릿을 덮어 쓸지
여부를 지정함 (/cfg <configuration file name> 매개 변수 사용할 경우만 유효)
4) /log : 프로세스에서 사용될 로그 파일의 경로 파일 이름 지정
(지정하지 않으면 기본 로그 파일인 <systemroot>\Documents and Settings\<UserAccount>
\My Documents\Security\Logs\<databasename>.log 사용)
5) /quiet : 화면 출력을 표시하지 않음
+) ex) secedit /analyze /db abc.db -> 파일명이 abc인 db파일의 보안 매개 변수에 대한 분석을 수행한다.
2. secedit /configure
=> 데이터베이스에 저장하는 보안 설정을 사용하여 현재 시스템 설정 구성
secedit /configure /db <database file name> [/cfg <configuration file name>] [/overwrite] [/areas [securitypolicy | group_mgmt | user_rights | regkeys | filestore | services]] [/log <log file name>] [/quiet] |
1) /db : 필수 요소로, 저장된 구성을 포함하는 데이터베이스의 경로 및 파일 이름을 지정
2) /cfg : 분석을 위해 데이터베이스로 가져올 보안 서식 파일에 대한 경로 파일 이름 지정
(매개 변수와 함께 /db <database file name> 사용할 때만 유효)
3) /overwrite : /cfg 매개 변수의 보안 템플릿이 저장된 템플릿에 결과를 추가하는 대신 데이터베이스에 저장된 템플릿
또는 복합 템플릿을 덮어 쓸지 여부를 지정
(매개 변수와 /cfg <configuration file name> 사용되는 경우에만 유효)
4) /areas : 시스템에 적용할 보안 영역을 지정
(매개 변수를 지정하지 않으면 데이터베이스에 정의된 모든 보안 설정은 시스템에 적용 )
(여러 영역을 구성하려면 각 영역을 공백으로 구분)
△ securitypolicy: 계정 정책, 감사 정책, 보안 옵션 등을 포함하여 시스템에 대한 로컬 정책 및 도메인 정책입니다.
△ group_mgmt: 보안 템플릿에 지정된 모든 그룹에 대한 제한된 그룹 설정입니다.
△ user_rights: 사용자 로그온 권한 및 권한 부여
△ regkeys: 로컬 레지스트리 키에 대한 보안
△ filestore: 로컬 파일 스토리지에 대한 보안
△ services: 정의된 모든 서비스에 대한 보안
5) /log : 프로세스에서 사용될 로그 파일의 경로 파일 이름을 지정
(지정하지 않으면 기본 로그 파일이 <systemroot>\Documents and Settings\<UserAccount>
\My Documents\Security\Logs\<databasename>.log 사용)
6) /quiet : 화면 및 로그 출력을 표시하지 않음
여기서부터 위와 반복된 옵션의 설명은 넘어가도록 한다.
3. secedit /export
=> 보안 템플릿을 사용하여 구성된 데이터베이스에 저장된 보안 설정을 내보낸다.
이를 사용하여 설정을 다른 컴퓨터로 가져오는 것 외에도 로컬 컴퓨터에서 보안 정책 백업 가능
secedit /export /db <database file name> [/mergedpolicy] /cfg <configuration file name> [/areas [securitypolicy | group_mgmt | user_rights | regkeys | filestore | services]] [/log <log file name>] [/quiet] |
1) /mergedpolicy : 병합하고 도메인 및 로컬 정책 보안 설정을 내보낸다.
4. secedit /generaterollback
=> 지정된 구성 템플릿에 대한 롤백 템플릿을 만들 수 있다.
기존 롤백 템플릿이 있는 경우, 이 명령을 다시 실행하면 기존 정보를 덮어쓴다.
secedit /generaterollback /db <database file name> /cfg <configuration file name> /rbk <rollback template file name> [/log <log file name>] [/quiet] |
1) /rbk : 필수 요소로, 롤백 정보 기록되는 보안 템플릿을 지정, 이를 이용해 롤백 파일을 만들 수 있다.
5. secedit /import
=> 보안 템플릿으로 구성된 데이터베이스에서 이전에 내보낸 보안 설정(.inf 파일)을 가져온다.
+) .inf 파일을 다른 컴퓨터로 가져오기 전에 가져오기가 secedit /generaterollback 수행될 데이터베이스에서 명령을 실행해야 한다. 또한 가져오기 파일에서 secedit /validate 명령을 실행하여 무결성을 확인해야 한다.
secedit /import /db <database file name> /cfg <configuration file name> [/overwrite] [/areas [securitypolicy | group_mgmt | user_rights | regkeys | filestore | services]] [/log <log file name>] [/quiet] |
6. secedit /validate
=> 보안 템플릿(.inf 파일)에 저장된 보안 설정의 유효성 검사
(손상되었거나 부적절하게 설정된 보안 템플릿은 적용되지 않음)
secedit /validate <configuration file name> |
1) <configuration file name> : 필수 요소로, 유효성을 검사할 보안 서식 파일에 대한 경로 파일 이름을 지정
(로그 파일은 이 명령으로 업데이트되지 않는다.)