서비스 관리 영역 항목 시작이다!
W-07 공유 권한 및 사용자 그룹 설정
해당 항목은 'net share'이라는 명령어 결과를 통해 결과를 도출한다. 아래 사진은 실습을 위해 일부러 바탕화면에 공유폴더를 생성한 후 보여지는 결과 화면이다.
이 결과에서 $는 숨겨진 공유(Administrative Share)를 의미한다.
이 공유는 기본적으로 시스템 관리자 및 원격 관리 작업을 위해 예약된 공유이다.
따라서, 일반적으로는 Windows 탐색기나 네트워크 브라우저에서 보이지 않는다. 하지만, 적절한 관리자 권한이 있다면 네트워크 경로 (예:\\ComputerName\C$)로 직접 접근할 수 있다.
1. C$, E$, ... (드라이브 공유)
- 각 로컬 드라이브의 루트를 원격에서 관리할 수 있도록 기본적으로 설정된 공유입니다.
- 예를 들어, C$는 C:\ 드라이브 전체를 공유합니다.
- 이 공유는 일반 사용자가 볼 수 없으며, 관리자 권한으로만 접근 가능합니다.
2. ADMIN$
- Windows 디렉터리 (C:\WINDOWS)를 원격에서 관리하기 위한 기본 공유이다.
- 시스템 유지관리 및 원격 작업 시 사용된다.
3. IPC$ (Inter-Process Communication)
- 프로세스 간 통신을 위한 공유이다.
- 네트워크를 통해 인증 및 관리 작업에 사용되며, 데이터 파일이 아닌 네트워크 연결에 필요한 정보를 제공한다.
@echo off
setlocal enabledelayedexpansion
chcp 65001 > null
echo "========================== Result =========================="
call :getSharedFolder
echo.
pause
endlocal
exit
:getSharedFolder
@echo off
if exist sharedFolder.txt (
if exist sharedFolder_utf8.txt (
del sharedFolder.txt
del sharedFolder_utf8.txt
)
)
net share | findstr /v /l "$" | findstr /v "successfully" > sharedFolder.txt
powershell -Command "Get-Content sharedFolder.txt | Set-Content sharedFolder_utf8.txt -Encoding UTF8"
for /f "tokens=* skip=3" %%a in (sharedFolder_utf8.txt) Do (
if not "%%a"=="" echo %%a
)
type sharedFolder_utf8.txt | findstr /l ":" > null
if errorlevel 0 goto :Bad
goto :Good
:Bad
echo "공유폴더가 존재하므로 취약"
goto :eof
:Good
echo "공유폴더가 존재하지 않으므로 양호함"
goto :eof
알고보면 굉장히 간단한 코드인데 뭔가 장황하게 작성했다.
sharedFolder.txt 파일안에 공유 폴더 정보를 저장하는데, 이 파일이 디폴트로 'ANSI'로 저장되어 command prompt에서 한글이 깨져서 나온다. 때문에 저장되는 텍스트 파일을 강제로 utf-8로 변경시켜줄 필요가 있었다.
Get-Content File-Name.txt | Set-Content File-Name-Modified.txt -Encoding UTF8 명령어를 사용하여 utf-8 형식으로 변경하였다.
또한 if 문에서 "%%a"=="" echo %%a 가 존재하는 이유는 그냥 'echo %%a' 명령어를 사용하면 명령어 프롬프트에 'ECHO is off"라는 말이 나온다.
이유를 찾아보니 @echo off로 에코 출력을 비활성화했지만 명령문 끝에 빈 echo 명령어가 실행되었기 때문이라고 한다.
이를 해결하기 위해 빈줄을 출력하는 상황을 방지한 것이다.
그냥 공부하는 차원에서 알아두면 좋을듯 하다!
'인프라_취약점_진단 > 윈도우' 카테고리의 다른 글
윈도우 취약점 진단 (Day 12) (0) | 2025.01.24 |
---|---|
Active Directory GPO (Group Policy Object) (0) | 2025.01.08 |
Active Directory 기본 상식 (feat. 사용자와 그룹관리) (0) | 2025.01.07 |
윈도우 취약점 진단 (Day 7) (0) | 2025.01.07 |
윈도우 취약점 진단 (Day 6) (1) | 2025.01.06 |
댓글