118. Linux 정보 수집 — 현재 네트워크 연결 조회

changseop lee·2일 전

시스템 보안 · 취약점

목록 보기
118/150

시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 18/50편 (전체 118/450)
학습 단계: 네트워크 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

리스닝 포트(C17)가 "이 서버가 받는 연결"이라면, 현재 연결(ESTABLISHED)은 "이 서버가 지금 누구와 통신 중인가" 입니다. 공격자는 이를 보고 연결된 상대(DB·내부 서버·백엔드)를 파악해 다음 표적을 정합니다.

현재 연결 조회
 ss -tn / ss -tanp    → ESTABLISHED 연결·프로세스
 netstat -tanp        → (구형) 연결
 /proc/net/tcp        → 소켓 상태

드러나는 것
 192.168.56.10:443  192.168.56.50:51010  ESTAB (현재 접속자)
 192.168.56.10:51234 10.10.20.10:3306   ESTAB (이 서버 → 내부 DB)
   → "이 웹서버가 내부 DB에 연결한다" = 다음 표적(DB) 식별

연결 상대는 신뢰 관계·데이터 흐름을 드러내, 공격자가 확산 경로를 설계하는 데 핵심 정보입니다.

2. 왜 중요한가

  • 현재 연결은 이 서버가 통신하는 백엔드·DB·내부 서버를 드러내, 공격자의 다음 표적·확산 경로가 됩니다(H영역).
  • 외부로의 ESTABLISHED 연결은 기존 정상 통신일 수도, C2일 수도 있어 구분이 필요합니다(F영역).
  • linsec 38편(비정상 연결 탐지)이 "연결 자체 탐지"라면, 여기서는 공격자가 연결 목록을 조회하는 정찰입니다.

3. 핵심 명령어 / 설정

조회정보
ss -tnESTABLISHED 연결
ss -tanp연결+프로세스
netstat -tanp(구형) 연결
/proc/net/tcp소켓 상태

4. 실습 (실습 예시)

# 현재 연결 조회 감사 (C17의 ss execve 감사로 포함)
# 세션에서 연결 조회와 식별된 상대 (분석 방법)
sudo ausearch -k recon_net -i --start recent | grep -E 'comm="ss"|comm="netstat"' | tail
# 이 서버의 실제 ESTABLISHED 상대 (분석용)
ss -tn state established 2>/dev/null | awk '{print $4, $5}' | head

5. 정상 상태

$ sudo ausearch -k recon_net -i --start today | grep 'comm="ss"' | tail -1
10:54:02 auid=admin1 ses=8 comm="ss"  (연결 상태 점검)

관리자가 연결 상태를 점검하는 단발 조회는 정상입니다.

6. 이상 상태

02:13:35 auid=devops ses=12 comm="ss" a1="-tanp"
 (출력에서 10.10.20.10:3306 내부 DB 연결 식별)
  • 현재 연결(ss -tanp) 조회로 내부 DB(10.10.20.10:3306) 연결 식별 → DB 표적화
  • 리스닝(C17) + 현재 연결(C18) 조회로 서버의 수신·발신 관계 전체 파악
  • 내부 DB 식별 뒤 그 DB로의 접근·확산(H영역)으로 이어질 위험

7. 로그 분석 (분석 방법)

연결 정찰 흐름입니다(가상의 예시 로그).

type=EXECVE ... a0="ss" a1="-tanp"
type=SYSCALL ... auid=devops ses=12 comm="ss" key="recon_net"
[참고: 식별된 연결] 192.168.56.10 → 10.10.20.10:3306 (내부 DB)
관찰해석
ss -tanp현재 연결+프로세스
내부 DB 연결 식별다음 표적(DB)
리스닝+연결 종합신뢰 관계 파악
ses=12연결 정찰 세션

식별된 내부 DB로의 접근 시도는 네트워크 로그·DB 로그와 교차 확인합니다(H·E영역).

8. SOC 관제 포인트

  • 현재 연결 조회는 연결 상대(내부 DB·서버) 식별 관점으로 봅니다.
  • 식별된 내부 상대로의 이후 접근·확산(H영역)을 연계 감시합니다.
  • 리스닝(C17)+연결(C18)을 묶어 네트워크 관계 정찰로 봅니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <rule id="102170" level="7">
    <if_group>audit</if_group>
    <field name="audit.key">recon_net</field>
    <regex type="pcre2">a0="ss" a1="-ta|a0="netstat" a1="-ta</regex>
    <description>현재 네트워크 연결 조회(연결 상대 정찰)</description>
    <mitre><id>T1049</id></mitre>
  </rule>
</group>

C17·C18은 네트워크 연결 정찰로 묶어 상관(120편)에 포함합니다.

10. 대응 방법

  1. 초기 확인 — 연결 조회의 주체·연속성과 식별된 연결 상대(내부 DB·서버)를 확인합니다.
  2. 범위 확인 — 식별 상대로의 이후 접근·확산(H·E영역)을 교차 확인합니다.
  3. 증거 확보 — 세션 조회 흐름과 연결 정보를 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 내부 상대 접근 점검을 진행합니다.
  5. 재발 방지 — 연결 정찰을 네트워크 정찰 상관에 포함합니다.

11. 핵심 정리

조회정보
ss -tnESTABLISHED 연결
ss -tanp연결+프로세스
연결 상대내부 DB·서버(다음 표적)
구분연결 점검(정상) vs 연결 상대 식별(정찰)
면접 포인트"현재 연결 조회는 서버의 신뢰 관계·확산 경로를 드러낸다"

12. 다음 편 예고

다음 편 119. Linux 정보 수집 — 네트워크 서비스·소켓 정보 수집 에서는 서비스 구성 정찰인 네트워크 서비스·소켓 정보 수집을 다룹니다.


이전 편: 117. Linux 정보 수집 — Listening Port 정보 수집
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글