break more things
This commit is contained in:
parent
094f8cabf7
commit
537bb31835
@ -1933,7 +1933,7 @@ namespace EduNetworkBuilder
|
||||
}
|
||||
}
|
||||
|
||||
int BreakNetComponent(NetworkComponent What, HowToBreak How)
|
||||
int BreakNetComponent(NetworkComponent What, HowToBreak How, string Data)
|
||||
{
|
||||
int didit = 0;
|
||||
NetworkDevice tDevice = null;
|
||||
@ -1964,6 +1964,7 @@ namespace EduNetworkBuilder
|
||||
case HowToBreak.LockOutSwitch:
|
||||
//Lock it out
|
||||
if (tDevice.DoesForwarding()) tDevice.LockUsOutOfDevice();
|
||||
didit = 1;
|
||||
break;
|
||||
case HowToBreak.StaticRouteClear:
|
||||
//Clear out the static route(s)
|
||||
@ -1979,12 +1980,18 @@ namespace EduNetworkBuilder
|
||||
break;
|
||||
case HowToBreak.VPNChangeKey:
|
||||
//change the key for the VPN encryption
|
||||
if (tDevice.BreakVPNKey(Data))
|
||||
didit = 2;
|
||||
break;
|
||||
case HowToBreak.WirelessBreakKey:
|
||||
//Change the wireless key
|
||||
if (tDevice.BreakWirelessKey(Data))
|
||||
didit = 2;
|
||||
break;
|
||||
case HowToBreak.WirelessBreakSSID:
|
||||
//change the wireless ssid - have small list of bad keys to choose from
|
||||
if (tDevice.BreakSSID(Data))
|
||||
didit = 2;
|
||||
break;
|
||||
}
|
||||
return didit;
|
||||
@ -2014,13 +2021,14 @@ namespace EduNetworkBuilder
|
||||
while(count < 3)
|
||||
{
|
||||
string host = ThePath.HostnameFromTechnology(WhatNeeded);
|
||||
if(host != "")
|
||||
if (host != "")
|
||||
{
|
||||
string data = ThePath.DataFromTechnologyAndHost(WhatNeeded, host);
|
||||
//We have a host, see if we can break it.
|
||||
NetworkComponent NC = ComponentFromName(host);
|
||||
if(NC != null)
|
||||
{
|
||||
int answer = BreakNetComponent(NC, How);
|
||||
int answer = BreakNetComponent(NC, How, data);
|
||||
if (answer > 0)
|
||||
{
|
||||
if(!AlreadyHasPingTest(ThePath.Source(), ThePath.Destination()))
|
||||
|
@ -2170,7 +2170,8 @@ namespace EduNetworkBuilder
|
||||
|
||||
TraversalCollection.Sort((a, b) => b.Count.CompareTo(a.Count));
|
||||
|
||||
List<HowToBreak> BreakList = new List<HowToBreak>() { HowToBreak.PowerOff, HowToBreak.EthernetBreak, HowToBreak.LockOutSwitch };
|
||||
List<HowToBreak> BreakList = new List<HowToBreak>() { HowToBreak.PowerOff, HowToBreak.EthernetBreak,
|
||||
HowToBreak.LockOutSwitch, HowToBreak.WirelessBreakKey, HowToBreak.WirelessBreakSSID, HowToBreak.VPNChangeKey };
|
||||
//foreach (HowToBreak one in Enum.GetValues(typeof(HowToBreak)))
|
||||
// BreakList.Add(one);
|
||||
count = 0;
|
||||
|
@ -3090,6 +3090,27 @@ namespace EduNetworkBuilder
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool BreakVPNKey(string nicname)
|
||||
{
|
||||
//find the nic.
|
||||
NetworkCard nic = NicFromName(nicname);
|
||||
if (nic == null) return false; //we could not do it.
|
||||
|
||||
List<string> choices = new List<string>() { "Key", "Llave","ChangeMe",
|
||||
"Password","key","default","admin",};
|
||||
choices.Add(nic.EncryptionKey.ToUpper());
|
||||
choices.Add(nic.EncryptionKey.ToLower());
|
||||
if (nic.EncryptionKey.Length > 4)
|
||||
choices.Add(nic.EncryptionKey.Substring(0, 2) + nic.EncryptionKey.Substring(2, 1).ToUpper() + nic.EncryptionKey.Substring(3));
|
||||
|
||||
choices = NB.Randomize<string>(choices);
|
||||
string choice = choices[0]; //grab the first one
|
||||
|
||||
if (nic.WirelessKey == choice) return false;
|
||||
nic.WirelessKey = choice; //change it
|
||||
return true;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -99,5 +99,24 @@ namespace EduNetworkBuilder
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public string DataFromTechnologyAndHost(TraversalTechnology What, string hostname)
|
||||
{
|
||||
//make a randomized copy of the list, and return the first item that has the technology
|
||||
List<TraversalRecord> tPathTaken = NB.Randomize<TraversalRecord>(PathTaken);
|
||||
if (What != TraversalTechnology.any)
|
||||
{
|
||||
foreach (TraversalRecord one in tPathTaken)
|
||||
{
|
||||
if (one.WhatUsed == What && hostname == one.host) return one.AdditionalData;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//We do not have any AdditionalData for a type of "any"
|
||||
return "";
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user