📘 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
- 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 "삭제가 완료되었습니다."