ทำความเข้าใจเกี่ยวกับการตรวจสอบกระบวนการ
วันนี้ใน Geek School รุ่นนี้เราจะสอนคุณเกี่ยวกับวิธีที่ยูทิลิตี้การตรวจสอบกระบวนการช่วยให้คุณดูภายใต้ประทุนและดูว่าแอปพลิเคชันโปรดของคุณกำลังทำอะไรอยู่เบื้องหลัง - ไฟล์ที่พวกเขากำลังเข้าถึง ใช้และอีกมากมาย.
การนำทางของโรงเรียน- เครื่องมือ SysInternals คืออะไรและคุณใช้งานอย่างไร?
- ทำความเข้าใจกับ Process Explorer
- ใช้ Process Explorer เพื่อแก้ไขปัญหาและวินิจฉัย
- ทำความเข้าใจเกี่ยวกับการตรวจสอบกระบวนการ
- ใช้การตรวจสอบกระบวนการเพื่อแก้ไขปัญหาและค้นหา Hacks รีจิสทรี
- ใช้การทำงานอัตโนมัติเพื่อจัดการกับกระบวนการเริ่มต้นและมัลแวร์
- ใช้ BgInfo เพื่อแสดงข้อมูลระบบบนเดสก์ท็อป
- การใช้ PsTools เพื่อควบคุมพีซีเครื่องอื่นจาก Command Line
- การวิเคราะห์และจัดการไฟล์โฟลเดอร์และไดรฟ์ของคุณ
- การรวมและใช้เครื่องมือเข้าด้วยกัน
ซึ่งแตกต่างจากยูทิลิตี้ Process Explorer ที่เราใช้เวลาสองสามวันในการตรวจสอบกระบวนการหมายถึงการมองทุกอย่างที่เกิดขึ้นในคอมพิวเตอร์ของคุณไม่ใช่เครื่องมือที่ใช้งานสำหรับการฆ่ากระบวนการหรือการปิดการจัดการ นี่เปรียบเสมือนการดูล็อกไฟล์ระดับโลกสำหรับทุกเหตุการณ์ที่เกิดขึ้นบนพีซี Windows ของคุณ.
ต้องการที่จะเข้าใจว่ารีจิสตรีคีย์ใดที่แอปพลิเคชันโปรดของคุณเก็บการตั้งค่าไว้ ต้องการทราบว่าบริการไฟล์ใดบ้างที่ถูกแตะและบ่อยครั้ง? ต้องการดูว่าแอปพลิเคชันเชื่อมต่อกับเครือข่ายหรือเปิดกระบวนการใหม่หรือไม่ มันเป็นกระบวนการตรวจสอบเพื่อช่วยเหลือ.
เราไม่ได้ทำบทความแฮ็กข้อมูลรีจิสตรีอีกต่อไป แต่ย้อนกลับไปเมื่อเราเริ่มใช้ Process Monitor เพื่อพิจารณาว่ามีการเข้าถึงรีจิสตรีคีย์ใดบ้างจากนั้นไปปรับแต่งรีจิสตรีคีย์เพื่อดูว่าจะเกิดอะไรขึ้น หากคุณเคยสงสัยว่ามีบางคนที่รู้ว่าแฮกรีจิสตรีทำอะไรที่ไม่มีใครเคยเห็นมันอาจจะเป็นผ่านการตรวจสอบกระบวนการ.
ยูทิลิตี้การตรวจสอบกระบวนการถูกสร้างขึ้นโดยการรวมยูทิลิตี้โรงเรียนเก่าที่แตกต่างกันสองอย่างเข้าด้วยกันคือ Filemon และ Regmon ซึ่งถูกใช้เพื่อตรวจสอบไฟล์และกิจกรรมรีจิสทรีเป็นชื่อของพวกเขา ในขณะที่ยูทิลิตี้เหล่านั้นยังคงมีอยู่และในขณะที่มันอาจเหมาะสมกับความต้องการเฉพาะของคุณคุณจะดีขึ้นด้วย Process Monitor เพราะมันสามารถจัดการกับเหตุการณ์จำนวนมากได้ดีขึ้นเนื่องจากความจริงที่ว่ามันถูกออกแบบมาเพื่อทำ.
นอกจากนี้ยังเป็นที่น่าสังเกตว่า Process Monitor ต้องการโหมดผู้ดูแลระบบเสมอเนื่องจากจะโหลดเคอร์เนลไดรเวอร์ภายใต้ประทุนเพื่อจับภาพเหตุการณ์เหล่านั้นทั้งหมด ใน Windows Vista และใหม่กว่าคุณจะได้รับแจ้งพร้อมกล่องโต้ตอบ UAC แต่สำหรับ XP หรือ 2003 คุณจะต้องตรวจสอบให้แน่ใจว่าบัญชีที่คุณใช้มีสิทธิ์ผู้ดูแลระบบ.
เหตุการณ์ที่จับภาพการตรวจสอบกระบวนการ
การตรวจสอบกระบวนการจับข้อมูลจำนวนมาก แต่มันไม่ได้จับทุกสิ่งที่เกิดขึ้นบนพีซีของคุณ ตัวอย่างเช่นการตรวจสอบกระบวนการไม่สนใจว่าคุณเลื่อนเมาส์ไปมาหรือไม่และไม่รู้ว่าไดรเวอร์ของคุณทำงานอย่างเหมาะสมหรือไม่ จะไม่ติดตามว่ากระบวนการใดที่เปิดอยู่และเสีย CPU ในคอมพิวเตอร์ของคุณนั่นคืองานของ Process Explorer หลังจากทั้งหมด.
สิ่งที่มันทำคือการดักจับการดำเนินงาน I / O (อินพุต / เอาท์พุต) ที่เฉพาะเจาะจงไม่ว่าจะเกิดขึ้นผ่านระบบไฟล์รีจิสทรีหรือแม้แต่เครือข่าย นอกจากนี้ยังจะติดตามกิจกรรมอื่น ๆ ไม่กี่แห่งในแบบ จำกัด รายการนี้ครอบคลุมถึงเหตุการณ์ที่เกิดขึ้น:
- Registry - นี่อาจเป็นการสร้างกุญแจอ่านลบหรือสืบค้นพวกเขา คุณจะประหลาดใจที่เกิดเหตุการณ์นี้บ่อยครั้งเพียงใด.
- ระบบไฟล์ - นี่อาจเป็นการสร้างไฟล์การเขียนการลบ ฯลฯ และอาจเป็นได้ทั้งฮาร์ดไดรฟ์ภายในและไดรฟ์เครือข่าย.
- เครือข่าย - สิ่งนี้จะแสดงที่มาและปลายทางของทราฟฟิก TCP / UDP แต่น่าเสียดายที่มันไม่แสดงข้อมูลทำให้มีประโยชน์น้อยลงเล็กน้อย.
- กระบวนการ - เหล่านี้เป็นกิจกรรมสำหรับกระบวนการและเธรดที่เริ่มต้นกระบวนการ, เธรดเริ่มต้นหรือออก, ฯลฯ ซึ่งอาจเป็นข้อมูลที่มีประโยชน์ในบางกรณี แต่มักเป็นสิ่งที่คุณต้องการดูใน Process Explorer แทน.
- โปรไฟล์ - กระบวนการเหล่านี้ถูกจับภาพโดยการตรวจสอบกระบวนการเพื่อตรวจสอบจำนวนเวลาประมวลผลที่ใช้โดยแต่ละกระบวนการและการใช้หน่วยความจำ อีกครั้งคุณอาจต้องการใช้ Process Explorer เพื่อติดตามสิ่งเหล่านี้เป็นส่วนใหญ่ แต่ก็มีประโยชน์ที่นี่หากคุณต้องการ.
ดังนั้นการตรวจสอบกระบวนการสามารถจับภาพการดำเนินการ I / O ใด ๆ ไม่ว่าจะเกิดขึ้นผ่านรีจิสตรีระบบไฟล์หรือแม้กระทั่งเครือข่าย - แม้ว่าข้อมูลจริงที่กำลังเขียนจะไม่ถูกบันทึก เราเพียงแค่ดูข้อเท็จจริงว่ากระบวนการกำลังเขียนถึงหนึ่งในสตรีมเหล่านี้ดังนั้นเราจึงสามารถหาข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่เกิดขึ้นได้ในภายหลัง.
อินเทอร์เฟซการตรวจสอบกระบวนการ
เมื่อคุณโหลดอินเทอร์เฟซการตรวจสอบกระบวนการขึ้นเป็นครั้งแรกคุณจะพบกับแถวข้อมูลจำนวนมหาศาลที่มีข้อมูลจำนวนมากบินเข้ามาอย่างรวดเร็วและมันสามารถครอบงำได้ กุญแจสำคัญคือการมีความคิดอย่างน้อยเกี่ยวกับสิ่งที่คุณกำลังมองหาเช่นเดียวกับสิ่งที่คุณกำลังมองหา นี่ไม่ใช่เครื่องมือประเภทหนึ่งที่คุณใช้เวลาในการผ่อนคลายทั้งวันเพราะภายในระยะเวลาอันสั้นคุณจะเห็นแถวนับล้าน ๆ แถว.
สิ่งแรกที่คุณต้องทำคือกรองแถวนับล้านเหล่านั้นลงในชุดย่อยของข้อมูลที่คุณต้องการดูและเราจะสอนวิธีสร้างตัวกรองและศูนย์ในสิ่งที่คุณต้องการค้นหา . แต่ก่อนอื่นคุณควรเข้าใจอินเตอร์เฟสและข้อมูลที่มีอยู่จริง.
ดูที่คอลัมน์เริ่มต้น
คอลัมน์เริ่มต้นแสดงข้อมูลที่มีประโยชน์มากมาย แต่คุณต้องมีบริบทที่จะเข้าใจว่าข้อมูลแต่ละอันมีอยู่จริงเพราะบางคนอาจดูเหมือนสิ่งเลวร้ายเกิดขึ้นเมื่อพวกเขาเป็นเหตุการณ์ที่ไร้เดียงสาจริงๆที่เกิดขึ้นตลอดเวลาภายใต้ กระโปรงหน้ารถ นี่คือสิ่งที่แต่ละคอลัมน์เริ่มต้นใช้สำหรับ:
- เวลา - คอลัมน์นี้ค่อนข้างอธิบายตนเองมันแสดงเวลาที่แน่นอนที่เหตุการณ์เกิดขึ้น.
- ชื่อกระบวนการ - ชื่อของกระบวนการที่สร้างเหตุการณ์ สิ่งนี้จะไม่แสดงเส้นทางแบบเต็มไปยังไฟล์ตามค่าเริ่มต้น แต่ถ้าคุณโฮเวอร์เหนือฟิลด์คุณจะเห็นว่ากระบวนการนั้นเป็นแบบใด.
- PID - ID กระบวนการของกระบวนการที่สร้างเหตุการณ์ สิ่งนี้มีประโยชน์มากหากคุณพยายามทำความเข้าใจว่ากระบวนการ svchost.exe สร้างเหตุการณ์ นอกจากนี้ยังเป็นวิธีที่ยอดเยี่ยมในการแยกกระบวนการเดียวสำหรับการตรวจสอบโดยสมมติว่ากระบวนการไม่เปิดตัวอีกครั้ง.
- การทำงาน - นี่คือชื่อของการดำเนินการที่ถูกบันทึกไว้และมีไอคอนที่ตรงกับประเภทเหตุการณ์ประเภทใดประเภทหนึ่ง (รีจิสทรีไฟล์เครือข่ายกระบวนการ) สิ่งเหล่านี้อาจสร้างความสับสนเล็กน้อยเช่น RegQueryKey หรือ WriteFile แต่เราจะพยายามช่วยเหลือคุณผ่านความสับสน.
- เส้นทาง - นี่ไม่ใช่เส้นทางของกระบวนการ แต่เป็นเส้นทางไปยังทุกสิ่งที่กำลังดำเนินการโดยเหตุการณ์นี้ ตัวอย่างเช่นหากมีเหตุการณ์ WriteFile ฟิลด์นี้จะแสดงชื่อของไฟล์หรือโฟลเดอร์ที่สัมผัส หากนี่เป็นเหตุการณ์ของรีจิสทรีก็จะแสดงการเข้าถึงคีย์เต็ม.
- ผล - นี่แสดงผลลัพธ์ของการดำเนินการซึ่งรหัสเช่น SUCCESS หรือ ACCESS DENIED ในขณะที่คุณอาจถูกล่อลวงให้สมมติโดยอัตโนมัติว่า BUFFER TOO SMALL หมายถึงบางสิ่งที่เลวร้ายจริงๆที่เกิดขึ้น แต่นั่นไม่ใช่กรณีส่วนใหญ่.
- รายละเอียด - ข้อมูลเพิ่มเติมที่มักจะไม่แปลไปสู่โลกแห่งการแก้ปัญหาที่เกินบรรยาย.
คุณยังสามารถเพิ่มคอลัมน์เพิ่มเติมลงในจอแสดงผลเริ่มต้นได้โดยไปที่ตัวเลือก -> เลือกคอลัมน์ นี่จะไม่ใช่คำแนะนำของเราสำหรับการหยุดครั้งแรกของคุณเมื่อคุณเริ่มการทดสอบ แต่เนื่องจากเรากำลังอธิบายคอลัมน์มันก็คุ้มค่าที่จะกล่าวถึงแล้ว.
หนึ่งในเหตุผลในการเพิ่มคอลัมน์เพิ่มเติมลงในจอแสดงผลคือเพื่อให้คุณสามารถกรองเหตุการณ์เหล่านั้นได้อย่างรวดเร็วโดยไม่ต้องใช้ข้อมูลมากเกินไป นี่คือคอลัมน์พิเศษบางส่วนที่เราใช้ แต่คุณอาจพบว่ามีประโยชน์สำหรับบางคนในรายการโดยขึ้นอยู่กับสถานการณ์.
- บรรทัดคำสั่ง - ในขณะที่คุณสามารถดับเบิลคลิกที่เหตุการณ์ใดก็ได้เพื่อดูอาร์กิวเมนต์บรรทัดคำสั่งสำหรับกระบวนการที่สร้างแต่ละเหตุการณ์มันจะมีประโยชน์ที่จะเห็นตัวเลือกทั้งหมดอย่างรวดเร็ว.
- ชื่อ บริษัท - เหตุผลหลักที่คอลัมน์นี้มีประโยชน์คือคุณสามารถแยกกิจกรรม Microsoft ทั้งหมดได้อย่างรวดเร็วและ จำกัด การตรวจสอบของคุณให้แคบลงสำหรับทุกสิ่งที่ไม่ได้เป็นส่วนหนึ่งของ Windows (คุณจะต้องตรวจสอบให้แน่ใจว่าคุณไม่มีกระบวนการ rundll32.exe แปลก ๆ ที่ทำงานโดยใช้ Process Explorer เนื่องจากอาจซ่อนมัลแวร์ได้).
- PID ของผู้ปกครอง - สิ่งนี้มีประโยชน์มากเมื่อคุณกำลังแก้ไขปัญหากระบวนการที่มีกระบวนการลูกหลายอย่างเช่นเว็บเบราว์เซอร์หรือแอปพลิเคชันที่เปิดใช้งานสิ่งที่เป็นร่างเป็นกระบวนการอื่น จากนั้นคุณสามารถกรองโดย Parent PID เพื่อให้แน่ใจว่าคุณจับทุกอย่าง.
เป็นเรื่องน่าสังเกตว่าคุณสามารถกรองตามข้อมูลคอลัมน์ได้แม้ว่าคอลัมน์จะไม่แสดง แต่ก็ง่ายกว่ามากที่จะคลิกขวาและกรองข้อมูลด้วยตนเอง และใช่เราพูดถึงตัวกรองอีกครั้งแม้ว่าเรายังไม่ได้อธิบาย.
ตรวจสอบเหตุการณ์เดียว
การดูสิ่งต่าง ๆ ในรายการเป็นวิธีที่ดีในการดูจุดข้อมูลที่แตกต่างกันจำนวนมากในเวลาเดียวกันอย่างรวดเร็ว แต่แน่นอนว่าไม่ใช่วิธีที่ง่ายที่สุดในการตรวจสอบข้อมูลชิ้นเดียวและมีเพียงข้อมูลมากมายที่คุณสามารถเห็นได้ใน รายการ. โชคดีที่คุณสามารถดับเบิลคลิกที่กิจกรรมใดก็ได้เพื่อเข้าถึงขุมสมบัติของข้อมูลเพิ่มเติม.
แท็บเหตุการณ์เริ่มต้นให้ข้อมูลที่คล้ายกับสิ่งที่คุณเห็นในรายการส่วนใหญ่ แต่จะเพิ่มข้อมูลเพิ่มเติมให้กับปาร์ตี้ หากคุณกำลังดูเหตุการณ์ระบบไฟล์คุณจะสามารถเห็นข้อมูลบางอย่างเช่นคุณลักษณะเวลาสร้างไฟล์การเข้าถึงที่พยายามทำในระหว่างการดำเนินการเขียนจำนวนไบต์ที่เขียนและระยะเวลา.
การสลับไปยังแท็บกระบวนการให้ข้อมูลที่ยอดเยี่ยมมากมายเกี่ยวกับกระบวนการที่สร้างกิจกรรม แม้ว่าโดยทั่วไปคุณจะต้องการใช้ Process Explorer เพื่อจัดการกับกระบวนการ แต่ก็มีประโยชน์มากที่จะมีข้อมูลมากมายเกี่ยวกับกระบวนการเฉพาะที่สร้างเหตุการณ์เฉพาะโดยเฉพาะอย่างยิ่งหากเป็นสิ่งที่เกิดขึ้นอย่างรวดเร็วและหายไปจาก รายการกระบวนการ วิธีบันทึกข้อมูลนี้.
แท็บสแต็คเป็นสิ่งที่บางครั้งจะมีประโยชน์อย่างยิ่ง แต่บ่อยครั้งที่จะไม่มีประโยชน์เลย สาเหตุที่คุณต้องการดูสแต็กคือเพื่อให้คุณสามารถแก้ไขปัญหาได้โดยตรวจสอบคอลัมน์โมดูลว่ามีอะไรที่ดูไม่ถูกต้อง.
ยกตัวอย่างเช่นสมมติว่ากระบวนการพยายามสืบค้นหรือเข้าถึงไฟล์ที่ไม่มีอยู่ตลอดเวลา แต่คุณไม่แน่ใจว่าทำไม คุณสามารถดูแท็บสแต็คและดูว่ามีโมดูลใดที่ไม่ถูกต้องหรือไม่จากนั้นทำการวิจัย คุณอาจพบว่าองค์ประกอบที่ล้าสมัยหรือแม้แต่มัลแวร์เป็นสาเหตุของปัญหา.
หรือคุณอาจพบว่าไม่มีอะไรที่เป็นประโยชน์สำหรับคุณและนั่นก็ใช้ได้เช่นกัน มีข้อมูลอื่นอีกมากให้ดู.
หมายเหตุเกี่ยวกับ Buffer Overflows
ก่อนที่เราจะดำเนินการต่อไปเราจะต้องการจดบันทึกรหัสผลลัพธ์ที่คุณจะเริ่มเห็นมากในรายการและจากความรู้ที่เกินบรรยายของคุณจนถึงตอนนี้คุณอาจรู้สึกแปลก ๆ เล็กน้อย ดังนั้นหากคุณเริ่มเห็นบัฟเฟอร์ของหน้าต่างในรายการโปรดอย่าสันนิษฐานว่ามีคนพยายามแฮ็คคอมพิวเตอร์ของคุณ.
หน้าถัดไป: การกรองข้อมูลที่ประมวลผลการตรวจสอบจับ