พื้นฐาน Kali Linux และ Command Line

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

อธิบายความแตกต่างระหว่างการใช้ apt update และ apt upgrade ใน Kali Linux?

apt update อัปเดตรายการแพ็กเกจ ในขณะที่ apt upgrade ติดตั้งเวอร์ชันใหม่ของแพ็กเกจที่ติดตั้งไว้แล้ว

คำสั่งใดที่คุณจะใช้เพื่อค้นหาไฟล์ทั้งหมดในระบบที่มีนามสกุล .conf และแสดงผลลัพธ์พร้อมรายละเอียด?

find / -name "*.conf" -ls

อธิบายวิธีการใช้ pipe (|) เพื่อส่งออกผลลัพธ์จากคำสั่ง ls -la ไปยังคำสั่ง grep เพื่อค้นหาไฟล์ที่สร้างในเดือนมกราคม?

ls -la | grep "Jan"

อธิบายความแตกต่างระหว่างการใช้ > และ >> เมื่อทำการ redirect output ไปยังไฟล์

<p><code>&gt;</code> เขียนทับไฟล์ ในขณะที่ <code>&gt;&gt;</code> เพิ่มข้อมูลต่อท้ายไฟล์</p> Signup and view all the answers

จงอธิบายวิธีการตั้งค่าสิทธิ์ไฟล์ด้วย chmod เพื่อให้เจ้าของไฟล์สามารถอ่าน เขียน และรันได้ ในขณะที่กลุ่มและผู้ใช้อื่น ๆ สามารถอ่านและรันได้อย่างเดียว

<p><code>chmod 755 [filename]</code></p> Signup and view all the answers

อธิบายวิธีการสร้าง alias ใน ~/.bashrc เพื่อให้เรียกใช้งานคำสั่ง nmap -sS -p 1-1000 ด้วยคำสั่งสั้น ๆ ว่า quickscan?

<p>เพิ่มบรรทัด <code>alias quickscan='nmap -sS -p 1-1000'</code> ใน <code>~/.bashrc</code> แล้วรัน <code>source ~/.bashrc</code></p> Signup and view all the answers

จงอธิบายวิธีการใช้คำสั่ง netstat หรือ ss เพื่อตรวจสอบว่ามีบริการใดกำลังฟังอยู่ในพอร์ต 8080 บนเครื่องของคุณ?

<p><code>netstat -tulnp | grep 8080</code> หรือ <code>ss -tulnp | grep 8080</code></p> Signup and view all the answers

อธิบายวิธีการใช้ ssh-keygen เพื่อสร้าง SSH key pair และวิธีการติดตั้ง public key บนเซิร์ฟเวอร์?

<p>ใช้ <code>ssh-keygen</code> เพื่อสร้าง key pair แล้วคัดลอก public key ไปยัง <code>~/.ssh/authorized_keys</code> บนเซิร์ฟเวอร์</p> Signup and view all the answers

จงอธิบายวิธีการใช้คำสั่ง tcpdump เพื่อดักจับแพ็กเก็ตที่ส่งไปยังพอร์ต 80 และบันทึกผลลัพธ์ลงในไฟล์?

<p><code>sudo tcpdump -i eth0 port 80 -w capture.pcap</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง iptables เพื่อบล็อกการเชื่อมต่อทั้งหมดจาก IP address 192.168.1.100?

<p><code>sudo iptables -A INPUT -s 192.168.1.100 -j DROP</code></p> Signup and view all the answers

อธิบายความแตกต่างระหว่างการใช้ locate และ find ในการค้นหาไฟล์

<p><code>locate</code> ใช้ฐานข้อมูลที่อัปเดตเป็นระยะ ในขณะที่ <code>find</code> ค้นหาในระบบไฟล์จริง</p> Signup and view all the answers

จงอธิบายวิธีการใช้ cron เพื่อตั้งเวลาให้ shell script ทำงานทุกวันเวลา 03:00 น.

<p>เพิ่มบรรทัด <code>0 3 * * * /path/to/script.sh</code> ใน crontab</p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง file เพื่อตรวจสอบประเภทของไฟล์

<p><code>file [filename]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง whois เพื่อค้นหาข้อมูลเกี่ยวกับโดเมนเนม

