netstat을 사용해 데이터 유출 탐지

작성자
no1item
작성일
2024-12-26 08:59
조회
134
1. netstat을 사용해 데이터 유출 탐지
netstat은 현재 시스템에서 활동 중인 네트워크 연결을 보여줍니다. 이를 통해 의심스러운 연결을 감지할 수 있습니다.

기본 명령어
netstat -ano
-a: 모든 연결 및 수신 대기 포트 표시.
-n: IP 주소와 포트를 숫자로 표시.
-o: 연결된 프로세스의 PID(Process ID)를 표시.
2. 주의 깊게 살펴볼 항목
- 원격 주소
원하지 않는 외부 IP 주소와의 연결 여부를 확인하세요.
예: 알 수 없는 IP 주소로의 연결.
- 포트 번호
일반적으로 데이터 유출은 비표준 포트(예: 80, 443이 아닌 포트)를 사용합니다.
비정상적인 포트 사용이 감지되면 의심해 볼 수 있습니다.
- PID 확인
PID를 확인하여 해당 연결을 생성한 프로세스가 무엇인지 추적하세요.



3. 특정 프로세스 추적
의심스러운 PID를 찾았으면, 다음 명령으로 해당 프로세스를 확인하세요:

tasklist | findstr
예: PID가 1234일 경우:


tasklist | findstr 1234
이 명령은 해당 PID와 연결된 프로세스 이름을 반환합니다.

4. 지속적인 모니터링
데이터 유출은 종종 짧은 시간 동안 발생합니다. 지속적인 감시가 필요하다면 아래 명령어로 특정 시간 간격마다 netstat을 실행하세요:

배치 파일로 주기적으로 실행
CMD에서 새 배치 파일을 작성합니다.

echo @echo off > monitor.bat
echo :start >> monitor.bat
echo netstat -ano >> monitor.bat
echo timeout /t 5 /nobreak >> monitor.bat
echo goto start >> monitor.bat

실행:
monitor.bat
이 스크립트는 5초 간격으로 netstat 명령어를 실행하여 네트워크 활동을 모니터링합니다.

5. 의심스러운 연결 종료
의심스러운 PID를 확인한 후, 해당 연결을 종료하려면:

taskkill /PID /F
예: PID가 1234일 경우:

taskkill /PID 1234 /F
이 명령은 해당 프로세스를 강제로 종료합니다.

6. 데이터 유출 감지 및 차단 자동화
네트워크 방화벽이나 IDS/IPS 도구를 사용하는 것이 더 효과적일 수 있습니다. 그러나 CMD만으로도 간단한 감지가 가능합니다:

IP와 도메인 차단: 의심스러운 원격 IP 주소로의 연결을 방지하려면:
netsh advfirewall firewall add rule name="Block Suspicious IP" dir=out action=block remoteip=

netsh advfirewall firewall add rule name="Block Suspicious IP" dir=out action=block remoteip=192.168.1.100


결론
netstat으로 의심스러운 네트워크 연결을 확인.
PID를 통해 연결을 생성한 프로세스를 추적.
필요 시 해당 프로세스를 종료하거나 방화벽 규칙 추가.
지속적인 모니터링이 필요하면 스크립트를 사용.