วิธีสร้างกลุ่มใน Linux
กลุ่มใช้เพื่อจัดระเบียบผู้ใช้และสิทธิพิเศษเช่นการอ่านการเขียนและการดำเนินการอนุญาต ในการเพิ่ม groud คำสั่งคือ groupadd
ในบทความนี้ เราจะอธิบายวิธีวิเคราะห์ไฟล์ไบนารีใน Linux
เราจะครอบคลุมคำสั่งและเครื่องมือ 5 อย่างง่าย ๆ ที่สามารถช่วยคุณวิเคราะห์ไฟล์ไบนารีได้อย่างง่ายดาย Linux มีชุดเครื่องมือมากมายที่ทำให้การวิเคราะห์ไบนารีเป็นเรื่องง่าย! ไม่ว่าหน้าที่การงานของคุณจะเป็นเช่นไร หากคุณทำงานบน Linux การรู้พื้นฐานเกี่ยวกับเครื่องมือเหล่านี้จะช่วยให้คุณเข้าใจระบบของคุณดีขึ้น
มาเริ่มกันเลย.
1. ไฟล์
คำสั่ง file จะช่วยคุณระบุประเภทไฟล์ที่คุณกำลังจัดการ fileระบุไฟล์ที่จัดรูปแบบพิเศษที่มีการทดสอบตามตำแหน่ง การทดสอบตามตำแหน่งเริ่มต้นและการทดสอบตามบริบทจะไม่ถูกดำเนินการ
คำสั่งบอกเฉพาะว่าไฟล์มีลักษณะอย่างไร ไม่ใช่สิ่งที่เป็น (ในกรณีที่ไฟล์ดูเนื้อหา) มันง่ายที่จะหลอกโปรแกรมโดยใส่ตัวเลขวิเศษลงในไฟล์ที่มีเนื้อหาไม่ตรงกัน ดังนั้นคำสั่งนี้จึงไม่สามารถใช้เป็นเครื่องมือรักษาความปลอดภัยอื่นนอกเหนือจากสถานการณ์เฉพาะได้
# file file.c
file.c: C program text
# file /bin/lsbin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=937708964f0f7e3673465d7749d6cf6a2601dea2, stripped, too many notes (256)
# file /etc/passwd
/etc/passwd: ASCII text
2. เปล่า
ldd พิมพ์อ็อบเจ็กต์ที่แบ่งใช้ (ไลบรารีที่แบ่งใช้) ที่แต่ละโปรแกรมหรืออ็อบเจ็กต์แบ่งใช้ที่ระบุบนบรรทัดคำสั่ง เมื่อมีการพัฒนาซอฟต์แวร์ เราพยายามที่จะไม่สร้างวงล้อขึ้นมาใหม่ มีชุดของงานทั่วไปที่โปรแกรมซอฟต์แวร์ส่วนใหญ่ต้องการ เช่น การพิมพ์หรือการอ่านจากไฟล์มาตรฐานหรือการเปิดไฟล์ เป็นต้น
งานทั่วไปทั้งหมดเหล่านี้แยกออกเป็นชุดของฟังก์ชันทั่วไปที่ทุกคนสามารถใช้แทนการเขียนตัวแปรของตนเองได้ ฟังก์ชันทั่วไปเหล่านี้อยู่ในไลบรารีที่เรียกว่า libc หรือ glibc
# ldd /bin/rm
linux-vdso.so.1 (0x00007ffcd6d7d000)
libc.so.6 => /lib64/libc.so.6 (0x00007f13d841c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f13d89f1000)
3. hexdump
hexdump - แสดงเนื้อหาไฟล์เป็นเลขฐานสิบหก ทศนิยม ฐานแปด หรือ ascii ยูทิลิตี hexdump เป็นตัวกรองที่แสดงไฟล์ที่ระบุ หรืออินพุตมาตรฐานหากไม่มีการระบุไฟล์ ในรูปแบบที่ผู้ใช้ระบุ
การเปิดไฟล์ที่ไม่รู้จักใน Hexdump ช่วยให้คุณเห็นว่าไฟล์นั้นมีอะไรบ้าง คุณยังสามารถเลือกที่จะดูการแสดง ASCII ของข้อมูลที่มีอยู่ในไฟล์ได้โดยใช้ตัวเลือกบรรทัดคำสั่งบางตัว ซึ่งอาจช่วยให้คุณทราบว่าเป็นไฟล์ประเภทใด
# hexdump -C /bin/ls | head
00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF…………|
00000010 03 00 3e 00 01 00 00 00 00 5e 00 00 00 00 00 00 |..>……^……|
00000020 40 00 00 00 00 00 00 00 70 82 02 00 00 00 00 00 |@…….p…….|
00000030 00 00 00 00 40 00 38 00 0a 00 40 00 1f 00 1e 00 |…[email protected]…@…..|
00000040 06 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |……..@…….|
00000050 40 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |@…….@…….|
00000060 30 02 00 00 00 00 00 00 30 02 00 00 00 00 00 00 |0…….0…….|
00000070 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00 |…………….|
00000080 70 02 00 00 00 00 00 00 70 02 00 00 00 00 00 00 |p…….p…….|
00000090 70 02 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 |p……………|
4 อ่านเอง
readelf แสดงข้อมูลเกี่ยวกับไฟล์อ็อบเจ็กต์รูปแบบ ELF ตั้งแต่หนึ่งไฟล์ขึ้นไป ตัวเลือกควบคุมข้อมูลเฉพาะที่จะแสดง ELF (รูปแบบไฟล์ที่ปฏิบัติการได้และเชื่อมโยงได้) เป็นรูปแบบไฟล์ที่โดดเด่นสำหรับปฏิบัติการหรือไบนารี ไม่ใช่แค่บน Linux แต่ยังรวมถึงระบบ UNIX ที่หลากหลายด้วย การอ้างอิงข้อกำหนดของ ELF จริงมีประโยชน์เมื่อใช้ readelf จะมีประโยชน์มาก
# readelf -h /bin/ls
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2’s complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x67d0
Start of program headers: 64 (bytes into file)
Start of section headers: 140224 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 13
Size of section headers: 64 (bytes)
Number of section headers: 30
Section header string table index: 29
5. objdump
objdump - แสดงข้อมูลจากไฟล์อ็อบเจ็กต์ objdump แสดงข้อมูลเกี่ยวกับไฟล์อ็อบเจ็กต์ตั้งแต่หนึ่งไฟล์ขึ้นไป ตัวเลือกควบคุมข้อมูลเฉพาะที่จะแสดง ข้อมูลนี้ส่วนใหญ่มีประโยชน์สำหรับโปรแกรมเมอร์ที่ทำงานเกี่ยวกับเครื่องมือการคอมไพล์ แทนที่จะเป็นโปรแกรมเมอร์ที่ต้องการให้โปรแกรมของตนคอมไพล์และทำงาน คอมไพเลอร์นี้สร้างคำสั่งภาษาเครื่องที่เทียบเท่ากับซอร์สโค้ด ซึ่งจากนั้น CPU จะสามารถดำเนินการเพื่อทำงานที่กำหนดได้
# objdump -d /bin/ls | head
/bin/ls: file format elf64-x86-64
Disassembly of section .init:
0000000000004000 <.init>:
4000: f3 0f 1e fa endbr64
4004: 48 83 ec 08 sub $0x8,%rsp
4008: 48 8b 05 c9 ef 01 00 mov 0x1efc9(%rip),%rax # 22fd8 <__gmon_start__>
ในบทความนี้ เราได้เห็นวิธีวิเคราะห์ไฟล์ไบนารีใน Linux แล้ว
รับเซิร์ฟเวอร์เฉพาะ dual E5 series ประสิทธิภาพสูงและ KVM VPS ราคาถูก
กลุ่มใช้เพื่อจัดระเบียบผู้ใช้และสิทธิพิเศษเช่นการอ่านการเขียนและการดำเนินการอนุญาต ในการเพิ่ม groud คำสั่งคือ groupadd
อธิบาย 3 วิธีในการตรวจสอบการใช้งาน CPU ใน Linux การใช้งาน CPU หมายถึงการใช้ทรัพยากรในการประมวลผล หรือปริมาณงานที่ CPU จัดการ
DenyHosts ใช้กันอย่างแพร่หลายแทน Fail2ban หากมีการพยายามเข้าสู่ระบบ SSH ที่ไม่ถูกต้องมากเกินไป จะถือว่าการโจมตีด้วยกำลังเดรัจฉานหรือ
เราจะเรียนรู้วิธีเมานต์ดิสก์ใหม่กับเซิร์ฟเวอร์ Linux สำหรับการสาธิตนี้ เราใช้เซิร์ฟเวอร์คลาวด์ CentOS 7 ตอนนี้เมานต์พาร์ติชั่นดังที่แสดงด้านล่าง
อธิบายว่าการติดตั้ง Fail2ban บน Ubuntu 20.04 นั้นง่ายเพียงใด Fail2ban เขียนด้วยภาษาโปรแกรม Python และเป็นโอเพ่นซอร์สฟรี การกำหนดค่า
อธิบายวิธีการติดตั้ง WireGuard VPN บน Ubuntu 20.04 เป็นอย่างดี WireGuard เป็น VPN ที่ใช้งานง่าย รวดเร็ว และทันสมัยมากซึ่งใช้การเข้ารหัสที่ล้ำสมัย
OpenSSL เป็นชุดเครื่องมือเต็มรูปแบบที่มีประสิทธิภาพในเชิงพาณิชย์สำหรับโปรโตคอล Transport Layer Security (TLS) & (SSL) เรียนรู้การติดตั้ง OpenSSL 1.1.1d ใน CentOS
วิธีติดตั้งและกำหนดค่า CSF บนเซิร์ฟเวอร์ CentOS 8 ConfigServer Security & Firewall เป็นไฟร์วอลล์ (SPI) แอปพลิเคชันการเข้าสู่ระบบ/การตรวจจับการบุกรุกและความปลอดภัย
การกำหนดค่ากฎการตรวจสอบไม่สะท้อนให้เห็น? เรียนรู้ว่าวิศวกรฝ่ายสนับสนุนของเราแก้ปัญหาและแก้ไขปัญหาได้อย่างไร ไฟล์การกำหนดค่ากฎ /etc/audit/rules.d/audit.rules
ในบทความนี้ เราจะเรียนรู้วิธีที่วิศวกรฝ่ายสนับสนุนของเราแก้ไขการโหลดสูงของ CloudLinux บนเซิร์ฟเวอร์ โปรดตรวจสอบให้แน่ใจว่าขีดจำกัด LVE ของคุณได้รับการกำหนดค่าอย่างเหมาะสม