<p><code>whois [domainname]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง dig หรือ nslookup เพื่อค้นหา DNS records ของโดเมนเนม

<p><code>dig [domainname]</code> หรือ <code>nslookup [domainname]</code></p> Signup and view all the answers

อธิบายความแตกต่างระหว่าง firewall และ intrusion detection system (IDS)

<p>Firewall ควบคุมการเข้าออกของ traffic ในขณะที่ IDS ตรวจสอบ traffic ที่น่าสงสัย</p> Signup and view all the answers

อธิบายวิธีการใช้ sudo เพื่อรันคำสั่งด้วยสิทธิ์ root

<p><code>sudo [command]</code></p> Signup and view all the answers

อธิบายวิธีการแก้ไขไฟล์ด้วย nano และบันทึกการเปลี่ยนแปลง

<p>เปิดไฟล์ด้วย <code>nano [filename]</code> แก้ไข แล้วกด Ctrl+O เพื่อบันทึก และ Ctrl+X เพื่อออก</p> Signup and view all the answers

อธิบายวิธีการใช้ grep เพื่อค้นหา pattern ในไฟล์หรือ output ของคำสั่งอื่น ๆ

<p><code>grep [pattern] [filename]</code> หรือ <code>[command] | grep [pattern]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง ps เพื่อแสดง process ที่กำลังทำงานอยู่

<p><code>ps aux</code></p> Signup and view all the answers

จงอธิบายวิธีการใช้คำสั่ง kill เพื่อหยุด process ที่กำลังทำงานอยู่

<p><code>kill [PID]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง df เพื่อตรวจสอบพื้นที่ดิสก์ที่ใช้งานอยู่

<p><code>df -h</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง du เพื่อตรวจสอบขนาดของไฟล์และไดเรกทอรี

<p><code>du -sh [directory]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง tar เพื่อสร้าง archive ของไฟล์และไดเรกทอรี

<p><code>tar -czvf [archive_name].tar.gz [directory]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง unzip เพื่อแตกไฟล์ zip

<p><code>unzip [filename].zip</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง wget เพื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ต

<p><code>wget [URL]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง curl เพื่อส่ง HTTP request และรับ response

<p><code>curl [URL]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง history เพื่อดูรายการคำสั่งที่เคยรัน

<p><code>history</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง clear เพื่อล้างหน้าจอ terminal

<p><code>clear</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง exit เพื่อออกจาก shell

<p><code>exit</code></p> Signup and view all the answers

อธิบายวิธีการสร้าง directory ชื่อ testdir ภายใต้ /tmp?

<p><code>mkdir /tmp/testdir</code></p> Signup and view all the answers

อธิบายความแตกต่างระหว่าง && และ || ในการเชื่อมคำสั่ง

<p><code>&amp;&amp;</code> รันคำสั่งที่สองเมื่อคำสั่งแรกสำเร็จ, <code>||</code> รันคำสั่งที่สองเมื่อคำสั่งแรกล้มเหลว</p> Signup and view all the answers

อธิบายวิธีการใช้ loop for ใน shell script เพื่อแสดงเลข 1 ถึง 5

<p><code>for i in 1 2 3 4 5; do echo $i; done</code></p> Signup and view all the answers

อธิบายวิธีการใช้ if statement ใน shell script เพื่อตรวจสอบว่าไฟล์ /etc/passwd มีอยู่หรือไม่

<p><code>if [ -f /etc/passwd ]; then echo &quot;File exists&quot;; fi</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง head และ tail เพื่อแสดง 10 บรรทัดแรกและ 10 บรรทัดสุดท้ายของไฟล์

<p><code>head -n 10 [filename]</code> และ <code>tail -n 10 [filename]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง sort เพื่อเรียงลำดับไฟล์ตามตัวอักษร

<p><code>sort [filename]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง uniq เพื่อลบบรรทัดที่ซ้ำกันในไฟล์

<p><code>uniq [filename]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง wc เพื่อนับจำนวนบรรทัด คำ และตัวอักษรในไฟล์

<p><code>wc -l [filename]</code> เพื่อนับบรรทัด, <code>wc -w [filename]</code> เพื่อนับคำ, <code>wc -c [filename]</code> เพื่อนับตัวอักษร</p> Signup and view all the answers

