개념

일단 배우는 모의해킹 개념 - Robots.txt & 디렉토리 브루트포싱

jeff_kim 2024. 3. 29. 18:16

 

웹 기본 정보 수집

  • 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