/*
 http://sosal.tistory.com/
 * made by so_Sal
 */


Solaris시스템(13.155.33.234)을 관리하던 중 H보안회사(233.235.231.233)로부터
다음과 같은 항의메일을 받았다.
<당신의 컴퓨터로부터 주기적인 해킹시도가 있으므로 다음 로그를 참고하여
시스템을 보안조치해달라.>
시스템을 점검하여 해커가 설치한 해킹프로그램을 삭제하시오.참고로 이 시스템이
셋업된 날짜는 2001년 10월1일이며, H사로부터 보내온 로그파일은 다음과 같다.
Oct 26 18:07:45 233.235.231.233 rpc.statd[189]: gethostbyname format string attack from 13.155.33.234
Oct 26 18:08:14 233.235.231.233 rpc.statd[189]: gethostbyname format string attack from 13.155.33.234


즉, 2001년 10월 1일부터 서버가 시작되었으므로..
2001/10/2 ~ 2001/10/26 사이에 해커가 해킹 프로그램을 설치했다는데..
그 프로그램은 format string 버그가 있는 파일인가 보네요.

10월 1일에 시스템이 구축되었으므로, 1일부터 검색하게 되면,
거의 모든 파일을 찾는것과 다름없습니다.
따라서 2일을 기준으로 검색합니다.

find 명령어로 특정 날짜를 검색하려면, -newer 옵션을 이용해야합니다.
10월 2일 날짜를 가진 파일, 10월 26일 날짜를 가진 파일을 생성하여
그 사이에 있는 파일들을 출력하도록 하면 되겠네요.

우선 검색 기간의 파일만들기.
1. 2001년 10월 2일 00시 00분 //
 # touch -t 200110020000 start_time
(파일이름은 start_time 이며, -t 옵션을 이용하여 시간소인을 강제로 줌)
 # touch -t 200110260000 end_time


find에서 newer 옵션에 대해서 간단하게 말하면
-newer {file_name} 여기서 file_name의 파일보다 최근에 수정된것을 찾아야 합니다.
즉, 위에서 만든 start_time 파일의 날짜 이후로 모든 파일을 출력하겠습니다.

하지만 10월 26일 이후에 만들어진 파일들은 검색할 필요가 없으니,
! -newer 명령어를 이용하여, 26일 이후의 파일들은 걸러냅니다.


★  이제 검색하기(tmp로 예를들겟음.검색위치는 변경하세요)
# find / -type f -newer start_time ! -newer end_time -ls 2>/dev/null | more

-type f 는 파일만 찾는것이고 이걸 생략해도됩니다.
파일이름보고 검색기준이 아니고 파일이 생성된 시간을 보고 검색이 됩니다.
| more 은, 화면이 초과했을때 출력을 잠시 멈추고 키 입력을 기다리는 명령어입니다.

2>/dev/null 은 오류를(2) /dev/null로 보내라 (>) 의미입니다.
//입력 : 0, 출력 :1, 에러 : 2


2258710    6 -rwxrwxrwx   1 2001     other        5580 Oct 26  2001 /usr/share/lib/rpc-exp
수고하셨습니다.

Posted by sosal sosal

댓글을 달아 주세요