Social Engineering 카테고리는 카테고리 이름에서도 보듯이 Social Engineering 공격에 사용되는 모듈로 구성되어 있다. BeEF 0.4.4.5-alpha 기준으로 10개의 모듈이 존재한다. 여기서는 몇가지 모듈을 살펴보면서, Social Engineering 카테고리에 대해 알아보자.
1. Fake Notification
Fake Notification 모듈은 Hooked Browser에서 hook.js가 삽입된 페이지 하단에 BeEF에서 작성한 가까 알림 메시지를 출력하는 모듈이다.
Fake Notification 모듈을 사용하기 위해서는 Commands 탭에서 Social Engineering 카테고리에 존재하는 Fake Notification를 선택한다. Fake Notification 모듈을 선택하면, 문자를 입력할 수 있는 입력 폼과 [Execute] 버튼이 활성화 된다.
[Execute] 버튼을 클릭하면, [Module Results History]에 아래와 같이 command가 생성된다.
생성된 command를 클릭하면, 모듈의 command가 실행된다. command가 성공적으로 실행되었다면, 아래와 같이 Command results에 알림 메시지가 출력되었다는 메시지를 출력한다.
위와 같은 메시지를 출력해 주면, Hooked Browser에서 hook.js가 삽입된 페이지 하단에 앞서 입력한 문자가 알림바 형식으로 출력되어 있어 있다.
Fake Notification 모듈은 테스트 결과 공격을 진행해서, 무언가 정보를 획득하는 모듈은 아닌것으로 판단된다.
아래는 Fake Notification 모듈의 command 소스코드이다.
2. TabNabbing
TabNabbing 모듈은 Social Engineering 공격 중 탭내빙(Tabnabbing)이라는 공격을 수행할 때 사용하는 모듈이다. 현재의 웹 브라우저들은 탭이라는 기능이 존재한다. 탭은 하나의 브라우저에서 여러개의 웹페이지를 볼 수 있도록 하는 기능으로, 탭내빙 공격은 피해자가 탭을 이용하여 웹 페이지를 여러개 보고 있는 경우 피해자 모르게 여러개의 탭중 하나의 탭을 변경 시키는 공격을 탭내빙(Tabnabbing) 공격이라 한다. BeEF에서 TabNabbing 모듈은 공격자가 BeEF에서 지정한 URL로 탭 중 하나를 리다이렉트 시켜 변경시킨다.
TabNabbing 모듈을 사용하기 위해서는 Commands 탭에서 Social Engineering 카테고리에 존재하는 TabNabbing를 선택한다. TabNabbing 모듈을 선택하면, 리다이렉트 시킬 URL과 탭 변경을 위한 대기 시간을 입력하는 입력 폼과 함께 오른쪽 하단에 [Execute] 버튼이 활성화 된다. 여기서는 테스트를 위해 URL 입력 부분에
[Execute] 버튼을 클릭하면, [Module Results History]에 아래와 같이 command가 생성된다.
생성된 command를 클릭하면, 모듈의 command가 실행된다. command가 성공적으로 실행되었다면, 아래와 같이 Command results에 탭내빙(Tabnabbing)을 하기 위해 잠시 대기중 이라는 메시지를 출력한다.
지정한 시간이 지나면, 아래와 같이 리다이렉트 되었다는 메시지를 출력한다.
리아티렉트 되었다는 메시지가 출력되면, Hooked Browser에서 브라우저 탭의 페이지가 변경된다.
아래는 TabNabbing 모듈의 command 소스코드이다.
아래는 TabNabbing 모듈의 command 소스코드이다. window.blur 을 이용하여, hook.js가 삽입되어 있는 탭이 다른 탭 뒤에 존재할 시 (비활성화) 카운트 다운을 시작한다. window.focus를 이용하여, hook.js가 삽입되어 있는 탭이 다른 탭 앞에 존재할 시 (활성화) 카운트 다운을 중지한다. TabNabbing 모듈의 command 소스코드에서 가장 중요하다고 생각되는 부분이 begin_countdown = function() 부분으로 window.location을 이용하여, 입력한 URL로 리다이렉트 시킨다.
beef.execute(function() {
var url = "<%= @url %>"; var wait = <%= @wait %>*1000*60; var tabnab_timer;
beef.net.send('<%= @command_url %>', <%= @command_id %>, 'tabnab=waiting for tab to become inactive');
$j(window).blur(function(e) { begin_countdown();
}).focus(function(e) { clearTimeout(tabnab_timer); });
begin_countdown = function() { tabnab_timer = setTimeout(function() { beef.net.send('<%= @command_url %>', <%= @command_id %>, 'tabnab=redirected'); window.location = url; }, wait); }
}); |
'Open Source > Kali Linux' 카테고리의 다른 글
Kali Linux 1.0.6 Released (0) | 2014.01.10 |
---|---|
Kali Linux Mirror 설정 (0) | 2013.12.19 |
BeEF On Kali Linux - Commands탭 Persistence 카테고리 (0) | 2013.11.08 |
BeEF On Kali Linux - Commands탭 Hooked Domain 카테고리 (0) | 2013.11.07 |
BeEF On Kali Linux - Commands탭 Browser 카테고리 (0) | 2013.11.07 |