
Ivanti Secure Connect (ICS) 이벤트 로그를 검사하기 위한 Python 스크립트로, 취약점 CVE-2025-0282, CVE-2023-46805 및 CVE-2024-21887에 대한 조사를 지원하도록 설계되었습니다.
이 저장소는 Ivanti Secure Connect .vc0 로그 파일을 디지털 포렌식 및 사고 대응을 위해 CSV 형식으로 변환하는 Python 스크립트를 제공합니다. 특히, 파서는 다음을 수행합니다:
.vc0 파일)에서 타임스탬프를 추출합니다.
이 도구는 CVE-2025-0282 (특정 Ivanti 장비에 영향을 미치는 인증되지 않은 RCE 취약점)를 조사하는 과정에서 개발되었습니다. Mandiant 등의 보고서에 따르면 위협 행위자가 자신의 활동을 숨기기 위해 로그 항목을 제거하거나 변경할 수 있습니다. 이 .vc0 파일을 분석하고 파싱함으로써 조사관은 침해 증거, 비정상적인 삭제 또는 기타 의심스러운 행동을 더 쉽게 발견할 수 있습니다.

여러 Ivanti Secure Connect 관련 사고 대응 업무에서 특정 장비가 불완전하거나 변조된 로그를 보이는 경우가 발견되었습니다. 일부 장비는 CVE-2025-0282 악용이 감지되고 장비가 재부팅될 때까지 아무런 항목도 표시하지 않았습니다. 또한 일반적으로 2시간마다 실행되는 내장 무결성 검사가 공격자에 의해 비활성화되거나 변경될 수 있습니다. .vc0 파일을 보다 사용자 친화적인 CSV 형식으로 변환함으로써 이 도구는 조사관이 누락된 로그 항목, 예상치 못한 인증 시도, 데이터 조작 가능성 징후와 같은 이상 징후를 식별하는 데 도움을 줍니다.

PS F:\Case20250109001> python .\ics_logs_parser.py -h
usage: ics_logs_parser.py [-h] --input INPUT --output OUTPUT --mapfile MAPFILE
Process .vc0 files and convert them to .csv files.
options:
-h, --help show this help message and exit
--input INPUT Directory containing .vc0 files
--output OUTPUT Directory to save .csv files
--mapfile MAPFILE CSV file mapping [MessageCode, MessageType, Description]
python .\ics_logs_parser.py --input "F:\Case20250109001\root_runtime.img\[root]\runtime\logs" --output .\logs\ --map .\logmessages_map.csv
--input: Ivanti Secure Connect에서 추출한 .vc0 로그 파일이 포함된 디렉터리.--output: CSV가 작성될 디렉터리.--mapfile: 각 메시지 코드를 메시지 유형 및 설명에 매핑하는 CSV 파일.
logmessages_map.csv에는 알려진 메시지 코드와 그에 해당하는 메시지 유형 및 설명이 저장되어 있습니다. 이 목록(공개된 Ivanti 문서 및 커뮤니티 연구에서 수집)은 방대하지만, 존재하는 모든 메시지 코드를 포함하지는 않을 수 있습니다. 사용자는 자신의 환경에 맞게 매핑을 검토하거나 사용자 지정할 것을 권장합니다. 원본 참조는 참고 자료 섹션을 참조하세요.
기본적으로 타임스탬프는 UTC로 변환됩니다. 시간대를 변환하거나 다른 형식으로 지정해야 하는 경우 process_subline() 함수 내에서 datetime.fromtimestamp(...) 호출을 수정할 수 있습니다.

질문, 제안 또는 도움이 필요하시면 [email protected]으로 연락 주시기 바랍니다.