웹 기본 정보 수집
- Robots.txt
- 서버 헤더, 버전, 이름 확인
- 공개 취약점 검색
- 프론트엔드, 백엔드 테크 스택(Tech Stack) 확인
- 디렉토리 브루트포싱(Directory Brutefocing)
- Spidering
Robots.txt
- 검색 엔진 크롤러들을 위한 권한 및 규칙
- 보안 경계가 아님
- 검색 엔진 -> 크롤러 -> 웹 서버 + 웹 페이지 크롤
- User-Agent : 크롤러 유저 에이전트 특징
- Allow : 특정 디렉토리/페이지 크롤링 허용
- Disallow : 특정 디렉토리/페이지 크롤링 거부
# Example 1 : Block only googlebot
User-agent: Googlebot
Disallow: /
# Example 2 : Block Googlebot and Adsbot
User-agent: Googlebot
User-agent: AdsBot-Google
Disallow: /
# Example 3 " Block all crawler
User-agent: *
Disallow: /
웹 검색엔진은 크롤러들을 무수히 많이 보유하고있다
크롤러들은 수많은 웹 서버들과 페이지들을 스캔한다고 보면된다. 예를 들어 페이지들이나 index.html 같은 파일들을 크롤링한다 그렇게 크롤링된 페이지들이 사용자가 검색엔진에서 검색을 하게 되었을때 화면에 표출되게 해준다
하지만 웹 사이트를 운영하는 입장에서는 중요한 정보나 민감한 정보들을 보지 못하게하고 싶은 경우가 있을 것인데 그런 페이지를 허용하거나 불허 하는 규칙을 지정해놓은 것이 Robots.txt 이다
디렉터리 브루트포싱
- Directory Brutefocing
- 숨겨진 디렉토리, 페이지 등을 찾기 위해서 사용하는 기법 중의 하나
- 특정 wordlist + 파일 확장자 -> 브루트포스
- 주의 -> 요청 속도에 따라 블랙리스트에 올라갈 수 있다.
- 툴 -> Gobuster, Dirb, Feroxbuster(새로운 툴)
공격자와 타겟 웹서버가 있다고 한다면 웹서버는 뒤에 가지고 있는 디렉터리나 페이지 등이 있을 것인데 이것을 굳이 표출하지 않아도 되는 것들도 많이 있을 것이다. 공격자 입장에서는 그래서 이 숨겨진 파일이나 디렉터리가 존재하는지 모를 것이다. 공격자는 그것을 알기 위해서 wordlist를 준비해서 하나하나 질의하는 것을 Directory Brutefocing 이라고한다.
주의 할점은 블랙리스트에 올라갈 수 있는데, 왜냐하면 웹 서버 입장에서는 수천 수만개의 요청을 보내면 수상하다고 여길 수 있기 때문이다.
이것을 우회하기 위해 proxy, serverless등을 많이 이용한다
그래서!??
- 웹 서버와 웹 어플리케이션 == 좋은 공격 표면
- 정보 수집 - Robotx.txt, 디렉터리 브루트포싱
- 정보 수집을 바탕으로 한 추가 공격이 가능하다
- 방어자 입장에서의 Robots.txt, 디렉터리 브루트포싱
- 민감한 디렉터리/페이지
- Rate Limiting -> 중요한
- WAF
'개념' 카테고리의 다른 글
일단 배우는 모의해킹 개념 - 정보 수집 (1) | 2024.03.26 |
---|