시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 16/50편 (전체 266/450)
학습 단계: 비정상 프로세스 징후
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
프로세스를 네트워크 연결과 결합해 보면 강력한 신호가 나옵니다. 어떤 프로세스가 어디로 연결하는가를 보면, 정상 서비스가 아닌 셸·임시 바이너리의 외부 연결(C2·유출)을 포착할 수 있습니다.
비정상 네트워크 연결 프로세스
셸·임시 바이너리의 외부 연결: bash/_tmp/.x → 외부 (C2)
비서비스의 리스닝 포트: 셸이 포트 열기 (bind shell, F30)
비표준 포트 아웃바운드: → 4444·비표준 (F34)
서비스의 예상 외 연결: nginx → 외부 랜덤 IP
핵심: 프로세스(무엇이) + 연결(어디로/포트) 결합
정상 연결은 알려진 서비스가 예상된 목적지로 합니다. 셸·임시 바이너리의 외부 연결, 비서비스의 리스닝은 이상입니다.
| 연결 패턴 | 의미 | 위험 |
|---|---|---|
| 셸·임시 → 외부 | C2·유출 | 매우 높음 |
| 비서비스 리스닝 | bind shell | 높음 |
| 비표준 포트 아웃 | C2 | 높음 |
| 서비스 예상 외 연결 | 침해·변조 | 높음 |
| 정상 서비스 연결 | 정상 | 정상 |
# 비정상 네트워크 연결 프로세스 탐지 (분석 방법)
# 프로세스별 네트워크 연결(셸·임시 바이너리 주목)
ss -tnp 2>/dev/null | grep -vE '127.0.0.1|::1' | grep -E 'sh|bash|/tmp/|nc|python|socat'
# 리스닝 포트와 프로세스(비서비스 리스닝)
ss -tlnp 2>/dev/null | grep -vE 'sshd|nginx|mysqld|systemd'
$ (프로세스 연결) 정상 서비스의 예상 목적지 연결만
$ (리스닝 포트) 알려진 서비스(sshd·nginx)만 리스닝
네트워크 연결이 정상 서비스의 예상 목적지에 그치고, 리스닝 포트가 알려진 서비스만인 상태가 정상입니다.
$ (프로세스 연결)
bash → 192.0.2.88:4444 (셸의 외부 연결, C2)
/tmp/.x → 203.0.113.9:443 (임시 바이너리 외부)
$ (리스닝 포트)
0.0.0.0:1337 users:(("sh")) (셸이 포트 리스닝, bind shell)
비정상 네트워크 연결 프로세스 분석입니다(가상의 예시).
[C2 연결]
bash(3002) → 192.0.2.88:4444 (리버스 셸)
계보: nginx→sh→bash (F11) + 연결(F16) = 웹셸→C2
[bind shell]
sh(3100) listen 0.0.0.0:1337 → 공격자 접속 대기
→ 비서비스 셸의 리스닝 = 백도어
| 결합 | 해석 |
|---|---|
| 셸+외부 연결 | C2 |
| 임시+외부 | 유출·C2 |
| 셸+리스닝 | bind shell |
| 계보+연결 | 웹셸→C2 |
프로세스와 연결을 결합하면 C2·백도어가 명확히 드러납니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,process,">
<!-- 셸·임시 바이너리의 네트워크 연결 -->
<rule id="105150" level="13">
<if_sid>105010</if_sid>
<field name="audit.comm" type="pcre2">^(sh|bash|dash|nc|ncat|socat|python[0-9.]*)$</field>
<field name="audit.syscall" type="pcre2">^(connect|bind|listen)$</field>
<description>셸·임시 바이너리의 네트워크 연결(C2·bind shell)</description>
<mitre><id>T1071</id><id>T1059.004</id></mitre>
</rule>
</group>
connect/bind/listen 시스템 콜 감사와 ss 연결 정보를 결합합니다. 네트워크 모니터링(NetFlow)과 상관합니다.
| 연결 패턴 | 의미 |
|---|---|
| 셸·임시 → 외부 | C2·유출 |
| 비서비스 리스닝 | bind shell |
| 비표준 포트 아웃 | C2 |
| 서비스 예상 외 | 침해·변조 |
| 면접 포인트 | "프로세스+연결 결합이 핵심 — 셸의 외부 연결·리스닝은 C2·백도어" |
다음 편 267. 프로세스·지속성 — 리소스 이상 프로세스(암호화폐 채굴 등) 탐지 에서는 리소스 이상 프로세스를 다루는 리소스 이상 프로세스(암호화폐 채굴 등) 탐지를 다룹니다.
이전 편: 265. 프로세스·지속성 — 단기 실행·반복 실행 프로세스 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점