วิธีปิดการใช้งาน NX บน Linux


1

ฉันกำลังเรียนรู้เกี่ยวกับการใช้ประโยชน์จากสแต็กบัฟเฟอร์ล้นและหลังจากนั้นฉันก็โพสต์คำถาม ความผิดพลาดในการแบ่งส่วนของ Shellcode เกี่ยวกับการดำเนินการ shellcode จากโปรแกรมทดสอบหรือเมื่อถูกฉีดเข้าสู่โปรแกรมที่มีช่องโหว่จะทำให้เกิดการละเมิดการแบ่งส่วน ตอนนี้ฉันพบว่ามันอาจเกิดจาก NX เมื่อฉันค้นหาสิ่งนี้ใน dmesg ฉันพบบรรทัดนี้:

[    0.000000] NX (Execute Disable) protection: active

ดังนั้นคำถามของฉันคือวิธีปิดการใช้งานบิตบิตบน Linux ฉันใช้ Kali Linux 64 บิตกับเคอร์เนล 4.18.0


2
คุณลองใช้เครื่องมือค้นหาหรือไม่ ดูเหมือนจะมีเพลงฮิตที่มีประโยชน์มากมายเมื่อค้นหา linux ปิดใช้งาน NX .
Steffen Ullrich

ใช่ฉันไม่พบสิ่งใดที่ใช้งานได้

2
จากนั้นคุณต้องอธิบายสิ่งที่คุณทำและสิ่งที่เกิดขึ้นมิฉะนั้นเราจะนำคุณไปยังสิ่งที่คุณได้ลองไปแล้ว
schroeder

ทำไมไม่ใช้ Linux distro อื่น ๆ ล่ะ? นี่ดูเหมือนคำถาม Linux config / kernel มากกว่าคำถามเพื่อความปลอดภัย
schroeder

@schroeder คุณไม่จำเป็นต้องเปลี่ยน distros (และจริงๆแล้วไม่มี distros ที่ปิดใช้งาน NX) อย่างไรก็ตามการปิดใช้งานการบรรเทานั้นง่ายพอ ๆ กับการระบุพารามิเตอร์เคอร์เนล
forest

คำตอบ:


3

คุณสามารถปิดใช้งาน NX ทั่วโลกบน Linux ได้ด้วยการบูตด้วย noexec=off ใน บรรทัดคำสั่งเคอร์เนล :

noexec      [X86]
            On X86-32 available only on PAE configured kernels.
            noexec=on: enable non-executable mappings (default)
            noexec=off: disable non-executable mappings

noexec32    [X86-64]
            This affects only 32-bit executables.
            noexec32=on: enable non-executable mappings (default)
                read doesn't imply executable mappings
            noexec32=off: disable non-executable mappings
                read implies executable mappings

ฉันมีความรู้สึก personality(READ_IMPLIES_EXEC) ¹ อาจใช้ได้ แต่ฉันยังไม่ได้ทดสอบ
forest
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.