Sploitus

Exploit for auditd

kitploit Β· 2026-08-25

Exploit Code

MARKDOWN135 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NEO23X0-AUDITD
![Actively Maintained](https://img.shields.io/badge/Maintenance%20Level-Actively%20Maintained-green.svg)

root@kitploit:~
    
    
        ___             ___ __      __
       /   | __  ______/ (_) /_____/ /
      / /| |/ / / / __  / / __/ __  / 
     / ___ / /_/ / /_/ / / /_/ /_/ /  
    /_/  |_\__,_/\__,_/_/\__/\__,_/   
    

Best Practice Auditd ꡬ성

## κ°œμš”

이 auditd κ΅¬μ„±μ˜ λͺ©ν‘œλŠ” λ‹€μŒκ³Ό 같은 λͺ¨λ²” 사둀 기쀀선을 μ œκ³΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

  * μ£Όμš” Linux λ°°ν¬νŒμ—μ„œ 기본적으둜 λ‘œλ“œλ˜λ„λ‘ 섀계
  * κ΄‘λ²”μœ„ν•œ λ³΄μ•ˆ κ΄€λ ¨ 호슀트 ν™œλ™μ„ 포함
  * κΈ΄ ν•˜λ“œμ½”λ”©λœ 탐지 λͺ©λ‘λ³΄λ‹€ μž¬μ‚¬μš© κ°€λŠ₯ν•œ ν…”λ ˆλ©”νŠΈλ¦¬λ₯Ό μ„ ν˜Έ
  * 탐지 λ‘œμ§μ„ Sigma κ·œμΉ™, SIEM μ½˜ν…μΈ  λ˜λŠ” 호슀트 μΈ‘ 뢄석에 μœ μ§€
  * μ„Ήμ…˜ ꡬ뢄과 주석을 톡해 읽기 쉽고 μ μ‘ν•˜κΈ° μ‰½κ²Œ μœ μ§€



λ‹¨μˆœν™”λœ κ·œμΉ™ μ„ΈνŠΈλŠ” μ˜λ„μ μœΌλ‘œ 일뢀 κ³ κ°€μΉ˜μ΄μ§€λ§Œ 잠재적으둜 λŒ€λŸ‰μ˜ ν…”λ ˆλ©”νŠΈλ¦¬, 특히 ν”„λ‘œμ„ΈμŠ€ 생성, μ†ŒμΌ“ 생성 및 파일 μ ‘κ·Ό μ‹€νŒ¨ 이벀트λ₯Ό μœ μ§€ν•©λ‹ˆλ‹€. ν•„μš”ν•œ 경우 μ΄λŸ¬ν•œ μ„Ήμ…˜μ„ ν™˜κ²½μ— 맞게 μ‘°μ •ν•˜μ„Έμš”.

## 적용 λ²”μœ„

ν˜„μž¬ ꡬ성은 λ‹€μŒ 적용 λ²”μœ„μ— 쀑점을 λ‘‘λ‹ˆλ‹€.

  * 자체 감사 및 감사 ꡬ성 무결성
  * λ…Έμ΄μ¦ˆ ν•„ν„° 및 이식성 쀑심 μ œμ™Έ
  * 컀널, λͺ¨λ“ˆ, 마운트, μŠ€μ™‘ 및 μ‹œκ°„ λ³€κ²½
  * μ˜ˆμ•½λœ μž‘μ—…, 계정 λ°μ΄ν„°λ² μ΄μŠ€, PAM, sudo 및 둜그인 μƒνƒœ
  * λ„€νŠΈμ›Œν¬, λ°©ν™”λ²½, μ‹œμž‘, μ„œλΉ„μŠ€ 및 λΆ€νŠΈ 경둜 ꡬ성
  * 라이브러리 경둜, μ…Έ ν”„λ‘œν•„, SSH, systemd 및 MAC μ •μ±… λ³€κ²½
  * μ‹€νŒ¨ν•œ μ ‘κ·Ό μ‹œλ„, DAC μˆ˜μ •, μ„Έμ…˜ 파일 및 κΆŒν•œ λ‚¨μš© νœ΄λ¦¬μŠ€ν‹±
  * `ptrace`, `memfd_create`, `bpf`, λ„€μž„μŠ€νŽ˜μ΄μŠ€, `io_uring` 및 `userfaultfd`와 같은 특수 ν”„λ¦¬λ―Έν‹°λΈŒ
  * μ†Œν”„νŠΈμ›¨μ–΄, μ»¨ν…Œμ΄λ„ˆ 및 λ³΄μ•ˆ 도ꡬ ꡬ성 경둜
  * `execve`, `execveat`, μ†ŒμΌ“ 생성, 파일 μ‚­μ œ 및 32λΉ„νŠΈ ABI μ‚¬μš©κ³Ό 같은 λŒ€λŸ‰ ν…”λ ˆλ©”νŠΈλ¦¬



## κ΄€λ ¨ ν”„λ‘œμ νŠΈ

이 κ·œμΉ™ μ„ΈνŠΈλŠ” λ‹€μš΄μŠ€νŠΈλ¦Ό 탐지 λ‘œμ§μ— λŒ€ν•΄ μ€‘λ¦½μ μœΌλ‘œ μœ μ§€λ©λ‹ˆλ‹€. μ΄λŠ” κ΄‘λ²”μœ„ν•˜κ²Œ μœ μš©ν•œ 감사 ν…”λ ˆλ©”νŠΈλ¦¬λ₯Ό μˆ˜μ§‘ν•˜λŠ” 데 쀑점을 두며, 이후 Sigma 기반 λ„κ΅¬λ‚˜ SIEM 쿼리와 같은 λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ 뢄석될 수 μžˆμŠ΅λ‹ˆλ‹€.

이 감사 데이터λ₯Ό ν™œμš©ν•  수 μžˆλŠ” μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈ 쀑 ν•˜λ‚˜λŠ” Aurora Linux둜, eBPF 기반 ν…”λ ˆλ©”νŠΈλ¦¬μ™€ μ‚¬μš©μž 곡간 κ°•ν™” 및 Sigma κ·œμΉ™ 맀칭을 κ²°ν•©ν•œ 가볍고 μ‚¬μš©μž μ •μ˜ κ°€λŠ₯ν•œ Sigma 기반 Linux μ—μ΄μ „νŠΈμž…λ‹ˆλ‹€.

## 검증

이 κ·œμΉ™ μ„ΈνŠΈλŠ” μ˜λ„μ μœΌλ‘œ `-i`λ₯Ό ν¬ν•¨ν•˜μ—¬ 선택적 λ°°ν¬νŒλ³„ κ²½λ‘œκ°€ 일뢀 λ°”μ΄λ„ˆλ¦¬λ‚˜ 디렉터리가 μ—†λŠ” μ‹œμŠ€ν…œμ—μ„œ λ‘œλ“œλ₯Ό μ€‘λ‹¨ν•˜μ§€ μ•Šλ„λ‘ ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ κΈ°λ³Έ 배포가 κ°„λ‹¨ν•˜μ§€λ§Œ κ·œμΉ™ λ‘œλ“œ 였λ₯˜κ°€ λ¬΄μ‹œλ©λ‹ˆλ‹€.

배포 μ „ μ—„κ²©ν•œ 검증을 μ›ν•œλ‹€λ©΄ `-i` 쀄을 μ œκ±°ν•œ μž„μ‹œ 볡사본을 ν…ŒμŠ€νŠΈν•˜μ„Έμš”. 예λ₯Ό λ“€μ–΄:

root@kitploit:~
    
    
    grep -v '^-i$' audit.rules > /tmp/audit.rules.strict
    auditctl -R /tmp/audit.rules.strict
    

μ €μž₯μ†Œμ—λŠ” κ·œμΉ™μ„ λ¦°νŠΈν•˜κ³  이식 κ°€λŠ₯ν•œ CI 볡사본과 μ—„κ²©ν•œ 볡사본이 λͺ¨λ‘ Ubuntuμ—μ„œ λ‘œλ“œλ  수 μžˆλŠ”μ§€ ν™•μΈν•˜λŠ” GitHub Actions 검사도 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

## UID_MIN

`audit.rules`의 μ—¬λŸ¬ κ·œμΉ™μ€ `auid>=1000 -F auid!=unset`을 μ‚¬μš©ν•˜μ—¬ λŒ€ν™”ν˜• μ‚¬μš©μž ν™œλ™μ— μ΄ˆμ μ„ λ§žμΆ”κ³  μ„€μ •λ˜μ§€ μ•Šμ€ 둜그인 μ„Έμ…˜μ„ μ œμ™Έν•©λ‹ˆλ‹€.

`1000`은 λ§Žμ€ Linux λ°°ν¬νŒμ—μ„œ 일반적인 `UID_MIN`μ΄μ§€λ§Œ λ³΄νŽΈμ μ΄μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. ν˜ΈμŠ€νŠΈμ—μ„œ λ‹€λ₯Έ `UID_MIN`을 μ‚¬μš©ν•˜λŠ” 경우 `/etc/login.defs`λ₯Ό ν™•μΈν•˜κ³  배포 전에 `audit.rules`μ—μ„œ `1000`을 κ΅μ²΄ν•˜μ„Έμš”:

root@kitploit:~
    
    
    awk '$1=="UID_MIN" { print $2 }' /etc/login.defs
    

## AF_ALG / Copy Fail ν…”λ ˆλ©”νŠΈλ¦¬

2026λ…„ 4μ›” 29일, XintλŠ” Copy Fail (CVE-2026-31431)을 λ°œν‘œν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” 컀널 μ•”ν˜Έν™” μ‚¬μš©μž 곡간 μΈν„°νŽ˜μ΄μŠ€(`AF_ALG`)와 `splice()`λ₯Ό ν•¨κ»˜ μ•…μš©ν•˜μ—¬ λ©”λͺ¨λ¦¬ λ‚΄ νŽ˜μ΄μ§€ μΊμ‹œ λ°±μ—… νŒŒμΌμ„ μ†μƒμ‹œν‚€λŠ” 둜컬 κΆŒν•œ μƒμŠΉ κΈ°μˆ μž…λ‹ˆλ‹€.

이 κ·œμΉ™ μ„ΈνŠΈλŠ” 속성 κ°€λŠ₯ν•œ μ‚¬μš©μž μ„Έμ…˜μ—μ„œ ν•΄λ‹Ή μ„€μ •μ˜ μ•ˆμ •μ μ΄κ³  λ…Έμ΄μ¦ˆκ°€ 적은 뢀뢄을 μˆ˜μ§‘ν•˜κΈ° μœ„ν•΄ μž‘μ€ `af_alg` 블둝을 ν¬ν•¨ν•©λ‹ˆλ‹€:

  * `socket(AF_ALG, ...)`
  * 일반적인 κ³ μ • 크기 `struct sockaddr_alg`λ₯Ό μ‚¬μš©ν•˜λŠ” `bind()`
  * `setsockopt(..., SOL_ALG, ...)`



μ΄λŠ” `authencesn(hmac(sha256),cbc(aes))`와 같은 μΌνšŒμ„± μ„œλͺ…보닀 μ˜λ„μ μœΌλ‘œ 더 μΌλ°˜μ μž…λ‹ˆλ‹€. 감사 μ‹œμŠ€ν…œ 호좜 ν•„ν„°λŠ” λ¬Έμžμ—΄ 인수λ₯Ό μΌμΉ˜μ‹œν‚¬ 수 μ—†κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€. μ‹€μ œλ‘œ μ•Œκ³ λ¦¬μ¦˜ 이름은 `bind()`κ°€ λ°©μΆœν•˜λŠ” `SOCKADDR` λ ˆμ½”λ“œμ— μžˆμœΌλ―€λ‘œ ꢌμž₯λ˜λŠ” λ‹€μš΄μŠ€νŠΈλ¦Ό νƒμ§€λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  * `key=af_alg`둜 필터링
  * `SOCKADDR.saddr` / `SADDR={ saddr_fam=alg ... }` 검사
  * `salg_type=aead`와 `salg_name`에 `authencesn(` 포함 μ—¬λΆ€ ν”Œλž˜κ·Έ μ§€μ •
  * λ™μΌν•œ `pid`, `exe` λ˜λŠ” `auid`κ°€ 짧은 μ‹œκ°„ 내에 λ§Žμ€ λ°”μΈλ“œλ₯Ό λ°©μΆœν•  경우 심각도 상ν–₯



Xintκ°€ μ„€λͺ…ν•œ κ°œλ… 증λͺ…은 λ˜ν•œ 반볡적인 `splice()` μž‘μ—…μ— μ˜μ‘΄ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ‹œμŠ€ν…œ ν˜ΈμΆœμ€ λ§Žμ€ μ‹œμŠ€ν…œμ—μ„œ κΈ°λ³Έ κ·œμΉ™ μ„ΈνŠΈμ— ν¬ν•¨ν•˜κΈ°μ—λŠ” λ„ˆλ¬΄ μ‹œλ„λŸ½μŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ μ €μž₯μ†Œμ—λŠ” `audit.rules`에 주석 처리된 `splice_user` μ˜€λ²„λ ˆμ΄λ§Œ ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž ν™˜κ²½μ—μ„œ `splice` / `vmsplice`κ°€ λ“œλ¬Όκ³  λ™μΌν•œ ν”„λ‘œμ„ΈμŠ€ λ˜λŠ” μ‚¬μš©μž μ„Έμ…˜μ˜ 졜근 `af_alg` ν™œλ™κ³Ό 상관 관계가 μžˆλŠ” κ²½μš°μ—λ§Œ ν™œμ„±ν™”ν•˜μ„Έμš”.

## 좜처

이 ꡬ성은 λ‹€μŒ μΆœμ²˜μ™€ κΈ°λ³Έ κ·œμΉ™ μ„ΈνŠΈμ— λŒ€ν•œ μˆ˜λ…„κ°„μ˜ λ³‘ν•©λœ κ°œμ„  사항을 기반으둜 ν•©λ‹ˆλ‹€.

Gov.uk auditd κ·œμΉ™ https://github.com/gds-operations/puppet-auditd/pull/1

CentOS 7 κ°•ν™” https://highon.coffee/blog/security-harden-centos-7/#auditd---audit-daemon

Linux audit μ €μž₯μ†Œ https://github.com/linux-audit/audit-userspace/tree/master/rules

Auditd κ³ μ„±λŠ₯ Linux 감사 https://linux-audit.com/tuning-auditd-high-performance-linux-auditing/

Copy Fail: λͺ¨λ“  μ£Όμš” Linux λ°°ν¬νŒμ—μ„œ 732λ°”μ΄νŠΈλ‘œ 루트 κΆŒν•œ νšλ“ https://xint.io/blog/copy-fail-linux-distributions

Linux 컀널 μ•”ν˜Έν™” μ‚¬μš©μž 곡간 μΈν„°νŽ˜μ΄μŠ€ (AF_ALG) https://docs.kernel.org/crypto/userspace-if.html

### μΆ”κ°€ κ·œμΉ™

μ΄λŸ¬ν•œ κ·œμΉ™μ΄ λͺ¨λ‘ ν¬ν•¨λœ 것은 μ•„λ‹™λ‹ˆλ‹€.

PCI DSS μ€€μˆ˜μ— λŒ€ν•΄μ„œλŠ” λ‹€μŒμ„ μ°Έμ‘°ν•˜μ„Έμš”: https://github.com/linux-audit/audit-userspace/blob/master/rules/30-pci-dss-v31.rules

NISPOM μ€€μˆ˜μ— λŒ€ν•΄μ„œλŠ” λ‹€μŒμ„ μ°Έμ‘°ν•˜μ„Έμš”: https://github.com/linux-audit/audit-userspace/blob/master/rules/30-nispom.rules

## IppSec의 λ™μ˜μƒ μ„€λͺ…

IppSec은 auditdλ₯Ό μ‚¬μš©ν•˜μ—¬ OMIGOD 취약점 μ•…μš©μ„ νƒμ§€ν•˜λŠ” 방법을 μ„€λͺ…ν•˜λŠ” λ™μ˜μƒμ„ μ΄¬μ˜ν–ˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή λ™μ˜μƒμ˜ 핡심 auditd κ°œλ…μ€ μ—¬μ „νžˆ μœ μš©ν•˜μ§€λ§Œ, 이 μ €μž₯μ†Œμ˜ κ·œμΉ™ μ„ΈνŠΈλŠ” 이후 크게 λ‹¨μˆœν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ™μ˜μƒμ„ 역사적 λ°°κ²½ 및 auditd 기반 탐지 아이디어 μ†Œκ°œλ‘œ μ·¨κΈ‰ν•˜κ³ , ν˜„μž¬ `audit.rules`의 쀄별 λ¬Έμ„œλ‘œ μ·¨κΈ‰ν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.

https://www.youtube.com/watch?v=lc1i9h1GyMA

## κΈ°μ—¬

λ³€κ²½ 사항은 ν’€ λ¦¬ν€˜μŠ€νŠΈλ‘œ κΈ°μ—¬ν•΄ μ£Όμ„Έμš”.