2024. 5. 1. 21:34ㆍ보안/포렌식
리눅스 아티팩트 종류
1. wtmp
접속성공에 기록을 확인한다.(로그인/로그아웃 정보, boot/shutdown의 히스토리 정보를 파일로 저장한다)
/var/log/wtmp는 바이너리 파일로 이루어져 있고,
last -f /var/log/wtmp
명령을 이용하여 확인이 가능하다.
2. btmp
접속실패에 기록을 확인한다.
/var/log/btmp 파일에 저장된다.(바이너리 파일로 이루어져 있다.)
last -f /var/log/btmp
명령을 이용하여 확인이 가능하다.
3.utmp
시스템에 현재 로그인한 사용자들에 대한 상태 정보를 확인할 수 있다.
역시 바이너리 파일로 되어 있어 w, who, finger 등의 명령어로 확인할 수 있다.
* w 명령어
현재 시스템에 성공적으로 로그인한 사용자정보, 시스템로드 정보, uptime 정보 출력
* who 명령어
현재 시스템에 성공적으로 로그인한 사용자의 정보와 접속한 Clinet IP를 출력
* finger 명령어
사용자 계정 정보와 최근 로그인 정보, 이메일, 예약 작업 정보 등을 볼 수 있는 명령어
sudo apt-get install finger -y 로 finger 명령어 우선 설치
4. lastlog
각 사용자들이 언제 마지막으로 접속하였는가를 확인
/etc/passwd 파일에 정의되어 있는 모든 사용자들의 마지막 접속정보를 확인
/var/log/lastlog 파일의 정보를 출력해준다.
* lastlog 명령어를 통해 /etc/passwd 파일에 정의되어 있는 모든 사용자들의 마지막 접속정보 확인
* lastlog -u root 명령어를 통해 사용자의 마지막 접속 정보 확인(계정이 root로 안되어 있는 듯..?)
* lastlog -u N(N일 이후에 접속한 기록이 있는 사용자는 제외)
* lastlog -t D(D일부터 현재까지 접속한 정보)
5. messages
시스템의 표준 메시지가 기록되는 파일.
root 사용자만 열람할 수 있으며 날짜 및 시간, 메시지가 발생한 호스트명, 메시지를 발생한 내부 시스템이나 응용 프로그램의 이름, 발생된 메시지가 ':'으로 구분되어 기록된다.
-> Ubuntu에서는 /var/log/messages 파일이 안보이는 경우가 있는데, /etc/rsyslog.d/50-default.conf 파일의 주석 일부를 해제해 주어야 로그파일을 정상적으로 열람할 수 있다.
sudo vi /etc/rsyslog.d/50-default.conf
# Some "catch-all" log files.
#
#*.=debug;\
# auth,authpriv.none;\
# news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
auth,authpriv.none;\
cron,daemon.none;\
mail,news.none -/var/log/messages
편집이 완료되면 파일을 저장한 후 데몬을 재시작한다.
sudo service rsyslog restart
6.secure
인증 기반 접속 관련 기록
tcp_wrapper의 접속제어에 대한 로그파일 . 누가 어디서 접속했는지에 대한 로그를 기록한다.
이외에도 ssh, telnet, su 관련 실행내용들이 기록되므로 불법으로 침입이 있었다고 의심될 때 확인해야 하는 로그파일
7. cron
cron이 실행된 것들에 대한 정보가 기록된다.
crontab에 저장된 작업들이 정상 수행했는지 확인 해볼 수 있다.
* cron : 리눅스 계열에서 특정 시간에 특정 작업을하는 데몬
크론이 언제 무엇을 하는지 특정 파일에 저장하는 것을 크론탭이라고 한다.
크론이라는 데몬이 원하는 시간에 원하는 명령 또는 프로그램을 수행하도록 명령 리스트를 만드는 것이 크론탭 작업.
-> 윈도우 스케줄러와 비슷
// 크론탭 편집
crontab -e
// 크론탭 작업 내용 확인
crontab -l
// 크론탭 삭제
// 삭제시 전체 작업이 삭제됩니다
crontab -r
// 크론탭 주기
* * * * * {실행 명령}
// 위 순서대로 분 시 일 월 요일 {실행 명령}
분 : 0-59
시 : 0-23
일 : 0-31
월 : 0-12
요일 : 0-6 (일-토 : 0과 7은 일요일이며 1부터 월요일)
// 매 분마다 실행
* * * * * {실행 명령} or /1 * * * * {실행 명령}
// 매 시 정각에 실행
0 * * * * {실행 명령}
// 매일 오후 13시 정각에 실행
0 13 * * * {실행 명령}
// 매주 월요일 자정에 실행
0 0 * * 1 {실행 명령}
// 매달 5일 자정에 실행
0 0 5 * * {실행 명령}
// 매시 25분, 55분에 실행
25,55 * * * * {실행 명령}
// 15분마다 실행
*/15 * * * * {실행 명령}
// 매일 3시에 실행
0 3 * * * {실행 명령}
// 매 6시간마다(00:30, 06:30, 12:30, 18:30) 실행
30 */6 * * * {실행 명령}
// 1시부터 매 6시간마다(01:30, 07:30, 13:30, 19:30) 실행
30 1-23/6 * * * {실행 명령}
// 평일(월요일~토요일) 06:00에 실행
0 6 * * 1-6 {실행 명령}
// 토요일 07:00에 실행
0 7 * * 6 {실행 명령}
// 크론탭 시작
service cron start
// 크론탭 중지
service cron stop
// 작동확인
service cron status
// 재시작
service cron restart
service crond restart
8. boot.log
시스템의 데몬들이 실행되거나 재시작 되었을 경우 기록되는 로그파일.
부팅시 에러사항, 조치사항들을 확인하는 경우에 사용된다.
last -f /var/log/boot.log
9. history
각 계정별로 실행한 명령어에 대한 기록을 저장한 파일
각 계정별 홈 디렉토리에 존재
history
명령을 통해 확인 가능
'보안 > 포렌식' 카테고리의 다른 글
[Dreamhack] palm write-up (0) | 2024.05.03 |
---|---|
[CyberDefenders] Insider Blue Team Challenge (1) | 2024.05.01 |
ext4파일 시스템 삭제된 파일 복구 원리 (0) | 2024.04.27 |
[CyberDefenders] Szechuan Sauce Blue Team Lab Write-up (0) | 2024.04.18 |
[Dreamhack] lolololologfile Write-up (0) | 2024.04.17 |