HTB cap wp
没啥渗透经验,开了个引导模式,HTB这一点是真不错
进kali,才发现kali自带zenmap,简单扫一下
端口21,22,80开放,分别对应服务ftp,ssh,http
将ip输入浏览器,得到一个web页面,点左上角下载安全快照,可以看到一个空的数据包5.pcap
尝试在url地址栏中换几个数字,发现数据包0的Number of Packs与其他三个不一样,疑似信息包
进来看一下能不能找到什么信息,因为ftp是明文传输
直接选择ftp,找到登录的用户名和密码,应该是一个ssh登录
ssh登录上来之后拿到第一个flag
这里有一个cve利用脚本,好奇查一下,另外一个脚本linenum.sh是比较流行的提权辅助工具(用于搜集信息
先看cve,简单说就是一个提权漏洞,https://github.blog/security/vulnerability-research/privilege-escalation-polkit-root-on-linux-with-bug/
可利用版本:
然后就陷入了蛋疼的一幕,执行里面的利用脚本固然可以提权,但是执行脚本需要下载软件包,这一步就需要权限
所以还是得回归正常提权
suid提权: SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主
寻找有suid权限的命令
发现挺多东西都可以用来提权,https://www.freebuf.com/articles/web/272617.htmlSUID
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;
当然这个靶机里有Linenum,用这个脚本直接找即可
接下来丢给ai看看哪些东西可以提权
高风险 SUID 文件(常见提权目标)
文件路径 | 说明 | 已知漏洞/风险 |
---|---|---|
/usr/bin/sudo | 超级用户权限管理工具 | 历史漏洞(如 CVE-2021-3156)可导致 root 权限提升 |
/usr/bin/su | 切换用户命令 | 若配置不当(如允许非特权用户切换 root) |
/usr/bin/passwd | 修改用户密码 | 通常安全,但若被篡改或存在逻辑漏洞可能被利用 |
/usr/bin/chsh / /usr/bin/chfn | 修改用户 shell 和信息 | 某些版本存在缓冲区溢出漏洞 |
/usr/bin/newgrp / /usr/bin/gpasswd | 管理用户组权限 | 组权限配置错误可能导致提权 |
/usr/bin/mount / /usr/bin/umount | 挂载/卸载文件系统 | 若允许挂载恶意设备(如 /dev/sda1 ) |
/usr/bin/pkexec | PolicyKit 授权工具 | CVE-2021-4034(PwnKit)可导致本地提权 |
/usr/lib/snapd/snap-confine | Snap 包管理工具 | 历史漏洞(如 CVE-2021-44731) |
/usr/lib/openssh/ssh-keysign | SSH 密钥签名工具 | 若配置错误可能被滥用 |
/usr/lib/dbus-1.0/dbus-daemon-launch-helper | D-Bus 服务启动助手 | 权限配置不当可能导致命令注入 |
发现
[+] Files with POSIX capabilities set:
/usr/bin/python3.8 = cap_setuid,cap_net_bind_service+eip
/usr/bin/ping = cap_net_raw+ep
/usr/bin/traceroute6.iputils = cap_net_raw+ep
/usr/bin/mtr-packet = cap_net_raw+ep
/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper = cap_net_bind_service,cap_net_admin+ep
就是说python可以直接设置用户id完成提权
打完后看了看别人的wp,发现其实可以用这个命令查看能力
getcap -r / 2>/dev/null
命令 getcap -r / 2>/dev/null 在 Linux 系统中用于递归查找文件系统中的文件,并显示其设置的 Linux 能力(Capabilities)。Linux Capabilities 是一种细粒度的权限控制机制,允许将 root 的特权拆分为更小的权限单元,分配给特定的进程或文件,而无需赋予完整的 root 权限。Capabilities 比传统的 SUID(Set UID)更安全,因为它们限制了进程的具体权限。