본문 바로가기

학원

2023/07/19 디렉터리 리스닝


디렉터리 리스닝


 

이렇게 입력하게 되면 스캐닝을 하면서 192.168.1.20의 포트를 스캐닝해주는 것
포트스캐닝은 당연하고 http가 오픈인것도 확인할 수 있다. 웹서버의 구조를 파악



접속되어있는 IP에 우클릭해서 spider를 누르면 이렇게 뜨게 된다.
이걸 사용하면 대상서버의 페이지에 순차적으로 접근하면서 구조를 알려준다.
이런식으로 무슨 파일이 있고 뭐가 있는지 볼 수있다.
* 실제 사이트에 하게되면 로그가 남기 때문에 불이익이 올 수 있다.. 하지말자.. *


 

공격자에서 확인한 디렉터리에 목록으로 이동하는게 가능하다.
눌러서 다운로드도 가능하다. 이걸 디렉터리를 읽을 수 있다는 리스닝이라고 한다.



win서버에서는 간단하게 설정할 수 있음 인터넷 서비스 관리자로 들어와서 webhack을 우클릭하고
등록정보 확인을 눌러줌. 확인해보면 경로는 기본경로로 되어있고 디렉터리 검색을 해제해주고 적용 확인을 해준다.
그렇게 되면 공격자에서 스캐닝을 하더라도 할 수 없음 디렉터리 검색조차도 못하게 된다.
이 정도만 해줘도 접근을 막을 수 있다.



 

테스트를 위해 실험용 사이트를 검색해봄 demo.testfire.net이 사이트는 실제로 다들 함
강사님은 공부할 때 네이버같은 사이트의 취약점을 문의하면 포상금으로도 받았다.
paros대신에 Burp Suite를 사용함

 

 

사이트 새로고침해주고 잘 잡는지 확인부터 해주고 intercept를 풀어줌 

 

 

위쪽에 Sign IN으로 들어가서 테스트 서버이기 때문에 admin으로 접속
로그인이 성공했을 때 이 화면과 실패했을 때 화면이 다르기 때문에 그걸로 대입 공격을 할 것

 

 

이제 패킷을 잡을거라 Intercept ins on을 눌러주고 아이디 비번을 아무거나 입력하면
패킷을 잡는걸 확인할 수있음
이걸 passwd와 uid를 



우클릭 Send to Intruder로 하면 프록시에서 intruder로 보내진다.

 일로 오면 positions으로 들어오고 Cluster bomb로 확인해야한다.
그리고 아래 패킷을 확인해보면 주황색으로 된게 페레미터 값이다.
필요한게 UID랑 패스워드기 때문에 이거 빼고 나머지는 주황색을 오른쪽에 있는 Clear로 지워주고


 

그리고 payloads로 들어가서 Set을 들어가서 2개가 있어야한다. 
1은첫번째 검색인 uid이고 2는 패스워드이다. 먼저 1번을 선택해서 uid를 할 것
이것은 하나씩 비교해서 아이디를 검색하는 것이다.
아래에 Add해서 하나씩 넣을 수도있고 아니면 옆에 Load로 불러올 수 도있다.

 

 

패스워드도 똑같이 리스트를 만들어줌

 

 

옵션으로 와서 봐야할건 중간정도에 grep - match를 볼 수 있는데 기본으로 되어있는걸 지워줌
여기에 아까 로그인 성공했을 때 복사했던 Welcome to Altoro Mutual Online.를 넣어줌



 

저기 아래로 내려가면 리델있는데 성공이나 실패했을때 뜨는것인데 never가 아니라 always로 바꿈
쿠키도 체크해줌

 

 

이렇게 하면 위에 Intruder에서 start attack해주면 아까 내가 저장한 리스트가 쭉 뜨게 된다.
그걸 하나씩 대입하면서 맞는걸 찾게되면 Welcome to altoro Mutual Online에 체크가 된다.
*나는 모르고 리스트 하나에 맞는걸 넣는걸 깜빡해서 안뜸



이거 말고 새로운 도구가 있다 공격자로 들어와서 hydra라는걸 사용할 것 윈도우에 webhack을 타겟으로 할것

 

cp 명령어를 사용해 passwords.txt 파일을 현재 위치로 가져왔다.

 

 

vi passwords.txt에 내 webhack의 비밀번호를 넣어줌 이렇게 되면 준비할 것은 다 했다.



hydra 명령어를 사용하게 되면 내 webhack ID를 입력해서 명령어를 입력해줌 그러면 login한 아이디와 password가 뜸
여기서 파일에 password.txt파일을 만들고 명령어에 passwords.txt대신 쓰게 된다면 파일을
오래 찾지않고 바로 찾을 수 있게 된다.



[ 문제 1 ] Web Server의 Password를 Dictionary Attack을 이용해 찾으세요.

- 호스트로 들어가는 것 Web server IP : 192.168.43.200
- Dictionary File: passwords.txt

 

 

hydra 192.168.43.200 -l administrator -P ./passwords.txt -t 10 -e ns -V http-get -f로
지정된 파일을 불러온다. -ns도 딱히 안써도 된다.


[ 문제 2 ] 회원등록 페이지의 ID 입력부분이 12자리로 제한되어 있다. 우회하세요.



paros에서 192.168.43.200 사이트를 들어가서 join Us의 패킷을 잡아서 body를 확인해보면
아래쪽에 user_id부분에 max size를 12에서 20으로 늘려주고 위쪽에 12자리 제한도 20으로 늘려준다.
그렇게 되면 아이디를 만들 때 12자리 넘게 만들 수 있다.


 

Win_xp에 와서 웹에서 프록시를 잠시 꺼두고 192.168.1.20으로 들어와서 Guest Board를 들어감
글쓰기도 잘 된다.
그런데 글을 쓸 때 이런식으로 쓰면 어떻게 될까
내용을 이런식으로 썼음

 

 

스크립트를 실행할 수 있게끔 써준다면
취약한 사이트에서는 실제로 실행이 된다.
악의적으로 공격자가 글을 올려놓는다. 그 글을 클릭하게 되면 공격자가 의도한대로 피해자의
웹 정보가 빠져나갈 수 있다. 

 

javascript:document.cookie를 치면 네이버가 나한테 준 쿠키값을 볼 수 있다.



 

아까 그 취약한 사이트에 이렇게 쓰면 어떻게 될까

 


누르기만 해도 내 쿠키값이나오게 된다.



공격자에서도 웹페이지 proxy를 풀어주고


 

그리고 파일을 하나 만들어주는데 여기다가 이렇게 적어준다.


 

그리고 스크립트 작성를 해준다.

 


이렇게 작성하고 글쓰기를 눌러주면 새로운 창이 뭔가 뜨게 되는데 아무것도 안나오고

 

공격자로 돌아와서 cd /tmp로 들어가서 ll를 치게되면 cookie.txt파일이 뜨게 되는데 이렇게 명령어를
치게 되면 사용자의 쿠키값을 얻어올 수 있다.

'학원' 카테고리의 다른 글

2023/07/21 XSS(파일생성)  (0) 2023.07.21
2023/07/20 크로스 사이트 스크립팅  (0) 2023.07.20
2023/07/18 SSS, CSS, Web, 인증  (0) 2023.07.18
2023/07/17 Web  (0) 2023.07.17
2023/07/14 SNMP  (0) 2023.07.14