php代码审计学习
c157c9744e0298d00173c08a9dbffe0ed073a56f7e3a628a68d0b68815ec97a66467105b17475fb1bff487cc71215a49c7d7c2be7a706ed61cc414a8ace3205822280547a6af483989470f7424c44c71cc8a387be2fa173cdba284af8886b630246badf7f5e1529c0a08535e15c41b0ac4eb219196271c3be85940485aab3b26d07f2ee0d9341fbc27752f5175cbdeeaeea8f994c86a886fa5573e999378c966d2b0ec4a1c69897b10e6e2f1c9c90ad81871d60af40db84c1d58ab07f71bd07989392a3f55bf51eab04b549b26589702b1d46dd129f25043aaa0d8cdf0886f51af5a9fdcef8dbd6571afebefd6fce30cbd89889a8c64859a0 ...
Mimikatz
Mimikatz 是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从 lsass.exe 进程中获取当前登录系统用户名的密码, lsass是微软Windows系统的安全机制它主要用于本地安全和登陆策略,通常我们在登陆系统时输入密码之后,密码便会储存在 lsass内存中,经过其 wdigest 和 tspkg 两个模块调用后,对其使用可逆的算法进行加密并存储在内存之中, 而 mimikatz 正是通过对lsass逆算获取到明文密码!也就是说只要你不重启电脑,就可以通过他获取到登陆密码,只限当前登陆系统。GitHub地址
提升权限1privilege::debug
mimikatz 很多功能的使用需要管理员权限,也就是需要本地的 administrator 权限或者域内的管理员组内权限。如果是工作组环境,则必须得是 administrator 用户,而不能是管理员组内的用户。如果是域环境,则只要是域管理员组内用户即可。
命令提示输入[错误的模块名]::得到模块列表
输入[正确的模块名]::得到模块对应参数
命令
描述
...
CVE-2017-16995
CVE-2017-16995最初是由Google project zero披露,并公开了相关poc,在2017年12月23日,Bruce Leidl公布了提权代码。在2018年3月中旬,Vitaly Nikolenko在推特上发布消息说Ubuntu 16.04存在高危漏洞,可以进行本地提权,同时公布了exp。整个过程仅利用精心构造的数据就可以劫持控制流,是属于Data-Oriented Attacks在Linux kernel上的一个典型应用。
漏洞分析https://x3h1n.github.io/2020/03/07/CVE-2017-16995%E5%A4%8D%E7%8E%B0/
影响范围Ubuntu 16.04.1~Ubuntu 16.04.4均存在此漏洞;
仅影响 Ubuntu/Debian发行版本。
内核影响版本:Linux Kernel Version 4.14 ~ 4.4
测试:4.4.0-81-generic
EXPhttp://cyseclabs.com/exploits/upstream44.c
漏洞复现
修复方法一:通过修改内核参数限制普通用户使用bpf(2 ...
CVE-2018-1000001
libc是Linux下的ANSI C的函数库。ANSI C是基本的C语言函数库,包含了C语言最基本的库函数。
glibc 2.26版本及之前版本中的Realpath函数存在缓冲区下溢漏洞(CVE-2018-1000001)。GNU C库没有正确处理getcwd()系统调用返回的相对路径,并且没有对缓冲区边界进行检查,造成glibc缓冲区下溢漏洞。
漏洞分析该漏洞涉及到 Linux 内核的 getcwd 系统调用和 glibc 的 realpath() 函数,可以实现本地提权。漏洞产生的原因是 getcwd 系统调用在 Linux-2.6.36 版本发生的一些变化,我们知道 getcwd 用于返回当前工作目录的绝对路径,但如果当前目录不属于当前进程的根目录,即从当前根目录不能访问到该目录,如该进程使用 chroot() 设置了一个新的文件系统根目录,但没有将当前目录的根目录替换成新目录的时候,getcwd 会在返回的路径前加上 (unreachable)。通过改变当前目录到另一个挂载的用户空间,普通用户也可以完成这样的操作。然后返回的这个非绝对地址的字符串会在 realpath() 函数 ...
CVE-2018-18955
CVE-2018-18955 漏洞涉及到 User 命名空间中的嵌套用户命名空间,用户命名空间中针对 uid(用户ID)和 gid(用户组ID)的 ID 映射机制保证了进程拥有的权限不会逾越其父命名空间的范畴。该漏洞利用创建用户命名空间的子命名空间时损坏的 ID 映射实现提权。
漏洞分析https://www.freebuf.com/vuls/197122.html
https://www.cnblogs.com/likaiming/p/10816529.html
影响范围Linux kernel 4.15.x through 4.19.x before 4.19.2
4.19.2 之前的 Linux 内核 4.15.x 到 4.19.x 中
exphttps://github.com/bcoles/kernel-exploits/tree/master/CVE-2018-18955
https://github.com/SecWiki/linux-kernel-exploits/tree/master/2018/CVE-2018-18955
漏洞复现安装uidmap1sudo apt ...
CVE-2019-13272
在5.1.17之前的Linux内核中,kernel / ptrace.c中的ptrace_link错误地处理了想要创建ptrace关系的进程的凭据记录,这允许本地用户通过利用父子的某些方案来获取root访问权限 进程关系,父进程删除权限并调用execve可能允许攻击者控制
漏洞分析Linux执行PTRACE_TRACEME函数时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_cred函数,但是,对象struct cred的生存周期规则不允许无条件的将RCU引用转换为稳定引用。PTRACE_TRACEME获取父进程的凭证,使其能够像父进程一样执行父进程能够执行的各种操作,如果恶意低权限子进程使用PTRACE_TRACEME并且该子进程的父进程具有高权限,子进程可获取其父进程的控制权并且使用其父进程的权限调用execve函数创建一个新的高权限进程。
注:该漏洞利用前提:需要目标服务器有桌面环境
影响范围内核<5.1.17
12345678910111213141516171819202122232425262728// - Ubuntu 16.04 ...