회원가입

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기

[Tip] find를 활용하자 (백도어찾는데)

Profile
:맥노턴
From: 석기 김 <stoneonl_at_yahoo.co.kr>
Subject: [Tip] find를 활용하자


우리나라 리눅스 서버를 보면
크래킹(해킹)에 완전히 무방비 상태입니다.
주- 우리 모두 해킹이라고 하지말고 크래킹이라고
불렀으면 좋겠슴다.


그래서 조금이나마 도움이 되고자 백도어 찾는 방법을
알려줄려고 합니다. 물론 이것만으로 해결될수 없죠


맨처음 크래커의 침입이 의심되면
setuid와 setgid를 점검해야 합니다.
그러기 위한 검색 명령어 find !!!


예)
# find / -type f -perm +6000 -ls


설명
f: 일반적인 화일들,
+6000: 퍼미션이 6000인 모든것 (any of the permission
bits)
-ls : 상세 출력 `ls -l`과 같음


수상한 화일이 보이면 삭제하거나
#chmod -s 수상한화일
-s: setuid,setuid 해제



또한 시스템관리상 실수로 쓰기모드로 변경된 파일도
있습니다.
이걸 찿는 방법,단 링크화일은 안찾아도
되겠죠,정규표현식을 쓰자 ..
#find / -perm –2 ! –type l –ls


설명 –2 : 퍼미션이 2이상 모든 것을 지칭해요 (all
of the permission bits)
심볼링링크파일이 아닌 모든 데이터화일을 찾는 것
주로 /dev/와 /tmp에 많아요..


참고로 소유자나 그룹이 없는 파일을 찾는 방법을
알려드리겠습니다. 이건 크래커가 고의적으로 만든경우가
많습니다.
찾는 방법
find / -nouser -o –nogroup
-o(정규표현식 or를 뜻해요)


리눅스의 3대 요소 ,vi 에디터 ,정규표현식, C(내
생각입니다.)



인용
www.linuxsecurity.com


Profile
:맥노턴
레벨 30
569407/686490
81%
McNorton & Education Lab.
Director
댓글
4
  • :맥노턴
    작성자
    2003.06.29
    find /etc -exec grep '[0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*[.][0-9][0-9]*' {} \;

    # /etc 디렉토리에 들어 있는 파일들에 포함된
    # 모든 IP 주소(xxx.xxx.xxx.xxx)를 찾아줍니다.
    # IP 가 아닌 것도 나오는데 이것들을 어떻게 걸러낼 수 있을까요?

    # 이건 어때요?

    find /etc -type f -exec cat '{}' \; | tr -c '.[:digit:]' '\n' \
    | grep '^[^.][^.]*\.[^.][^.]*\.[^.][^.]*\.[^.][^.]*$'

    # Thanks, S.C.

  • :맥노턴
    작성자
    2003.06.29
    find /home/bozo/projects -mtime 1
    # /home/bozo/projects 디렉토리안에 있는 파일중에서
    # 하루 전에 변경된 파일들을 모두 보여 줍니다.
  • :맥노턴
    작성자
    2003.06.29
    -----------------------------------------------------------------
    옵션 기능
    -----------------------------------------------------------------
    -atime N n일 전에 액세스(access)된 파일을 찾습니다.

    -mtime N n일 전에 수정(modify)된 파일을 찾습니다.

    -newer USR file보다 늦게 수정된 파일을 찾습니다.

    -size n n*512 바이트 길이를 가지는 파일을 찾습니다.

    -name WORD 파일 이름으로 검색합니다. 이름에는 메타 문자(*, ?, [])를
    사용할 수 있습니다.

    -perm MODE 퍼미션으로 검색합니다. (-perm +2000)

    -type LETTER 파일형식으로 검색합니다. f는 보통 파일, d는 디렉토리
    파일을 의미합니다.

    -user USR 사용자 이름이 usr인 파일을 찾습니다.

    -nouser 파일 소유자 이름이 등록되어 있지 않은 파일을 찾습니다.

    -nogrp 파일 소유 그룹 이름이 등록되어 있지 않은 파일을 찾습니다.
  • :맥노턴
    작성자
    2003.06.29
    -----------------------------------------------------------------
    옵션 기능
    -----------------------------------------------------------------
    -exec CMD 명령(CMD)을 실행합니다. 명령행의 끝은 반드시 \; 로
    닫아 주어야 합니다. 현재 찾은 파일이름의 배열을 {}로
    입력으로 사용할 수 있습니다. 아래 명령은 확장자가 bak인
    모든 파일을 찾아 삭제합니다.

    find ./ -name '*.bak' -exec rm -f {} \;

    -ok CMD 명령을 실행하기 전에 사용자 입력을 기다립니다.

    -print 표준출력(stdout)으로 출력합니다. 기본설정입니다.

    -ptint0 -print와 같이 동작하지만 출력의 끝에 개행문자를 붙이지
    않습니다.

    -fprint FILE -print와 같이 동작하면서 출력을 지정한 파일로 보냅니다.

    -printf FORM c 스타일의 포맷을 사용하여 출력합니다.
    man 3 printf

    -ls ls -dils 형식으로 파일 정보를 자세히 출력합니다.

    -fls -ls 와 같이 동작하면서 출력을 지정한 파일로 보냅니다.
댓글 쓰기
권한이 없습니다.

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기