시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 17/50편 (전체 117/450)
학습 단계: 네트워크 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
로컬에서 리스닝 포트를 조회하면, 외부 스캔으로는 안 보이는 로컬 전용 서비스(127.0.0.1 바인딩) 까지 모두 드러납니다. 공격자는 이를 보고 추가 공격 표면(관리 인터페이스·DB·캐시)을 찾습니다.
외부 포트 스캔 (네트워크 영역 294편) : 외부에서 보이는 포트만
로컬 리스닝 조회 (C영역) : 로컬 전용 포함 모든 포트
ss -tulpn:
0.0.0.0:443 httpd (외부 노출)
127.0.0.1:3306 mysqld (로컬 전용 → 외부 스캔엔 안 보임)
127.0.0.1:6379 redis (로컬 전용)
→ 로컬 조회로 내부 공격 표면 전체 파악
A영역 14편(포트 기준선)이 "방어자의 포트 점검"이라면, 여기서는 공격자가 같은 정보를 조회하는 정찰입니다.
| 조회 | 정보 |
|---|---|
ss -tulpn | 리스닝 포트+프로세스(로컬 포함) |
netstat -lntp | (구형) 동일 |
/proc/net/tcp | TCP 소켓(파일) |
| 관심 | 127.0.0.1 바인딩 서비스 |
# 리스닝 포트 조회 감사 (실습 예시)
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/ss -F auid>=1000 -F auid!=unset -k recon_net
-w /proc/net/tcp -p r -k recon_net
# 세션에서 포트 조회 흐름 (분석 방법)
sudo ausearch -k recon_net -i --start recent | grep -E 'comm="ss"|net/tcp|netstat' | tail
$ sudo ausearch -k recon_net -i --start today | grep 'comm="ss"' | tail -1
10:52:02 auid=admin1 ses=8 comm="ss" (서비스 점검)
관리자가 서비스 상태를 점검하며 ss를 보는 단발 조회는 정상입니다(A영역 14편 포트 점검 포함).
02:13:30 auid=devops ses=12 comm="ss" a1="-tulpn"
02:13:33 auid=devops ses=12 comm="cat" name="/proc/net/tcp"
ss -tulpn) + /proc/net/tcp 연속 조회 → 로컬 서비스 전면 파악리스닝 포트 정찰 흐름입니다(가상의 예시 로그).
type=EXECVE ... a0="ss" a1="-tulpn"
type=SYSCALL ... auid=devops ses=12 comm="ss" exe="/usr/bin/ss" key="recon_net"
type=PATH ... name="/proc/net/tcp" nametype=NORMAL
| 관찰 | 해석 |
|---|---|
| ss -tulpn | 리스닝 포트+프로세스 |
| /proc/net/tcp | 소켓 전체 |
| 127.0.0.1 서비스 식별 | 로컬 전용 공격 표면 |
| ses=12 | 서비스 정찰 세션 |
로컬 전용 서비스(DB)에 대한 이후 접속 시도는 E영역(중요 정보 접근)과 연계해 봅니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<rule id="102160" level="7">
<if_group>audit</if_group>
<field name="audit.key">recon_net</field>
<regex type="pcre2">a0="ss"|a0="netstat"|/proc/net/tcp</regex>
<description>리스닝 포트·소켓 조회(로컬 서비스 정찰)</description>
<mitre><id>T1049</id></mitre>
</rule>
</group>
T1049(System Network Connections Discovery)에 매핑됩니다. C18(현재 연결)과 함께 봅니다.
| 조회 | 정보 |
|---|---|
| ss -tulpn | 리스닝 포트+프로세스 |
| /proc/net/tcp | 소켓 전체 |
| 특징 | 로컬 전용 서비스까지 드러남 |
| 구분 | 서비스 점검(정상) vs 로컬 서비스 전면 조회(정찰) |
| 면접 포인트 | "외부 스캔엔 안 보이는 로컬 전용 서비스가 로컬 조회로 드러난다" |
다음 편 118. Linux 정보 수집 — 현재 네트워크 연결 조회 에서는 활성 연결 정찰인 현재 네트워크 연결 조회를 다룹니다.
이전 편: 116. Linux 정보 수집 — 기본 게이트웨이·경로 확인
📚 시리즈 전체 보기: 시스템 보안 · 취약점