개요
- 일반적으로 웹 브라우저에 웹서버의 IP 를 넣으면 접속이 가능하다.
- metasploit 서버에서 ifconfig를 통해 IP를 확인해보았다.
- 조회된 IP를 웹 브라우저에 넣어 웹서버로 접속했다.
- IP를 입력하고 입력했지만, 사실은 /var/www/index.php가 열린 것이다.
- 웹 서버 관련 파일이 저장된 디렉토리로 이동해보면 /var/www/index.php 파일이 있다.
- /var/www/index.php의 파일을 읽어보면 위에서 본 화면과 똑같다.
- 다른 곳으로 이동하면 IP 주소 이후 부터는 디렉토리의 구조로 출력이 된다.
- 접속한 첫 페이지에서 mutillidae를 눌러 해당 페이지로 접속하면 그 이후는 디렉토리 구조로 출력된다.
- 웹 서버의 디렉토리 구조와 일치한다.
- 이제 알아내보고자 하는 것은 웹 서버의 전체 디렉토리 구조를 알아내는 것이다.
- 웹 서버의 파일과 디렉토리 구조에 대한 정보를 수집할 수 있다면, 그 정보를 바탕으로 공격할 수 있는 방안이 나온다.
- 이제는 디렉토리 구조를 모르고, 웹 서버의 IP 만 안다고 가정하게 정보 수집 테스트를 진행해보자.
[웹 사이트 파일 및 디렉토리 정보 수집 도구 dirb]
dirb
- Web Content Scanner
- 숨겨진 파일의 민감한 정보 / 구성 정보나 서버에 사용된 기술까지 알 수 있다.
1. dirb으로 웹 서버 디렉토리 구조 파악
dirb <url_base> <url_base> [<wordlist_file(s)>] [options]
- 웹 서버의 주소를 적고 사전 파일 리스트 파일을 입력하여 정보 수집을 할 수 있다.
- 사전 파일 리스트를 사용한다는 것은 곧, 무차별 대입 공격을 기반으로 진행된다.
- 대량의 파일 이름 리스트를 가지고 리스트 중에서 파일 이름과 일치한 파일이 존재한다면 알려주는 방식이다.
- Crunch를 이용해도 되고, dirb에서 지원하는 사전 파일을 활용해도 된다.
[Linux] 사전 파일을 만드는 도구 Crunch 사용하기 [WPA/WPA2 cracking]
- 먼저, dirb에서 제공하는 사전 파일로 디렉토리 구조를 샅샅히 파헤쳐보자
dirb <url_base> <url_base> [<wordlist_file(s)>] [options]
- 웹 서버 주소만 넣으면 된다.
- 만약, 직접 만든 사전 파일이 있다면, 절대 경로로 그 사전 파일을 지정하면 된다.
- /usr/share/dirb/wordlists/common.txt 이라는 사전 파일이 dirb에서 제공하는 파일이다.
- 해당 파일로 무작위로 대입하여 디렉토리 이름과 맞는 것이 있는지 알아낸다.
- 검색 결과로 나온 디렉토리 중, /var/www/mutillidae가 있어서 웹 서버에서도 확인해보았다.
- 해당 디렉토리 안에 다음과 같은 디렉토리가 있는 것을 확인 가능했다.
- 마찬가지로, dirb 결과로 나온 값도 동일하다.
2. 수집된 정보를 바탕으로 공격 및 정보 수집하기
- 다음과 같이 mutillidae 내부의 디렉토리와 파일이 검색되었다.
- 이렇게 많은 파일 중 눈 여겨볼 만한 파일들을 살펴보고자 한다.
- 먼저, login 관련 파일이다.
- login 파일 내부를 살펴볼 수도 있고, ARP Spoofing과 hstshijack 모듈을 사용하여 Login 시 입력하는 민감한 정보를 스니핑할 수 있다.
[Linux] Kail (Bettercap) 로 ARP Spoofing 해보기
- 다음과 같이 임의로 입력한 계정 정보가 그대로 노출될 수 있다.
- 다음은 php 관련 정보로서 대표적인 Server-Side 스크립트 언어다.
- php 사용 버전이나 관련 내용이 그대로 노출되어 취약점을 검색하여 공격할 수 있다.
- 마지막으로는 robots.txt 파일이다.
- 검색엔진에서 노출되고 싶지 않은 파일이나 디렉토리를 지정하여, 노출되는 것을 막는다.
- 관리자가 다음과 같이 검색엔진에서 노출되고 싶지 않는 것들을 지정했다.
- 두 가지만 살펴보자
- 첫 번째로 ./passwords/ 다.
- 해당 디렉토리로 이동하여 보면 계정 정보가 담긴 파일이 보인다.
- user 계정이라고 확언할 수는 없지만, 관리자가 감출만큼 중요한 정보이기에 아래 내용을 활용하여 다른 곳에서 이용가능하다.
- 다음은 config.inc 파일이다. 데이터베이스에 연결할 때, 필요한 정보로 보인다.
- 이와 같이 웹 서버의 디렉토리 구조를 파악하여, 관련 정보를 수집하고, 그 정보를 바탕으로 공격할 수 있는 발판을 마련할 수 있다.
'IT > ㄴ Web Site Hacking' 카테고리의 다른 글
[Linux] 웹 사이트 로컬 / 원격 파일 인클루전 취약점 공격 [웹 사이트 해킹 / 파일 인클루전 / GPT에게 물어보기] (0) | 2023.07.14 |
---|---|
[Linux] 웹 사이트 코드 실행 취약점 공격 [웹 사이트 해킹 / 코드 실행 취약점] (0) | 2023.07.14 |
[Linux] 웹 사이트 파일 업로드 취약점 공격 [웹 사이트 해킹 / 파일 업로드 취약점] (0) | 2023.07.13 |