-
Notifications
You must be signed in to change notification settings - Fork 366
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: 💡 Ignore initial PS4 PPOE requests to increase the chances of the exploit working #48
Changes from 2 commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -259,7 +259,16 @@ def ipcp_negotiation(self): | |
id=pkt[PPP_IPCP].id, | ||
options=pkt[PPP_IPCP].options)) | ||
|
||
def ppp_negotation(self, cb=None): | ||
def ppp_negotation(self, cb=None, ignore_initial_reqs=False): | ||
if ignore_initial_reqs: # Ignore initial requests in order to increase the chances of the exploit working | ||
num_reqs_to_ignore = 6 # Tested from 6 to 8 on version 10.50 - all give best results then not ignoring | ||
num_ignored_reqs = 0 | ||
print('[*] Ignoring initial {} PS4 requests..'.format(num_reqs_to_ignore)) | ||
while num_ignored_reqs < num_reqs_to_ignore: | ||
pkt = self.s.recv() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are those PADI requests that we're ignoring? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes.. there is timing issue somewhere but is seems to "alleviate" the problem.. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Then add this to the loop below that checks for PADI There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @TheOfficialFloW, done. |
||
num_ignored_reqs+=1 | ||
print(num_ignored_reqs) | ||
print('[*] Continuing...') | ||
print('[*] Waiting for PADI...') | ||
while True: | ||
pkt = self.s.recv() | ||
|
@@ -609,7 +618,7 @@ def run(self): | |
print('') | ||
print('[+] STAGE 0: Initialization') | ||
|
||
self.ppp_negotation(self.build_fake_ifnet) | ||
self.ppp_negotation(self.build_fake_ifnet, True) | ||
self.lcp_negotiation() | ||
self.ipcp_negotiation() | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Controler typo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maatthc Ironically, I never go to the
Test Internet Connection
page, I unplug/replug the ethernet cable on every attempt. Works like a charm.