• Stars
    star
    546
  • Rank 81,375 (Top 2 %)
  • Language
    C
  • Created about 8 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a series tutorial for linux exploit development to newbie.

Linux exploit 开发入门

这是什么?

这是面向新手的 Linux exploit 开发指南。

发现 Linux 下二进制学习曲线陡峭,而套路零散,于是整理编著这篇文章,来帮助感兴趣的人学习,还想结识更多对 Linux 二进制感兴趣的人。

万事开头难,首先要感谢本文原来的的作者 sploitfun,他开始做了这件事并写出了思路,我在他的基础上进行了补充和翻译。

还要要感谢 phrack,乌云知识库,各种 wiki 上面文章的作者,这些作者和安全研究人员讲解了很多关于 exploit 相关技术,是大家的无私分享使很多东西变的可能,我也想学习这样的分享精神。

为了防止文档过于臃肿,我们讲分享讨论的话题尽量限制在 Linux, x86, ipv4 范围内,我们假设读者能正常使用 Linux,熟悉 C 语言,了解汇编语言,认识计算机专业词汇,基本体系结构知识(栈,堆,内存之类的)。如果不能因为知识储备不够,推荐 0day 安全以补充背景知识。

测试机器是 Ubuntu 14.04 的默认安装。

目录

第一章节: 基础知识

基础部分知识比如: 栈与堆分别是什么? C 语言如何转换成汇编? 内存布局是什么样的? ...

基础的安全知识如: 什么是堆栈溢出? 堆分配器是如何工作的? ...

这个阶段还要介绍基本的漏洞类型和安全机制,然后关闭全部的安全保护机制,学习如何在 Linux 下面编写最基本的 exploit。

第二章节: 栈的安全

主要关注在现代 Linux 上栈的安全防护机制及其绕过的常规套路.

分为两大类:编译相关(ELF 加固),部分编译选项控制着生成更安全的代码(损失部分性能或者空间),还有就说运行时的安全(ASLR),都是为增加了漏洞利用的难度,不能从本质上去除软件的漏洞。

第三章节: 堆的安全

主要关注在现代 Linux 上 glibc 下堆的安全防护机制及其绕过的常规套路。

第四章节: 内核的安全

这个阶段学习现代 Linux (2.6.32)及其以后版本 Kernel 安全相关的文档(安全保护,利用)。

在早期 Kernel 可以随意访问用户态代码, ret2usr 技术可以让内核执行用户态的代码,不过随着 Linux 的发展 SMAP(禁止 Kernel 随意访问用户态,RFLAGE.AC 标志位置位可以),SMEP 禁止 Kernel 态直接执行用户态代码,KASLR 也提升了漏洞利用的难度。

第五章节: 漏洞发现

漏洞挖掘的重要性不言而喻,打个比喻上面写的如何吃肉,漏洞挖掘就是肉在哪里。

这个章节对我来说目前也是一个新领域,在这个章节里面主要关注 fuzz 与代码审计。

如何修改和更新?

git clone [email protected]:hardenedlinux/linux_exploit_development_tutorial.git
cd linux_exploit_development_tutorial
make # preview

如何实践文档代码?

(WIP)

源代码会陆续放到lab-code目录中,其实更倾向于提供一个虚拟机镜像供下载。 ...

版权

这个项目是以 知识共享署名-相同方式共享 3.0 许可协议授权。

More Repositories

1

grsecurity-101-tutorials

C
340
star
2

harbian-audit

Hardened Debian GNU/Linux distro auditing
Shell
331
star
3

Debian-GNU-Linux-Profiles

Debian GNU/Linux based Services Profiles
Shell
230
star
4

cheap-pcb

Cheap PCB: Better understanding the current status of hardware supply chain
167
star
5

firmware-anatomy

Tear the firmware apart with your bare hands;-)
Assembly
162
star
6

STIG-4-Debian

Security Technical Implementation Guide for Debian
Shell
142
star
7

offensive_poc

Writing PoC for fun and educate people take security seriously;-)
C
139
star
8

harbian-qa

Bug hunting through fuzzer/*-sanitizer/etc...
Roff
127
star
9

embedded-iot_profile

embedded-iot_profile
86
star
10

hardenedlinux_profiles

It contains hardenedlinux community documentation.
Verilog
58
star
11

hardenedlinux-zeek-scripts

Zeek
38
star
12

armv7-nexus7-grsec

Hardened PoC: PaX for Android
38
star
13

hardenedlinux.github.io

hardenedlinux.org website
HTML
30
star
14

grsecurity-reproducible-build

Some scripts to create a reproducible build for grsecurity
Shell
29
star
15

hardenedlinux_translations

21
star
16

TraditionalMitigation

Traditional Mitigation in GCC to defend Memory Corruption Vulnerability
C
17
star
17

RAP-optimizations

This rap optimizations and hl_cfi have be merged in hardenedlinux/linux-unofficial_grsec
C
16
star
18

coreboot4HiFive1

coreboot for HiFive1
C
12
star
19

security-chain

This is not the cyber you ever expected....did I just say cyyyberrrr....
11
star
20

nixpkgs-hardenedlinux

Nix
10
star
21

zeek2nix

An operator which calls zeek to nix-ecosystem simply.
Nix
9
star
22

Infosec-data-science

8
star
23

platform-resiliency-docs

Infrastructure Platform Resilency Technical Guidleline
8
star
24

HardenedNixOS

Hardened NixOS with feature of Grescurity and aggressive security settings
Nix
8
star
25

Hardenedlinux_design

Hardenedlinux design.
7
star
26

debian-nix-manager

Using nix(DevOps) to deploy Network Security Monitoring System on Debian
Nix
5
star
27

elfix-deb

elfix for Debian package
Shell
5
star
28

debrepo

A Debian repository includes necessary packages for HardenedLinux. Of HardenedLinux, by HardenedLinux, for HardenedLinux.
5
star
29

pax-bites

A small tool provides add/delete/view the binary of PaX flags
Shell
3
star
30

hardened_argus

Hardened Argus
Go
2
star
31

io386

C
2
star
32

tpm_pcrtool

a command line tool to operate PCRs with a TPM
C
2
star
33

hardenedlinux-jupyter-lab

Nix
1
star
34

harbian-pack

Package building system of Harbian.
Shell
1
star
35

STIG-OS-mirror

STIGs Document Library of OS mirror
1
star
36

LLVMIncTrans

A tool change LLVM .inc file to c code that can accommodate for mainly Capstone source.
C++
1
star
37

flake-registry

1
star
38

hardenedlinux-osquery-scripts

hardenedlinux-osquery-script
1
star