
Windows 서버(AD 도메인 구성원)에서 취약한 log4j 라이브러리를 정적 탐지합니다.
AD 도메인의 Windows 구성원에서 취약한 log4j 라이브러리를 정적으로 탐지합니다. @1lann이 제공한 탐지 도구 바이너리를 사용합니다: https://github.com/1lann/log4shelldetect
스크립트는 시작 시 스크립트 폴더에 도메인에 가입된 서버 목록의 .csv 파일을 생성합니다. 그냥 실행하면 됩니다. 해당 파일이 아직 없으면 생성할지 묻습니다.
./log4shelldetect.ps1
검색 패턴을 사용하여 해당 목록을 채우고 특정 서버 이름을 대상으로 지정할 수 있습니다. 해당 패턴은 "Get-AdComputer -Filter"에 추가됩니다. 예:
./log4shelldetect.ps1 -searchPattern '*tst*'
인수 없이 스크립트를 실행하기만 하면 됩니다. 서버 목록의 각 항목에 대해 PSJob을 생성합니다. 이러한 PSJob은 대상이 되는 모든 AD 컴퓨터의 각 로컬 드라이브에 대해 원격으로 예약된 작업을 생성합니다. 그런 다음 스캔 바이너리가 실행되어 파일 시스템을 스캔하고 취약한 라이브러리를 검색합니다.
./log4shelldetect.ps1
마지막으로 작업 출력을 검색하여 서버 목록을 상태(취약, 취약하지 않음, 연결 불가 등)로 업데이트해야 합니다. 서버가 취약한 것으로 탐지되면 현재 폴더에 해당 컴퓨터 이름으로 된 폴더가 생성되며, 여기에는 스캔 도구의 출력이 포함됩니다. 이러한 텍스트 파일의 각 줄은 취약한 log4j 바이너리를 나타냅니다.
./log4shelldetect.ps1 -update
자동화에 주의하세요! 예약된 작업은 로컬 파일 시스템의 모든 디렉터리에 접근하기 위해 'NT AUTHORITY\SYSTEM'으로 실행됩니다. 사용에 따른 위험은 본인이 감수하십시오. 사용 전에 스크립트를 검토하는 것을 주저하지 마십시오.
@1lann의 작업에 특별히 감사드립니다. log4j 취약점을 탐지하는 효과적인 도구를 초기에 개발해 주셨습니다.