จงอธิบายวิธีการใช้ regular expression ใน grep เพื่อค้นหาบรรทัดที่ขึ้นต้นด้วยคำว่า "Error"

<p><code>grep &quot;^Error&quot; [filename]</code></p> Signup and view all the answers

อธิบายวิธีการใช้คำสั่ง sed เพื่อแทนที่คำว่า "old" ด้วยคำว่า "new" ในไฟล์

<p><code>sed 's/old/new/g' [filename]</code></p> Signup and view all the answers

Flashcards

Kali Linux คืออะไร

ดิสทริบิวชัน Linux ที่พัฒนาโดย Offensive Security สำหรับการทดสอบความปลอดภัย

apt คืออะไร

เครื่องมือหลักในการจัดการแพ็คเกจใน Kali Linux

คำสั่ง pwd คืออะไร

แสดงไดเรกทอรีปัจจุบันที่คุณอยู่

คำสั่ง cd คืออะไร

เปลี่ยนไดเรกทอรีที่คุณทำงานอยู่

Signup and view all the flashcards

คำสั่ง ls -la คืออะไร

แสดงรายการไฟล์และไดเรกทอรีทั้งหมด รวมถึงไฟล์ซ่อน

Signup and view all the flashcards

คำสั่ง touch [filename] คืออะไร

สร้างไฟล์เปล่า

Signup and view all the flashcards

คำสั่ง mkdir คืออะไร

สร้างไดเรกทอรีใหม่

Signup and view all the flashcards

คำสั่ง cp คืออะไร

คัดลอกไฟล์หรือไดเรกทอรี

Signup and view all the flashcards

คำสั่ง mv คืออะไร

ย้ายไฟล์หรือเปลี่ยนชื่อไฟล์

Signup and view all the flashcards

คำสั่ง rm -rf คืออะไร

ลบไดเรกทอรีและไฟล์ทั้งหมดภายใน (ระวังการใช้งาน!)

Signup and view all the flashcards

คำสั่ง chmod คืออะไร

เปลี่ยนสิทธิ์การเข้าถึงไฟล์

Signup and view all the flashcards

คำสั่ง chown คืออะไร

เปลี่ยนเจ้าของไฟล์

Signup and view all the flashcards

Pipe (|) คืออะไร

ส่งออกผลลัพธ์ของคำสั่งหนึ่งไปยังอีกคำสั่งหนึ่ง

Signup and view all the flashcards

> คืออะไร

บันทึกผลลัพธ์ของคำสั่งลงในไฟล์ (เขียนทับ)

Signup and view all the flashcards

>> คืออะไร

เพิ่มผลลัพธ์ของคำสั่งต่อท้ายไฟล์

Signup and view all the flashcards

nano คืออะไร

Text editor ที่ใช้งานง่ายใน terminal

Signup and view all the flashcards

vim คืออะไร

Text editor ทรงพลังใน terminal ที่มีความซับซ้อนในการใช้งาน

Signup and view all the flashcards

Shell script คืออะไร

ไฟล์ที่รวบรวมชุดคำสั่งเพื่อให้ทำงานอัตโนมัติ

Signup and view all the flashcards

#!/bin/bash คืออะไร

ใช้ระบุ interpreter ที่ใช้รัน shell script

Signup and view all the flashcards

คำสั่ง read คืออะไร

รับค่าจากผู้ใช้ใน shell script

Signup and view all the flashcards

Study Notes

หลักสูตรเชี่ยวชาญ Kali Linux: จากพื้นฐานสู่การทดสอบเจาะระบบแบบมืออาชีพ

  • หลักสูตรนี้ออกแบบมาเพื่อพัฒนาความรู้ด้านความปลอดภัยไซเบอร์ โดยเน้นการใช้งาน Kali Linux อย่างเข้มข้น
  • หลักสูตรประกอบด้วยโมดูลต่างๆ พร้อมแบบทดสอบเพื่อวัดความเข้าใจ
  • มี 8 บทเรียนหลัก ครอบคลุมตั้งแต่พื้นฐานถึงเทคนิคขั้นสูง

