Advertisement
Guest User

Untitled

a guest
Jan 5th, 2022
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. /** @param {NS} ns **/
  2. export async function main(ns) {
  3.  
  4. let myName;
  5. let myHacking;
  6. let serverNames;
  7. let serverNum;
  8. let myTools;
  9. let loop;
  10. let serverSec;
  11. let haveRoot;
  12. let portsNeeded;
  13.  
  14. myName = ns.getHostname();
  15. serverNames = ["n00dles", "foodnstuff", "sigma-cosmetics", "joesguns", "hong-fang-tea", "harakiri-sushi", "iron-gym", "neo-net", "nectar-net", "zer0", "max-hardware", "phantasy", "silver-helix", "omega-net", "CSEC", "avmnite-02h", "crush-fitness", "comptek", "I.I.I.I", "the-hub", "netlink", "catalyst", "summit-uni", "rothman-uni", "aevum-police", "rho-construction", "millenium-fitness","johnson-ortho","alpha-ent","syscore","lexo-corp","zb-institute","solaris","global-pharm","snap-fitness","unitalife","deltaone","zb-def","zeus-med","aerocorp","nova-med","icarus","galactic-cyber","taiyang-digital","univ-energy","infocomm","omnia","defcomm","applied-energetics","run4theh111z","vitalife","titan-labs","microdyne","helios","stormtech","The-Cave","fulcrumassets","powerhouse-fitness","b-and-a",".","ecorp","blade","kuai-gong","clarkinc","megacorp","nwo","4sigma","omnitek","fulcrumtech"];
  16. serverNum = serverNames.length;
  17.  
  18. while (true) {
  19. myTools = 0;
  20. if (ns.fileExists("BruteSSH.exe", myName)) {
  21. myTools++;
  22. }
  23. if (ns.fileExists("FTPCrack.exe", myName)) {
  24. myTools++;
  25. }
  26. if (ns.fileExists("relaySMTP.exe", myName)) {
  27. myTools++;
  28. }
  29. if (ns.fileExists("HTTPWorm.exe", myName)) {
  30. myTools++;
  31. }
  32. if (ns.fileExists("SQLInject.exe", myName)) {
  33. myTools++;
  34. }
  35. if (myTools == 0) {
  36. await ns.print("No tools detected.")
  37. }
  38. for (loop = 0; loop < serverNum; loop++) {
  39. myHacking = ns.getHackingLevel();
  40. serverSec = ns.getServerRequiredHackingLevel(serverNames[loop]);
  41. haveRoot = ns.hasRootAccess(serverNames[loop]);
  42. portsNeeded = ns.getServerNumPortsRequired(serverNames[loop]);
  43. if (haveRoot == false) {
  44. if (myHacking >= serverSec) {
  45. if (myTools >= portsNeeded) {
  46. for (; portsNeeded > 0; portsNeeded--) {
  47. if (portsNeeded == 5) {
  48. await ns.sqlinject(serverNames[loop]);
  49. } else if (portsNeeded == 4) {
  50. await ns.httpworm(serverNames[loop]);
  51. } else if (portsNeeded == 3) {
  52. await ns.relaysmtp(serverNames[loop]);
  53. } else if (portsNeeded == 2) {
  54. await ns.ftpcrack(serverNames[loop]);
  55. } else if (portsNeeded == 1) {
  56. await ns.brutessh(serverNames[loop]);
  57. }
  58. }
  59. await ns.nuke(serverNames[loop]);
  60. await ns.print(serverNames[loop] + " has been pwned.");
  61. } else {
  62. await ns.print("Not enough tools to hack " + serverNames[loop]);
  63. }
  64. } else {
  65. await ns.print("Hacking too low to hack " + serverNames[loop]);
  66. }
  67. }
  68. }
  69. await ns.sleep(15000);
  70. }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement