370. 방어 회피·흔적 삭제 — 방화벽·iptables 규칙 변조 탐지

changseop lee·7일 전

시스템 보안 · 취약점

목록 보기
370/450

시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 20/50편 (전체 370/450)
학습 단계: 보안 기능 무력화·은닉
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

방화벽(iptables·nftables·firewalld)은 네트워크 접근 통제의 핵심입니다. 공격자는 방화벽을 비활성화하거나 규칙을 변조해 C2·데이터 유출 통신을 허용하고, 로그 전송 차단(H15)에도 악용합니다.

방화벽 규칙 변조 패턴
 전체 비활성화: iptables -F(규칙 삭제), systemctl stop firewalld
 허용 규칙 추가: 공격자 IP·포트 허용(C2·유출용)
 로깅 규칙 제거: 방화벽 로그 규칙 삭제
 정책 변경: 기본 정책을 ACCEPT로(전체 허용)
 중앙 전송 차단: 로그 서버 포트 차단(H15 연계)

탐지: iptables -F/-A·firewalld 변경·정책 전환 명령

핵심은 "접근 통제를 여는 방향의 변경"입니다. 규칙 전체 삭제(-F)·허용 규칙 추가·기본 정책 ACCEPT 전환이 위험 신호입니다.

2. 왜 중요한가

  • 방화벽 변조는 C2·유출 통신을 허용하고 접근 통제를 무력화합니다.
  • iptables -F(전체 삭제)·기본 정책 ACCEPT는 방어를 통째로 여는 위험 행위입니다.
  • 방화벽으로 로그 서버 포트를 막으면 로그 전송 차단(H15)과 연계됩니다.

3. 핵심 명령어 / 설정

변조명령영향
전체 삭제iptables -F통제 해제
서비스 중지systemctl stop firewalld방화벽 off
허용 추가iptables -A ... ACCEPTC2·유출 허용
정책 전환-P INPUT ACCEPT전체 허용
로깅 제거LOG 규칙 삭제흔적 제거

4. 실습 (실습 예시)

# 방화벽·iptables 변조 탐지 (분석 방법)
# 방화벽 규칙 변경·비활성화 명령
sudo ausearch -k sec_disable,proc_exec -i --start recent 2>/dev/null | grep -E 'iptables|nft|firewall-cmd|ufw' | tail
# 현재 규칙·기본 정책 확인
sudo iptables -L -n 2>/dev/null | grep -E 'policy|Chain' | head
# firewalld 상태
systemctl is-active firewalld 2>/dev/null

5. 정상 상태

$ (방화벽 변경) (없음 또는 승인 변경)
$ (기본 정책) policy DROP (제한적 — 정상)
$ firewalld active

방화벽 변경이 승인 범위에 그치고, 기본 정책이 DROP(제한적)이며 방화벽이 가동되는 상태가 정상입니다.

6. 이상 상태

$ (방화벽 변경)
proctitle="iptables -F" (전체 규칙 삭제)
proctitle="iptables -P INPUT ACCEPT" (기본 허용 전환)
proctitle="iptables -A OUTPUT -d 203.0.113.50 -j ACCEPT" (유출 허용)
$ (기본 정책) policy ACCEPT (전체 허용 — 비정상)
  • iptables -F·기본 정책 ACCEPT → 접근 통제 전면 해제
  • 외부 IP(203.0.113.50) 허용 규칙 추가 → C2·유출 경로 개방
  • 방화벽 변조 → 통신 통제 무력화 → 정탐

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

방화벽 규칙 변조 분석입니다(가상의 예시).

[정상] 기본 정책 DROP, 필요한 포트만 허용
   ↓ (공격자 변조)
① iptables -F (규칙 전체 삭제)
② iptables -P OUTPUT ACCEPT (아웃바운드 전체 허용)
③ -A OUTPUT -d 203.0.113.50 ACCEPT (C2 허용)
   ↓ (결과)
C2·데이터 유출 통신 자유화 + 로그 서버 포트 차단
      ↕ (탐지)
[auditd] iptables -F/-A·정책 전환 명령 기록
   ↓
= 통제를 여는 방향 변경 → 방어 회피 → 정탐
변조해석
-F통제 해제
-P ACCEPT전체 허용
외부 허용C2 경로
LOG 제거흔적 제거

통제를 여는 방향의 변경이 방화벽 변조 탐지의 핵심입니다.

8. SOC 관제 포인트

  • 방화벽·iptables 변조는 접근 통제를 열어 C2·유출 통신을 허용하는 방어 회피입니다.
  • iptables -F·기본 정책 ACCEPT·외부 허용 규칙 추가가 위험 신호입니다.
  • 방화벽으로 로그 서버 포트를 막으면 로그 전송 차단과 연계됩니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
  <rule id="107190" level="13">
    <if_sid>107000</if_sid>
    <field name="audit.proctitle" type="pcre2">iptables\s+-F|iptables\s+-P\s+\S+\s+ACCEPT|nft\s+flush|systemctl\s+(stop|disable)\s+firewalld|ufw\s+disable</field>
    <description>방화벽 규칙 전체 삭제·전체 허용 전환(통제 무력화)</description>
    <mitre><id>T1562.004</id></mitre>
  </rule>
</group>

방화벽 규칙 변경을 중앙에서 모니터링하고, 기본 정책 전환·전체 삭제는 높은 레벨로 경보합니다. 승인 변경은 예외 처리합니다.

10. 대응 방법

  1. 초기 확인 — 방화벽 규칙 변경·비활성화·정책 전환 명령을 확인합니다.
  2. 범위 확인 — 전체 삭제·전체 허용·외부 IP 허용·로깅 제거를 확인합니다.
  3. 증거 확보 — 방화벽 변경 이벤트·규칙 스냅샷·기본 정책을 보존합니다.
  4. 차단/조치 — 방화벽 변조 정탐이면 규칙 복구·개방된 통신(C2·유출) 조사를 진행합니다.
  5. 재발 방지 — 방화벽·iptables 변조 탐지를 운영합니다.

11. 핵심 정리

변조명령
전체 삭제iptables -F
서비스 중지systemctl stop firewalld
허용 추가-A ... ACCEPT
정책 전환-P INPUT ACCEPT
면접 포인트"방화벽 변조는 통제를 여는 방향 — -F·기본 ACCEPT가 C2·유출 개방 신호"

12. 다음 편 예고

다음 편 371. 방어 회피·흔적 삭제 — SELinux·AppArmor 비활성화 탐지 에서는 SELinux·AppArmor 비활성화를 다루는 SELinux·AppArmor 비활성화 탐지를 다룹니다.


이전 편: 369. 방어 회피·흔적 삭제 — 보안 도구 비활성화·중지 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글