Windows Server 취약점 - Null Session
null Session을 이해하기 전에 먼저 IPC$에 대해 알아야 한다.
IPC$(Inter-Process Communication)는 프로세스간 통신을 지원하는 메커니즘으로 해당 공유를 통해 사용자는 널 세션이 가능하다.
null session은 사용자 이름, 암호를 제공하지 않고 네트워크 리소스에 액세스 하는 것을 의미한다. null session을 제한하면, IPC$를 비활성화 시키는 효과를 줄 수 있다.
Null 세션은 익명(anonymous) 로그인과 유사하고 패스워드를 Null로 설정하여 접속할 수 있어 Resource의 퍼미션과 관계없이 다음과 같은 브라우즈 리스트를 획득할 수 있도록 해 줄 수 있어 위험하다.
IPC$ 취약점이 존재하는 경우 null session을 통해 시스템 이동 및 원격 명령 실행 경로 제공가능하다.
Windows NT 4.0 및 이전 버전/ NetBIOS 프로토콜 사용 버전에서 널 세션 취약점이 존재한다.

Windows Server 2003
Windows Server 2008
Windows Server 2008 R2
위 버전의 Windows에서는 IPC$ 공유를 관리하거나 제한 불가능하다. 그러나 관리자가 명명된 파이프를 제어 가능하다. Windows Server 2012 이상부터 파일 서버에서 익명 세션을 사용하도록 설정 가능하다.
가. 익명 세션 사용 제한 설정
RestrictAnonymous 값을 2로 설정
가. 네트워크 장비 SMB 관련 포트 차단
나. 네트워크 파일 및 프린트 공유 해제
네트워크 파일 및 프린트 공유 해제


Null Session 취약항목 소개 : https://update.secui.com/vuln_detail_desc.asp?id=28006&page=1
C$, D$, IPC$와 같이 디폴트로 사용되는 공유 폴더는 미 사용시 사용하지 않거나 적절한 권한을 부여해 사용해야 한다.
가. 미사용 시 공유 폴더 사용 안함혹은 제거 + 레지스트리 설정으로 디폴트 폴더 자동 공유 방지
사용 안 함은 컴퓨터 관리에서 공유 폴더 우클릭 후 설정
제거는 cmd 창에서 /delete 명령어로 삭제
레지스트리 값은 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters에서 'AutoShareServer' 값을 0으로 추가하거나 설정 (데이터 타입은 DWORD(32bit))

나. 공유 폴더 사용 시 적절한 권한 추가+ 암호 보호 공유 커기 설정
적절한 권한 추가는 공유 폴더를 설정 시, Everyone을 제거하고, 지정된 사용자만 추가 후 허용한다.
암호 보호 공유 켜기는
제어판\네트워크 및 인터넷\네트워크 및 공유 센터\고급네트워크설정\고급공유설정
