백도어 (Back door) 개념
백도어란?
운영체제나 프로그램등을 만들 때 정상적인 인증 과정을 거치지 않고, 운영체제나 프로그램 등에 접근할 수 있도록 만든 일종의 뒷구멍 같은 개념
넓은 의미에서 설계자나 관리자에 의해 남겨진 시스템의 보안 허점 (익스플로잇)을 뜻하기도 함. 프로그램 개발이나 유지 보수, 유사시 문제 해결 등을 위해 시스템 관리 자, 혹은 설계자가 일부러 남겨놓기도 함.(액세스 효율 증대)
백도어의 종류
- 로컬 백도어
- 원격 백도어
- 패스워드 크래킹 백도어
- 시스템 설정 변경 백도어
- 트로이 목마 형태의 프로그램
- 거짓 업그레이드
- login 백도어
- telnetd 백도어
- Service 백도어
- Cronjob 백도어
- 라이브 러리 백도어
- 커널 백도어
- 파일 시스템 백도어
- 프로세스 은닉 백도어
- 네트워크 트래픽 백도어
- TCP 셀(shell) 백도어
- UDP 셀 백도어
백도어의 특징
• 모든 패스워드들을 바꾸는 등 관리자가 안전하게 관리하려고 함에도 불구하고 시스템에 침입할 수 있음
• 발견되지 않고 시스템에 침입할 수 있음
• 시스템에 최단 시간에 침입 가능
리버스 커넥션 (reverse connection)
일반적인 서버의 경우 서비스를 제공하나 서비스를 제공하려면 방화벽 등의 보안 솔루션을 우회해야 하기 때문에 서비스를 제공하는 백도어를 서버로 만들지 않고 클라이언트로 만들어서 서버에 서비스를 제공하는 방식을 사용
백도어 실습
백도어 만들어보기
백도어를 시작하고 메시지를 처리하는 작업이 가능하다.
backdoor.py를 실행하면 위처럼 tcp_reverse_backdoor.py <host> <port>가 나타난다.
tcp_reverse_backdoor.py를 cmd 창에서 실행시켜 보았다.
실행하기 전에 먼저 cd를 이용해서 해당 파일이 있는 경로로 이동해야 한다.
해당 경로로 이동하여 python 파일명.py 호스트주소 포트번호를 입력하면 접속된다.
cnc 서버를 구성하는 코드이다.
cnc_mode.py를 실행하면 cnc 서버가 열리면서 위와 같이 나타난다.
이때 위에서처럼 cmd 창으로 tcp_reverse_backdoor.py를 실행하면 idle에 접속된 것이 나타난다.
cnc 서버가 실행되고 dir 명령어가 수행되어 디렉터리에 어떤 파일이 있는지 나타났다.
cmd처럼 명령어들이 실행된다. notepad와 calc 명령어를 입력하면 메모장과 계산기가 실행된다.
'파이썬 IT 해킹, 보안' 카테고리의 다른 글
포트 스캐너 개발 (0) | 2020.10.04 |
---|---|
FTTP 프로토콜 (0) | 2020.09.20 |
FTP 프로토콜 (0) | 2020.09.15 |