📘 Day 35 (2025.08.01.FRI) - 분석 보고서(jeonjucom), Linux 목록화, Tripwire

📂 외부 접속 분석 (jeonjucom)
root@IP174:/home/jeonjucom/public_html#

blog.tar.gz, dng.php 증거 빼기(sz)

test2.py
dng.php 해시값(md5) : 67876495121561205570ff4150b04ac9
  • 최초 공격 시점: 2025-04-23 18:57:55
syslog
  • jeonjucom 계정 생성 경위: 7/29 생성됨 (서버 죽었던 날, NMS 구축하는 날)
  • 과거에 공격했던 IP인가? 기존 서버(100번) 기준 차단되어 있었음
  • 공격 재시도 이유: 의도 미확인
  • 피해 사례: 아직 없음
🧹 매일 dng.php 자동 삭제 스크립트
#!/bin/bash

TARGET_DIR="/home/geumsol/public_html"
LOG_FILE="/home/geumsol/scan_log.txt"
NOW=$(date '+%Y-%m-%d %H:%M:%S')

FOUND_FILES=$(find "$TARGET_DIR" -type f -name "dng.php")

if [[ -n "$FOUND_FILES" ]]; then
    echo "[$NOW] Found and deleting:" >> "$LOG_FILE"
    echo "$FOUND_FILES" >> "$LOG_FILE"
    find "$TARGET_DIR" -type f -name "dng.php" -exec rm -f {} \;
    echo "[$NOW] Deletion complete." >> "$LOG_FILE"
else
    echo "[$NOW] No dng.php found." >> "$LOG_FILE"
fi
🔐 Tripwire
  • 파일 및 디렉터리 무결성 검사
  • IDS(침입 탐지 시스템) 역할 수행
  • 시스템 변경 감지 기능
🐍 Tripwire 미션(무결성 검사)
  • 디렉토리 내 파일 해시값 계산 및 저장
  • 이전 해시값과 비교하여 변경된 파일 확인
  • 일주일마다 자동 재검사(오전 9시에 자동으로 돌아가게 하기)
  • 변경된 해시 → 변경 내역 저장
CREATE TABLE hash (
  id INT AUTO_INCREMENT PRIMARY KEY,
  filename VARCHAR(255) NOT NULL,
  md5_hash CHAR(32) NOT NULL,
  last_check DATETIME NOT NULL
);
  • 경로: /home/계정명/public_html
  • 스크립트: MD5hash.py
  • 기능: 새로운 파일 탐지, 해시 변경 탐지
📂 CSV → MySQL (Autocsv.py)
  • MySQL DB: geumsol
  • 테이블명: linux
  • 약 86430개 파일의 해시 목록
  • 여기 없는 파일은 직접 생성한 파일로 판단 가능
CREATE TABLE linux (
  MD5 VARCHAR(32),
  SHA1 VARCHAR(40),
  FileNames TEXT
);
🧹 cleanup.sh (오래된 백업 삭제)
#!/bin/bash

DIR="/HDD1/geumsol"
echo "7일 이상된 SQL 및 TGZ 파일 삭제 시작..."
echo "-----------------------------------------"
find "$DIR" -type f \( -name "*.sql" -o -name "*.tgz" \) -mtime +7 -exec rm -v {} \;
echo "삭제가 완료되었습니다."