มีวิธีการตรวจสอบเมื่อบริการ windows ถูกลบหรือไม่ ฉันได้ตรวจสอบบันทึกเหตุการณ์แล้ว แต่ไม่ได้เพิ่มการกระทำที่ถูกลบเท่านั้น
ฉันเชื่อว่าอาจมีวิธีการใช้บันทึกการตรวจสอบ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร
ความช่วยเหลือใด ๆ ที่ชื่นชมมาก
ขอบคุณ
มีวิธีการตรวจสอบเมื่อบริการ windows ถูกลบหรือไม่ ฉันได้ตรวจสอบบันทึกเหตุการณ์แล้ว แต่ไม่ได้เพิ่มการกระทำที่ถูกลบเท่านั้น
ฉันเชื่อว่าอาจมีวิธีการใช้บันทึกการตรวจสอบ แต่ฉันไม่แน่ใจว่าจะทำอย่างไร
ความช่วยเหลือใด ๆ ที่ชื่นชมมาก
ขอบคุณ
คำตอบ:
ในขณะที่ไม่มีร่องรอยการลบบริการในบันทึกเหตุการณ์หรือตรวจสอบสิ่งที่คุณสามารถทำได้คือสร้างแอปคอนโซลขนาดเล็กที่ตรวจพบว่ามีบริการอยู่หรือไม่และแนบแอพนี้เข้าWindows Task Scheduler
ด้วยกันเพื่อกำหนดเวลาให้ทำงานตามความถี่หรือทริกเกอร์ที่คุณกำหนด สามารถปรับแต่งตามความต้องการของคุณเช่นที่คุณจะได้รับการแจ้งเตือนหากมีการเพิ่มหรือลบบริการฯลฯ
แอปคอนโซลได้รับการออกแบบเช่นนี้ในการเรียกใช้ครั้งแรกมันจะบันทึกบริการทั้งหมดในระบบและในการทำงานที่ตามมามันจะเป็นการติดตามการเปลี่ยนแปลงที่เกิดขึ้นกับบริการผ่านทาง
servicesRemoved
และservicesAdded
ด้วยสิ่งนี้เราสามารถตัดสินใจได้ว่า ได้รับการแก้ไข
แอพคอนโซล: ServiceDetector.exe
static void Main(string[] args)
{
var path = @"C:\AdminLocation\ServicesLog.txt";
var currentServiceCollection = ServiceController.GetServices().Select(s => s.ServiceName).ToList(); //Queries the most current Services from the machine
if (!File.Exists(path)) //Creates a Log file with current services if not present, usually means the first run
{
// Assumption made is that this is the first run
using (var text = File.AppendText(path))
{
currentServiceCollection.ForEach((s) => text.WriteLine(s));
}
return;
}
// Fetches the recorded services from the Log
var existingServiceCollection = File.ReadAllLines(path).ToList();
var servicesRemoved = existingServiceCollection.Except(currentServiceCollection).ToList();
var servicesAdded = currentServiceCollection.Except(existingServiceCollection).ToList();
if (!servicesAdded.Any() && !servicesRemoved.Any())
{ Console.WriteLine("No services have been added or removed"); return; }
//If any services has been added
if (servicesAdded.Any())
{
Console.WriteLine("One or more services has been added");
using (var text = File.AppendText(path))
{
servicesAdded.ForEach((s) => text.WriteLine(s));
}
return;
}
//Service(s) may have been deleted, you can choose to record it or not based on your requirements
Console.WriteLine("One or more services has been removed");
}
งานการตั้งเวลา
Windows Start> Task Scheduler> สร้างงานขั้นพื้นฐาน> ตั้งค่าทริกเกอร์> แนบ exe ของคุณ> เสร็จสิ้น
คุณถูกที่การลบบริการ Windows จะทำให้เหตุการณ์ถูกเพิ่มลงในบันทึกเหตุการณ์ของระบบ (ที่มา: /superuser/1238311/how-can-we-detect-if-a-windows-) service-is-delete-is-there-an-an-event-log-id-for-i )
AFAIK ไม่มีนโยบายการตรวจสอบเพื่อตรวจสอบการลบบริการและฉันคิดว่าถ้ามีฉันคิดว่ามันจะถูกระบุไว้ที่นี่: https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/ พื้นฐานการตรวจสอบกระบวนการติดตาม
ฉันคิดว่าการลงคะแนนไม่ServiceController.GetServices()
เป็นปัญหาเพราะโปรแกรมของคุณอาจไม่ทำงานเมื่อถอนการติดตั้งบริการ
มีหลายวิธีในการสร้างเครื่องมือวัดจนกว่าคุณจะเรียนรู้สิ่งที่ถือเป็นเครื่องมือที่ดี วิธีการจะนำมาเป็นหลักโดยตรงจากรายการวิกิพีเดียของฉันhttps://en.wikipedia.org/wiki/Instrumentation
การประพันธ์ดนตรีวิธีการ
http://www.powersemantics.com/e.html
วิธีการแก้ไขปัญหาของตัวบ่งชี้การวัดมีอยู่ แต่คุณกำลังติดแนวคิดว่าจะมีเครื่องมือวัด "แบบกด" ตามด้วยระบบอื่นได้อย่างไร ตามที่บทความ E ของฉันอธิบายเครื่องมือควรดึงข้อมูลไม่เคยดัน การส่งสัญญาณที่ขับเคลื่อนด้วยเหตุการณ์เป็นจุดที่อาจเกิดความล้มเหลวที่คุณไม่ต้องการ
ให้ชัดเจนขึ้นไม่กล้าตัดสินใจใด ๆ หรือข้อสงสัยของคุณอาจจะมีเกี่ยวกับการสร้างโปรแกรมแยกต่างหาก, จอภาพมีความเป็นอิสระตามปกติ ( ไม่รวมวิกิพีเดียกล่าวว่า) กระบวนการ ดังนั้นการบอกว่าจอภาพ "อาจไม่ทำงาน" หมายความว่าคุณยังไม่ได้เลือกที่จะสร้างจอภาพที่ไม่ได้ผสานรวมซึ่งเป็นจอภาพที่เปิดอยู่ตลอดเวลา ระบบผู้บริโภคของคุณสร้างแบบจำลองเครื่องมือไม่ถูกต้องเนื่องจากมันรวมการตรวจสอบในกระบวนการของตัวเอง
แยกความรับผิดชอบเหล่านี้และดำเนินการต่อ ตัดสินใจว่าเครื่องมือควรโพลที่เหมาะสมสำหรับการบริการที่ถูกลบและสำรวจข้อมูลด้วยตัวจับเวลา หากคุณใช้การแนะนำการเรียก API simon-pearson คุณสามารถตรวจจับได้เมื่อมีการเพิ่มบริการ แน่นอนจอภาพต้องแคชสำเนาของรายการบริการในเครื่องเพื่อให้ตัวบ่งชี้สามารถอนุมานว่ามีการเพิ่มหรือลบอะไรบ้าง