Timing Attacks

Reading time: 3 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기

warning

이 기술에 대한 깊은 이해를 얻으려면 https://portswigger.net/research/listen-to-the-whispers-web-timing-attacks-that-actually-work에서 원본 보고서를 확인하세요.

Basic Information

타이밍 공격의 기본 목표는 기본적으로 유사한 요청의 응답 시간 차이를 확인하여 복잡한 질문에 답하거나 숨겨진 기능을 감지하는 것입니다.

전통적으로 이는 네트워크와 서버에서 발생하는 지연과 지터 때문에 매우 복잡했습니다. 그러나 Race Condition Single Packet attack의 발견과 개선 이후, 이 기술을 사용하여 모든 네트워크 지연을 방정식에서 제거할 수 있게 되었습니다.
서버 지연만 남기면 타이밍 공격을 발견하고 악용하기가 더 쉬워집니다.

Discoveries

Hidden Attack Surface

블로그 게시물에서는 이 기술을 사용하여 숨겨진 매개변수와 헤더를 찾을 수 있었던 방법이 언급되었습니다. 요청에 매개변수나 헤더가 있을 때 약 5ms의 시간 차이가 발생했습니다. 실제로 이 발견 기술은 Burp Suite의 Param Miner에 추가되었습니다.

이 시간 차이는 DNS 요청이 수행되었거나, 잘못된 입력으로 인해 로그가 기록되었거나, 매개변수가 요청에 있을 때 검사가 수행되었기 때문일 수 있습니다.

이러한 종류의 공격을 수행할 때 기억해야 할 점은 숨겨진 특성 때문에 시간 차이의 실제 원인을 알지 못할 수 있다는 것입니다.

Reverse Proxy Misconfigurations

같은 연구에서 타이밍 기술이 "범위가 제한된 SSRF"를 발견하는 데 매우 유용하다고 공유되었습니다(이는 허용된 IP/도메인에만 접근할 수 있는 SSRF입니다). 허용된 도메인이 설정된 경우와 허용되지 않은 도메인이 설정된 경우의 시간 차이를 확인하는 것이 열려 있는 프록시를 발견하는 데 도움이 됩니다.

범위가 제한된 열린 프록시가 발견되면, 알려진 서브도메인을 파싱하여 유효한 대상을 찾을 수 있었고, 이를 통해:

  • 열린 프록시를 통해 인터넷이 아닌 제한된 서브도메인에 접근하여 방화벽을 우회할 수 있습니다.
  • 또한, 열린 프록시를 악용하여 내부에서만 접근 가능한 새로운 서브도메인을 발견할 수 있습니다.
  • 프론트엔드 사칭 공격: 프론트엔드 서버는 일반적으로 X-Forwarded-For 또는 X-Real-IP와 같은 백엔드용 헤더를 추가합니다. 이러한 헤더를 수신하는 열린 프록시는 요청된 엔드포인트에 이를 추가하므로, 공격자는 이러한 헤더를 화이트리스트된 값으로 추가하여 더 많은 내부 도메인에 접근할 수 있습니다.

References

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기