hacktricks/network-services-pentesting/pentesting-web/uncovering-cloudflare.md
2024-02-10 21:30:13 +00:00

12 KiB

CloudFlare 탐지하기

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

Cloudflare 탐지를 위한 일반적인 기법

  • 도메인의 과거 DNS 레코드를 제공하는 서비스를 사용할 수 있습니다. 웹 페이지가 이전에 사용한 IP 주소에서 실행 중일 수 있습니다.
  • 과거 SSL 인증서를 확인하여 원본 IP 주소를 가리킬 수도 있습니다.
  • IP에 직접 포인팅하는 다른 하위 도메인의 DNS 레코드도 확인하세요. 다른 하위 도메인이 동일한 서버를 가리킬 수 있습니다 (FTP, 메일 또는 기타 서비스 제공을 위해).
  • 웹 애플리케이션 내에서 SSRF를 찾으면 이를 악용하여 서버의 IP 주소를 얻을 수 있습니다.
  • shodan (그리고 Google과 유사한 브라우저)와 같은 브라우저에서 웹 페이지의 고유한 문자열을 검색해 보세요. 해당 내용을 포함한 IP 주소를 찾을 수 있을지도 모릅니다.
  • 유사한 방식으로 고유한 문자열 대신 favicon 아이콘을 https://github.com/karma9874/CloudFlare-IP 또는 https://github.com/pielco11/fav-up 도구를 사용하여 검색할 수도 있습니다.
  • 이는 서버가 IP 주소로 액세스될 때 동일한 응답을 보내야 하므로 매우 자주 작동하지는 않을 수 있지만, 알 수 없습니다.

Cloudflare 탐지를 위한 도구

# You can check if the tool is working with
prips 1.0.0.0/30 | hakoriginfinder -h one.one.one.one

# If you know the company is using AWS you could use the previous tool to search the
## web page inside the EC2 IPs
DOMAIN=something.com
WIDE_REGION=us
for ir in `curl https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | select(.region|test("^us")) | .ip_prefix'`; do
echo "Checking $ir"
prips $ir | hakoriginfinder -h "$DOMAIN"
done

클라우드 머신에서 클라우드플레어 알아내기

AWS 머신에 대해 수행되었지만, 다른 클라우드 공급자에 대해서도 수행할 수 있습니다.

이 프로세스에 대한 더 자세한 설명은 다음을 참조하십시오:

{% embed url="https://trickest.com/blog/cloudflare-bypass-discover-ip-addresses-aws/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

# Find open ports
sudo masscan --max-rate 10000 -p80,443 $(curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service=="EC2") | .ip_prefix' | tr '\n' ' ') | grep "open"  > all_open.txt
# Format results
cat all_open.txt | sed 's,.*port \(.*\)/tcp on \(.*\),\2:\1,' | tr -d " " > all_open_formated.txt
# Search actual web pages
httpx -silent -threads 200 -l all_open_formated.txt -random-agent -follow-redirects -json -no-color -o webs.json
# Format web results and remove eternal redirects
cat webs.json | jq -r "select((.failed==false) and (.chain_status_codes | length) < 9) | .url" | sort -u > aws_webs.json

# Search via Host header
httpx -json -no-color -list aws_webs.json -header Host: cloudflare.malwareworld.com -threads 250 -random-agent -follow-redirects -o web_checks.json

클라우드플레어 우회하기

인증된 오리진 풀

이 메커니즘은 클라우드플레어의 리버스 프록시 서버와 오리진 서버 간의 연결을 인증하기 위해 클라이언트 SSL 인증서를 사용합니다. 이를 mTLS라고 합니다.

고객은 자체 인증서를 구성하는 대신 클라우드플레어의 인증서를 사용하여 클라우드플레어로부터의 모든 연결을 허용할 수 있습니다. 이는 테넌트에 관계없이 클라우드플레어로부터의 연결을 허용합니다.

{% hint style="danger" %} 따라서 공격자는 클라우드플레어의 인증서를 사용하여 도메인을 설정하고 피해 도메인의 IP 주소로 연결할 수 있습니다. 이렇게 하면 공격자의 도메인이 완전히 보호되지 않으며 클라우드플레어는 전송된 요청을 보호하지 않습니다. {% endhint %}

자세한 내용은 여기를 참조하십시오.

클라우드플레어 IP 주소 허용 목록

이렇게 설정하면 클라우드플레어의 IP 주소 범위에서 시작하지 않는 연결을 거부합니다. 이는 공격자가 자신의 도메인을 클라우드플레어로 지정하고 피해 IP 주소로 공격하는 이전 설정에도 취약합니다.

자세한 내용은 여기를 참조하십시오.

스크래핑을 위한 클라우드플레어 우회

캐시

가끔은 웹 페이지를 스크래핑하기 위해 클라우드플레어를 우회하고자 할 때가 있습니다. 이를 위한 몇 가지 옵션이 있습니다:

  • Google 캐시 사용: https://webcache.googleusercontent.com/search?q=cache:https://www.petsathome.com/shop/en/pets/dog
  • https://archive.org/web/와 같은 다른 캐시 서비스 사용

클라우드플레어 솔버

다음과 같은 여러 클라우드플레어 솔버가 개발되었습니다:

강화된 헤드리스 브라우저

자동화된 브라우저로 감지되지 않는 헤드리스 브라우저를 사용하세요 (이를 위해 사용자 정의가 필요할 수 있습니다). 몇 가지 옵션은 다음과 같습니다:

클라우드플레어 내장 우회 기능이 있는 스마트 프록시

스마트 프록시는 클라우드플레어의 보안 조치를 우회하기 위해 전문 회사에 의해 지속적으로 업데이트되는 프록시입니다.

일부 예시는 다음과 같습니다:

최적화된 솔루션을 찾는 경우 ScrapeOps Proxy Aggregator가 두드러집니다. 이 서비스는 20개 이상의 프록시 공급업체를 단일 API로 통합하여 대상 도메인에 가장 적합하고 비용 효율적인 프록시를 자동으로 선택하여 클라우드플레어의 방어에 대한 우수한 옵션을 제공합니다.

클라우드플레어 안티-봇 보호 역공학

클라우드플레어의 안티-봇 조치를 역공학하는 것은 스마트 프록시 제공업체가 사용하는 전략으로, 많은 헤드리스 브라우저를 실행하는 높은 비용 없이 대규모 웹 스크래핑에 적합합니다.

장점: 이 방법은 클라우드플레어의 검사를 특정 대상으로 효과적으로 우회하는 매우 효율적인 우회 기능을 생성할 수 있으므로 대규모 작업에 이상적입니다.

단점: 클라우드플레어의 의도적으로 모호하게 설계된 안티-봇 시스템을 이해하고 속이기 위해 복잡성이 요구되며, 클라우드플레어가 보호 기능을 강화함에 따라 다양한 전략을 테스트하고 우회 기능을 업데이트하는 지속적인 노력이 필요합니다.

이에 대한 자세한 내용은 원문 기사에서 확인할 수 있습니다.

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 제로에서 영웅까지 AWS 해킹 배우기!

HackTricks를 지원하는 다른 방법:

  • 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하려면 구독 플랜을 확인하세요!
  • [**