시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 27/50편 (전체 377/450)
학습 단계: 보안 기능 무력화·은닉
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 C2·데이터 유출 연결 자체를 숨깁니다. 루트킷으로 ss·netstat 결과에서 연결을 제거하거나, 정상 포트(443)·암호화·포트 노킹으로 위장합니다. 호스트 도구가 못 봐도 네트워크 관점(흐름 로그)에서는 드러납니다.
네트워크 연결 은닉 기법
루트킷 은닉: ss/netstat에서 연결 제거(H24·H25)
정상 포트 위장: C2를 443/53으로 — 정상 트래픽 흉내
포트 노킹: 특정 시퀀스로만 포트 개방(평소엔 닫힘)
암호화 터널: 내용 은폐(TLS·SSH 터널)
특징: 호스트 도구 은닉 vs 네트워크 흐름엔 존재
탐지: /proc/net 교차·흐름 로그·비정상 장기 연결
핵심은 "호스트에서 안 보여도 네트워크엔 흐름이 남는다"입니다. ss와 /proc/net/tcp 교차, 흐름 로그(NetFlow)로 은닉 연결을 포착합니다.
| 은닉 | 방식 | 탐지 |
|---|---|---|
| 루트킷 은닉 | ss 조작 | /proc/net 교차 |
| 정상 포트 위장 | 443/53 사용 | 목적지·행위 |
| 포트 노킹 | 시퀀스 개방 | 방화벽 로그 |
| 암호화 터널 | TLS·SSH | 흐름 메타·크기 |
| 흐름 교차 | NetFlow | 호스트 사각 보완 |
# 네트워크 연결 은닉 탐지 (분석 방법)
# ss vs /proc/net 교차(루트킷 은닉)
ss -tnp 2>/dev/null | wc -l; cat /proc/net/tcp /proc/net/tcp6 2>/dev/null | wc -l
# 외부 연결의 프로세스·목적지
sudo ausearch -k net_conn -i --start recent 2>/dev/null | grep -vE 'addr=(10\.|192\.168\.|127\.)' | tail
# 장기 지속 외부 연결(C2 의심)
ss -tnpo 2>/dev/null | grep -E 'ESTAB' | grep -vE '10\.|192\.168\.|127\.' | head
$ (ss vs /proc/net) 일치
$ (외부 연결) 정상 서비스 목적지만
ss와 /proc/net 결과가 일치하고, 외부 연결이 정상 서비스 목적지에 그치는(은닉·C2 없음) 상태가 정상입니다.
$ (ss vs /proc/net 불일치)
ss: 203.0.113 연결 안 보임 / /proc/net/tcp: 존재
→ 루트킷이 ss에서 C2 연결 은닉
$ (외부 연결)
443 포트지만 목적지 203.0.113.50(미확인), 48시간 지속 연결
→ 정상 HTTPS 위장한 장기 C2
네트워크 연결 은닉 분석입니다(가상의 예시).
[공격자 C2] web01 → 203.0.113.50:443
↓ (은닉)
① 루트킷으로 ss/netstat에서 연결 제거
② 443 포트로 정상 HTTPS 위장
↕ (교차 탐지)
[호스트] /proc/net/tcp 직접 조회 → 연결 존재(ss 불일치)
[네트워크] NetFlow → web01→203.0.113.50 흐름 존재
→ 포트는 443이나 목적지·지속시간 비정상
↓
= 호스트 은닉해도 /proc·흐름 로그로 포착 → 정탐
| 관점 | 은닉 뚫기 |
|---|---|
| /proc/net | ss 불일치 |
| 흐름 로그 | 호스트 사각 |
| 행위 분석 | 포트 위장 간파 |
/proc/net 교차 + 흐름 로그가 연결 은닉 탐지의 핵심입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,network,">
<rule id="107260" level="12">
<if_sid>107000</if_sid>
<field name="audit.key">net_conn</field>
<field name="audit.addr" type="pcre2">^(?!10\.|192\.168\.|172\.1[6-9]|127\.)</field>
<description>비정상 외부 연결(연결 은닉·정상 포트 위장 C2 후보)</description>
<mitre><id>T1562</id><id>T1071</id></mitre>
</rule>
</group>
ss와 /proc/net 교차 점검을 주기화하고, 흐름 로그(NetFlow)와 상관해 호스트 은닉 연결을 포착합니다. 장기 외부 연결은 행위로 판별합니다.
| 은닉 | 방식 |
|---|---|
| 루트킷 은닉 | ss 조작 |
| 정상 포트 위장 | 443/53 사용 |
| 포트 노킹 | 시퀀스 개방 |
| 암호화 터널 | TLS·SSH |
| 면접 포인트 | "연결은 호스트서 숨겨도 흐름엔 남음 — /proc/net+NetFlow 교차로 탐지" |
다음 편 378. 방어 회피·흔적 삭제 — 보안 기능 무력화 종합 분석 에서는 보안 기능 무력화를 종합하는 보안 기능 무력화 종합 분석을 다룹니다.
이전 편: 376. 방어 회피·흔적 삭제 — 프로세스·파일 은닉 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점