ภาพรวมหลักสูตร

  • บทที่ 1: รากฐานของ Kali Linux และ Command Line
  • บทที่ 2: การสำรวจและรวบรวมข้อมูล (Information Gathering)
  • บทที่ 3: การวิเคราะห์ช่องโหว่ (Vulnerability Analysis)
  • บทที่ 4: การโจมตีและใช้ประโยชน์จากช่องโหว่ (Exploitation Techniques)
  • บทที่ 5: การรักษาสิทธิ์การเข้าถึง (Post-Exploitation & Persistence)
  • บทที่ 6: การตรวจสอบแอปพลิเคชันเว็บ (Web Application Security)
  • บทที่ 7: การทดสอบเจาะระบบไร้สาย (Wireless Penetration Testing)
  • บทที่ 8: การเขียนรายงานและจริยธรรมในการทดสอบเจาะระบบ

บทที่ 1: รากฐานของ Kali Linux และ Command Line

1.1 ประวัติและโครงสร้างของ Kali Linux

  • Kali Linux พัฒนาโดย Offensive Security สำหรับการทดสอบความปลอดภัย

  • พัฒนาต่อยอดจาก BackTrack ซึ่งเป็นดิสทริบิวชันสำหรับนักเจาะระบบ

  • Kali ใช้ Debian เป็นฐาน แต่มีการปรับแต่งให้เหมาะกับงานทดสอบความปลอดภัย

  • มีเครื่องมือทดสอบความปลอดภัยมากกว่า 600 ชิ้น

  • เข้าสู่ระบบด้วยสิทธิ์ root โดยค่าเริ่มต้น

  • Kernel มีการปรับแต่งเพื่อรองรับ packet injection และ wireless monitoring

  • มี repository ที่แยกจาก Debian หลัก

  • คำสั่ง uname -a ใช้เพื่อดูข้อมูล kernel

  • คำสั่ง cat /etc/os-release ใช้เพื่อดูรายละเอียดของระบบปฏิบัติการ

1.2 ระบบการจัดการแพ็คเกจใน Kali

  • Kali ใช้ระบบจัดการแพ็คเกจของ Debian

  • apt (Advanced Package Tool) เป็นเครื่องมือหลักในการจัดการแพ็คเกจ

  • apt-get เป็นรุ่นเก่าของ apt ที่ยังคงใช้งานได้

  • dpkg เป็นเครื่องมือระดับต่ำในการจัดการไฟล์ .deb

  • คำสั่ง sudo apt update ใช้เพื่ออัพเดท package list

  • คำสั่ง sudo apt upgrade ใช้เพื่ออัพเกรดแพ็คเกจทั้งหมด

  • คำสั่ง sudo apt install [package_name] ใช้เพื่อติดตั้งแพ็คเกจ

  • คำสั่ง sudo apt remove [package_name] ใช้เพื่อลบแพ็คเกจ

  • คำสั่ง apt search [keyword] ใช้เพื่อค้นหาแพ็คเกจ

  • คำสั่ง apt show [package_name] ใช้เพื่อแสดงรายละเอียดแพ็คเกจ

  • ระบบจัดการแพ็คเกจ APT ของ Kali แตกต่างจาก DNF (Fedora) หรือ Pacman (Arch)

  • คำสั่ง apt search "vulnerability scanner" ใช้เพื่อค้นหาเครื่องมือสแกนช่องโหว่

  • คำสั่ง apt show [ชื่อแพ็คเกจ] ใช้เพื่อดูรายละเอียดของแพ็คเกจ

1.3 การทำงานกับ Command Line ขั้นสูง

