init commit
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
/** @param {NS} ns */
|
||||
function brutessh(ns, node) {
|
||||
if(ns.fileExists("brutessh.exe", "home")) {
|
||||
ns.brutessh(node);
|
||||
return true;
|
||||
} else { return false; }
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
function ftpcrack(ns, node) {
|
||||
if(ns.fileExists("ftpcrack.exe", "home")) {
|
||||
ns.ftpcrack(node);
|
||||
return true;
|
||||
} else { return false; }
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
function relaysmtp(ns, node) {
|
||||
if(ns.fileExists("relaysmtp.exe", "home")) {
|
||||
ns.relaysmtp(node);
|
||||
return true;
|
||||
} else { return false; }
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
function httpworm(ns, node) {
|
||||
if(ns.fileExists("httpworm.exe", "home")) {
|
||||
ns.httpworm(node);
|
||||
return true;
|
||||
} else { return false; }
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
function sqlinject(ns, node) {
|
||||
if(ns.fileExists("sqlinject.exe", "home")) {
|
||||
ns.sqlinject(node);
|
||||
return true;
|
||||
} else { return false; }
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
export async function crack(ns, node) {
|
||||
let numPorts = ns.getServerNumPortsRequired(node);
|
||||
|
||||
if(numPorts != 0) {
|
||||
switch(numPorts) {
|
||||
case 1:
|
||||
if(brutessh(ns, node)) {
|
||||
ns.nuke(node);
|
||||
return true;
|
||||
} else return false;
|
||||
case 2:
|
||||
if(
|
||||
brutessh(ns, node) &&
|
||||
ftpcrack(ns, node)
|
||||
) {
|
||||
ns.nuke(node);
|
||||
return true;
|
||||
} else return false;
|
||||
case 3:
|
||||
if(
|
||||
brutessh(ns, node) &&
|
||||
ftpcrack(ns, node) &&
|
||||
relaysmtp(ns, node)
|
||||
) {
|
||||
ns.nuke(node);
|
||||
return true;
|
||||
} else return false;
|
||||
case 4:
|
||||
if(
|
||||
brutessh(ns, node) &&
|
||||
ftpcrack(ns, node) &&
|
||||
relaysmtp(ns, node) &&
|
||||
httpworm(ns, node)
|
||||
) {
|
||||
ns.nuke(node);
|
||||
return true;
|
||||
} else return false;
|
||||
case 5:
|
||||
if(
|
||||
brutessh(ns, node) &&
|
||||
ftpcrack(ns, node) &&
|
||||
relaysmtp(ns, node) &&
|
||||
httpworm(ns, node) &&
|
||||
sqlinject(ns, node)
|
||||
) {
|
||||
ns.nuke(node);
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
} else {
|
||||
ns.nuke(node);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @param {NS} ns */
|
||||
export async function main(ns) {
|
||||
if(ns.args.length != 1) {
|
||||
ns.tprint("invalid usage!");
|
||||
}
|
||||
|
||||
var node = ns.args[0];
|
||||
ns.tprint(crack(ns, node) ? "Cracked " + node : "Failed to Crack " + node);
|
||||
}
|
||||
Reference in New Issue
Block a user