wonder
정보보안 스터디 - 23주차 3일 - 웹 기본정보 수집 도구(robots.txt, 디렉토리 브루트포싱) 본문
☞ 웹 기본 정보 수집 도구

spidering을 이용할 수도 있고
서버의 헤더, 버전확인 (정보들이 보여지는 취약점이 있다면)
프론트엔드, 백엔드 테크 스택 확인하는 방법도 다양하게 있지만
☞ robots.txt를 자세히 말하자면
기능자체는 크롤링을 정해주는 페이지로 보안과는 크게 상관이 없는 기능입니다.
없다고 해서 안좋을 것은 없기 때문이죠.
하지만 만약 robots.txt 크롤링에
특정한 민감페이지, 관리자 페이지는 구글 검색엔진이 긁어가면 안되기 때문에 disable해줘야합니다.
여기에서 확인했을 때 특정 관리자 페이지를 알 수 있는 취약점이 생깁니다.
☞ Directory Bruteforcing
보통 대부분 디렉토리 브루트포싱을 진행하여 있을 법한 페이지(+파일확장자)나 디렉토리경로를 찾지만
robots.txt로 확인이 가능하다면 관리자페이지 정보수집을 할 수 있습니다.
gobuster외에도 Dirb, Feroxbuster가 있습니다.
feroxbuster은 너무 빨라서 실무에서는 막힐 것이기 때문에 사용하지 못합니다.
요청 속도에 따라서 블랙리스트 당할 수 있으니 쓰레드 높임에 주의해야합니다.
Rate limiting, WAF로 이러한 공격을 막을 수 있습니다.
다른 IP로 요청을 보내기 위해서 프록시를 이용한 우회나 serverless등을 이용해서
블랙리스트에 걸리지 않도록 하는 방법도 있긴 합니다.
정보 수집에 있어서 웹 서버, 웹 어플리케이션 = 좋은 공격 표면입니다.
민감한 디렉토리, 페이지가 걸린다면 > 그페이지로 추가 정보 수집 및 공격을 하는 개념입니다.
☞ 방어자 입장에서는
robots.txt에 민감한 페이지가 아예 안보이도록 하는 것이 좋지만(굳이 올려놓을 필요X)
있어야한다면 사용자 인증을 거치도록 하면 됩니다.
인증이 안되었다면 아예 방문조차 안되도록 하면 됩니다.
또한 디렉토리 브루트포싱 공격에 대해서는
반복적인 요청을 막기위해 Load balance나 WAF(web application firewall) 를 사용합니다.
또는 클라우드 환경이라면 제공하는 다양한 기능을 이용하는 방법도 있고, same status code for non-existing page를 이용할 수도 있습니다.
가장 중요한 것은! Rate Limiting이면 됩니다. 즉 초당 한꺼번에 2개이상의 request를 보내지 않도록 설정합니다.