1.3.1 การนำทางและจัดการไฟล์
  • คำสั่ง pwd ใช้เพื่อแสดงไดเรกทอรีปัจจุบัน

  • คำสั่ง cd [directory] ใช้เพื่อเปลี่ยนไดเรกทอรี

  • คำสั่ง ls -la ใช้เพื่อแสดงไฟล์ทั้งหมดรวมถึงไฟล์ซ่อน

  • คำสั่ง find / -name "*.txt" 2>/dev/null ใช้เพื่อค้นหาไฟล์ทั่วทั้งระบบ (ซ่อน error)

  • คำสั่ง touch [filename] ใช้เพื่อสร้างไฟล์เปล่า

  • คำสั่ง mkdir -p [dir/subdir] ใช้เพื่อสร้างไดเรกทอรีพร้อมไดเรกทอรีย่อย

  • คำสั่ง cp -r [source] [dest] ใช้เพื่อคัดลอกไฟล์หรือไดเรกทอรี

  • คำสั่ง mv [source] [dest] ใช้เพื่อย้ายหรือเปลี่ยนชื่อไฟล์

  • คำสั่ง rm -rf [directory] ใช้เพื่อลบไดเรกทอรีแบบเรียกซ้ำ

  • คำสั่ง chmod 755 [file] ใช้เพื่อให้สิทธิ์ rwx r-x r-x

  • คำสั่ง chown [user]:[group] [file] ใช้เพื่อเปลี่ยนเจ้าของไฟล์

  • คำสั่ง rm -rf / หรือ rm -rf /* จะลบไฟล์ทั้งหมดในระบบ

1.3.2 การใช้ pipe และ redirection
  • | (pipe) ใช้เพื่อส่งผลลัพธ์จากคำสั่งหนึ่งไปอีกคำสั่งหนึ่ง

  • คำสั่ง ps aux | grep firefox ใช้เพื่อแสดงเฉพาะ process ที่เกี่ยวข้องกับ firefox

  • คำสั่ง ls -la | sort -k5 -n ใช้เพื่อเรียงตามขนาดไฟล์

  • คำสั่ง cat /var/log/auth.log | grep "Failed password" | wc -l ใช้เพื่อนับจำนวนครั้งที่ login ล้มเหลว

  • คำสั่ง nmap 192.168.1.1 > scan_results.txt ใช้เพื่อบันทึกผลลัพธ์ลงไฟล์(เขียนทับ)

  • คำสั่ง echo "Scan completed at $(date)" >> scan_results.txt ใช้เพื่อเพิ่มผลลัพธ์ต่อท้ายไฟล์

  • คำสั่ง nmap 192.168.1.0/24 2> errors.log ใช้เพื่อ redirect error

  • คำสั่ง nmap 192.168.1.0/24 > all_output.txt 2>&1 ใช้เพื่อ redirect ทั้ง output และ error

1.3.3 การใช้ Text Editors ใน Terminal
  • nano: ง่ายสำหรับผู้เริ่มต้น
    • คำสั่ง nano /etc/hosts ใช้เพื่อแก้ไขไฟล์ hosts
    • Ctrl+O (บันทึก), Ctrl+X (ออก), Ctrl+W (ค้นหา)
  • vim: ทรงพลังแต่มีความชันในการเรียนรู้สูง
    • คำสั่ง vim /etc/ssh/sshd_config ใช้เพื่อแก้ไขการตั้งค่า SSH
    • โหมดพื้นฐาน: Normal mode, Insert mode, Command mode
    • คำสั่งพื้นฐาน vim: :w (บันทึก), :q (ออก), :wq (บันทึกและออก), :q! (ออกโดยไม่บันทึก), /pattern (ค้นหา)
  • kwrite/gedit: ถ้ามี GUI
    • คำสั่ง kwrite file.txt & ใช้เพื่อให้ run ในเบื้องหลัง

1.4 Shell Scripting เบื้องต้น

  • Shell script เป็นเครื่องมือสำคัญใน Kali Linux สำหรับการทำงานอัตโนมัติ
1.4.1 การสร้าง shell script
  • สร้างไฟล์ security_check.sh และเพิ่มโค้ด
  • ทำให้รันได้ด้วย chmod +x security_check.sh
  • สั่งรันด้วย ./security_check.sh
1.4.2 ตัวแปรและการตั้งค่า
  • กำหนดตัวแปร เช่น TARGET, SCAN_TYPE, OUTPUT_FILE
  • ใช้ตัวแปรในคำสั่งต่างๆ
  • ใช้ if elif else เพื่อกำหนดเงื่อนไขการทำงาน
1.4.3 การรับค่า input
  • ใช้คำสั่ง read เพื่อรับค่าจากผู้ใช้
  • ตรวจสอบความถูกต้องของ input

ควิซท้ายบทที่ 1

  • ทบทวนความรู้และคำสั่งต่างๆ ที่ได้เรียนรู้ในบทที่ 1

แบบทดสอบหลังเรียน บทที่ 1

  • ทดสอบความเข้าใจในเนื้อหาของบทที่ 1 โดยการเขียนคำสั่งและอธิบายวิธีการต่างๆ

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser