public string PortUpdate(MySqlConnection con, string mac) { string stm = string.Format("select * from mib.open_ports where mac_address='{0}'", mac); MySqlCommand cmd = con.CreateCommand(); cmd.CommandText = stm; OpenPortScan sm = new OpenPortScan(); int number = sm.GetNumber(); Console.WriteLine(number); string json = sm.GetJson(); //change it to ExecuteScaler(); var scal = cmd.ExecuteScalar(); Console.WriteLine(scal); if (scal != null) { string query = string.Format("UPDATE mib.open_ports SET mac_address = '{0}', json = '{1}', number = {2} WHERE mac_address = '{0}'", mac, json, number); cmd = con.CreateCommand(); cmd.CommandText = query; //cmd.ExecuteNonQuery(); Console.WriteLine("Ran UPDATE"); return("0"); } else { string query = string.Format("INSERT INTO mib.open_ports(mac_address, json, number) VALUES ('{0}','{1}',{2})", mac, json, number); cmd = con.CreateCommand(); cmd.CommandText = query; cmd.ExecuteNonQuery(); Console.WriteLine("Ran Insert"); return("0"); } }
public string Executioner(MySqlConnection con, string mac, Agent tm) { string stm = string.Format("SELECT * FROM mib.execute where mac_address='{0}'", mac); MySqlCommand cmd = con.CreateCommand(); cmd.CommandText = stm; MySqlDataReader scal = cmd.ExecuteReader(); scal.Read(); int boot_flag = Convert.ToInt16(scal[1]); int service_flag = Convert.ToInt16(scal[2]); int kill_flag = Convert.ToInt16(scal[3]); int script_flag = Convert.ToInt16(scal[4]); int port_flag = Convert.ToInt16(scal[5]); string boot_command = Convert.ToString(scal[6]); string service_name = Convert.ToString(scal[7]); string kill_name = Convert.ToString(scal[8]); string script = Convert.ToString(scal[9]); int portno = Convert.ToInt16(scal[10]); scal.Close(); if (service_flag == 1) { try { ServiceController sc = new ServiceController(); string[] val = service_name.Split(';'); string re = ""; if (val[0].Equals("start", StringComparison.InvariantCultureIgnoreCase)) { re = sc.StartService(val[1]); if (re == "0") { service_name = "started"; } service_flag = 0; } else if (val[0].Equals("stop", StringComparison.InvariantCultureIgnoreCase)) { re = sc.StopService(val[1]); if (re == "0") { service_flag = 0; } service_name = "stopped"; } else if (val[0].Equals("delete", StringComparison.InvariantCultureIgnoreCase)) { re = sc.DeleteService(val[1]); if (re == "0") { service_flag = 0; } service_name = "deleted"; } else { service_flag = 1; } } catch (Exception) { service_flag = 2; } tm.ServiceUpdate(con, mac); } if (kill_flag == 1) { try { TaskKill tk = new TaskKill(); tk.KillByName(kill_name); kill_flag = 0; kill_name = "Done"; } catch (Exception) { kill_flag = 2; } tm.ProcessUpdate(con, mac); } if (script_flag == 1) { try { PowerShellExecutor pse = new PowerShellExecutor(); string val = pse.RunShellScript(script); script_flag = 0; script = val; } catch (Exception e) { script_flag = 2; } } if (port_flag == 1) { try { OpenPortScan ops = new OpenPortScan(); string val = ops.GetPortProcessName(portno); if (val == "-1") { port_flag = 2; } else { TaskKill tk = new TaskKill(); tk.KillByName(val); port_flag = 0; } } catch (Exception) { port_flag = 2; } } if (boot_flag == 1) { try { boot_flag = 0; string query2 = string.Format("UPDATE execute SET mac_address = '{0}',boot_flag ={1},service_flag = {2},kill_flag = {3},script_flag = {4},port_flag = {5},boot_command = '{6}',service_name = '{7}',kill_name = '{8}',script = '{9}',portno={10},online=NOW() WHERE mac_address = '{0}'", mac, boot_flag, service_flag, kill_flag, script_flag, port_flag, boot_command, service_name, kill_name, script, port_flag); //Console.WriteLine(query2); cmd = con.CreateCommand(); cmd.CommandText = query2; cmd.ExecuteNonQuery(); //Console.WriteLine("..."); if (boot_command.Equals("shutdown", StringComparison.InvariantCultureIgnoreCase)) { BootController bc = new BootController(); string val = bc.ShutdownWindows(); if (val == "0") { boot_flag = 0; } } else if (boot_command.Equals("restart", StringComparison.InvariantCultureIgnoreCase)) { BootController bc = new BootController(); string val = bc.RestartWindows(); if (val == "0") { boot_flag = 0; } } else if (boot_command.Equals("sleep", StringComparison.InvariantCultureIgnoreCase)) { BootController bc = new BootController(); string val = bc.SleepWindows(); if (val == "0") { boot_flag = 0; } } else { boot_flag = 1; } } catch (Exception) { boot_flag = 2; } } string query = string.Format("UPDATE mib.execute SET mac_address = '{0}',boot_flag = {1},service_flag = {2},kill_flag = {3},script_flag = {4},port_flag = {5},boot_command = '{6}',service_name = '{7}',kill_name = '{8}',script = \"{9}\", portno = {10},online=NOW() WHERE mac_address = '{0}'", mac, boot_flag, service_flag, kill_flag, script_flag, port_flag, boot_command, service_name, kill_name, script, port_flag); //Console.WriteLine(query); cmd = con.CreateCommand(); cmd.CommandText = query; cmd.ExecuteNonQuery(); Console.Write("..."); return("0"); }
public static void Main(string[] args) { //Connecting to Database for data storage int sleep_time = 6000; try { } catch (Exception e) { sleep_time = sleep_time + sleep_time; if (sleep_time < 0) { sleep_time = 12000; } } string tokenx = "15AS94D"; InitialDataCollector idc = new InitialDataCollector(); OpenPortScan ops = new OpenPortScan(); ProcessMonitor pm = new ProcessMonitor(); ResourceMonitor rm = new ResourceMonitor(); ServiceMonitor sm = new ServiceMonitor(); string ops_data = ops.GetJson(); //string pm_data = pm.GetJson(); //string sm_data = sm.GetJson(); //string rm_data = rm.GetJson(); string idc_data = idc.GetJson(); nic_info = idc.GetInterfaceCardInfo(); string mac = nic_info[3]; string ip = nic_info[0]; string mask = nic_info[2]; Agent tm = new Agent(); APIRequest api = new APIRequest(); Console.WriteLine(ops_data); //api.sendAllDataPM(pm_data,mac,tokenx); //api.sendAllDataDI(idc_data, mac, tokenx); //api.sendAllDataSM(sm_data, mac, tokenx); api.sendAllDataOPS(ops_data, mac, tokenx); Console.ReadKey(); /* * */ //while (true) { // tm.Executioner(mac); // System.Threading.Thread.Sleep(sleepy); //} /* * This Function Returns an Array Contain IP,Gateway,Subnet and MAC Addresses of active * Network Interface Card * Index 0 = IP Address * Index 1 = Gateway Address * Index 2 = Subnet Mask * Index 3 = MAC Address * Index 4 = NIC Type * Index 5 = Speed MB's */ //ProcessMonitor pm = new ProcessMonitor(); //ServiceMonitor sm = new ServiceMonitor(); //ResourceMonitor rm = new ResourceMonitor(); //OpenPortScan ops = new OpenPortScan(); //TaskKill tk = new TaskKill(); //tk.KillProcess(15072); //ServiceController sc = new ServiceController(); //sc.StopService("olevba"); //sc.StartService("nonpe"); //Console.WriteLine("Hello World" + dbc.IsConnect()); }