펜테스터를 위한 임패킷: 네트워크 횡적 이동 및 레드팀 기법
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
이 기사는 impacket-net 유틸리티가 Active Directory 열거와 관리적 조작에 어떻게 사용될 수 있는지를 설명합니다. 공격자들이 NTLM 해시, Kerberos 티켓 및 AES 키를 활용하여 도메인 사용자, 그룹, 컴퓨터 계정을 관리할 수 있는 방법을 보여줍니다. 이 도구는 은밀한 정찰을 지원하며 도메인 환경 내에서 권한 상승을 가속화할 수 있습니다.
조사
보고서는 관리된 실험실 환경, ignite.local를 사용하여 다양한 인증 경로와 명령 실행 방법을 시연합니다. 공격자가 어떻게 낮은 권한의 열거에서 디렉터리 객체를 변경하여 전체 관리 권한을 얻을 수 있는지를 설명합니다. 이 조사에서는 이러한 행동이 Windows 이벤트 로그에 어떻게 남아있는지도 강조합니다.
완화
권장 완화 조치에는 미허가된 컴퓨터 계정 생성을 차단하기 위해 ms-DS-MachineAccountQuota to 0 를 설정하는 것이 포함됩니다. 조직은 또한 LDAP 서명을 강제하고 채널 바인딩을 활성화하며 RC4와 같은 약한 암호화 유형을 비활성화해야 합니다. 추가적으로, 고도로 권한 있는 계정을 보호된 사용자 보안 그룹에 배치하는 것이 NTLM 남용과 장기간의 TGT 오용을 방지하는 데 도움이 될 수 있습니다.
대응
이 활동이 감지되면 수비자는 계정 생애 주기 변경 및 그룹 구성원 수정과 연관된 주요 Windows 이벤트 ID에 대해 중앙 집중화를 실행하고 경고를 발생시켜야 합니다. 무단 디렉터리 변경을 신속히 되돌리기 위한 자동 응답 플레이북을 준비해야 합니다. 모니터링되는 조직 단위에 허니 계정을 배치함으로써 즉각적인 사고 대응을 위한 높은 신뢰도의 경고를 제공할 수도 있습니다.
공격 흐름
이 부분은 여전히 업데이트 중입니다. 알림을 받으려면 등록하세요
알림 설정시뮬레이션 실행
전제 조건: Telemetry 및 Baseline 사전 점검이 통과되어야 합니다.
이유: 이 섹션은 탐지 규칙을 촉발하기 위한 적대적 기술(TTP)의 정확한 실행을 상세히 설명합니다. 명령어 및 서사는 식별된 TTPs를 직접 반영해야 하며 탐지 논리가 예상하는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다. 추상적이거나 관련이 없는 예는 오진으로 이어질 수 있습니다.
-
공격 서사 및 명령: 적대자가 Linux 서버에 발판을 확보했습니다. 지속성을 보장하고 잠기지 않도록 하기 위해 비활성화된 관리자 계정을 다시 활성화하려고 합니다. 그들은
impacket-net유틸리티를 사용하기로 결정했는데, 이는 펜테스팅 프레임워크에서 공통 도구로 표준 관리 도구라고 믿고 있으며 노이즈에 섞일지도 모른다고 생각했기 때문입니다. 공격자는 Python 인터프리터를 통해 명령을 실행하여 로컬 계정 데이터베이스를 조작하며 특정 사용자를 다시 활성화하기 위해-enable플래그를 사용합니다. 이 작업은 탐지 규칙이 찾고 있는 정확한CommandLine패턴(impacket-netand-enable)을 생성하도록 설계되어 있습니다. -
회귀 테스트 스크립트:
#!/bin/bash # Impacket-Net 탐지 규칙을 트리거하기 위한 시뮬레이션 스크립트 echo "[+] Impacket-Net 시뮬레이션 시작 중..." # 우리는 Python3를 호출하고 탐지 논리에 필요한 특정 문자열을 전달함으로써 도구의 존재를 시뮬레이션합니다. # 실제 시나리오에서는: python3 /path/to/impacket-net -enablepython3 -c "import sys; print('Simulating impacket-net -enable user123')" | grep -q "impacket-net" # 실제 프로세스 생성 이벤트가 특정 문자열과 함께 기록되도록 보장하기 위해: # 명령줄 인수를 정확히 모방하는 명령을 실행합니다. export IM_SIM_CMD="python3 /usr/local/bin/impacket-net -enable target_account" echo "[+] 실행 중: $IM_SIM_CMD" eval $IM_SIM_CMD echo "[+] 시뮬레이션 명령 전송됨. SIEM에서 프로세스 생성 로그를 확인하세요." -
정리 명령:
# 이 시뮬레이션에서는 지속적인 변경이 이루어지지 않았지만, # 생성된 모든 더미 파일이 삭제되었는지 확인하십시오. rm -f /tmp/impacket_sim_test.log echo "[+] 정리 완료."