DC-6
January 6, 2024 12:06 PM
Tags: nmap提权,WordPress
Owner:只惠摸鱼
信息收集
-
apr-scan和nmap探测主机后,发现靶机ip:192.168.199.136,端口22和80开放
-
扫描端口服务、版本、操作系统、默认脚本扫描
-
扫描开放端口的常见漏洞
-
访问80端口,发现不能访问,重定向到wordy
-
修改本地HOSTS文件(kali中的也别忘了,/etc/hosts)
-
重新访问80端口,正常访问,是一个WordPress系统,翻看页面,没有太多有用的信息,在About Us页面有一个Jens是PHP开发者,可能后续有用(在扫描常见漏洞那块也看到了Jens的一个用户名)
-
使用浏览器插件Wappalyzer进行指纹识别,发现WordPress是5.1.1版本
-
扫一下目录,发现在install.php中点击Log In 有一个管理员登陆页面
-
进入登录页面
-
手动尝试了一些弱密码,没有成功
-
看一下忘记密码页面,发现host不允许,并且是发送邮件,不太行。
-
回到登陆页面,尝试万能密码也不行。
-
使用专门针对WordPress 的工具:WPScan,先爆一下用户名
- wpscan --url http://wordy -e u
-
把用户名保存在一个txt中,使用kali自带的密码字典,爆一下用户及其对应的密码。
-
dc-6官网描述有给所要用的密码字典,从rockyou.txt(非常大)字典中提取相关的密码字典,那就直接用这个爆破吧
-
wpscan --url http://wordy -U users.txt -P password.txt (password是根据作者提示提取后的密码字典)
-
-
漏洞利用
-
获得用户mark的账号密码,登录后台。
-
查看一下,没有可以上传马的地方。发现下面有一个插件,Activity Monitor,百度了一下他的漏洞,发现在tool模块可以进行远程执行命令(WordPress Activity Monitor插件远程命令执行漏洞)
-
BP抓包,修改红框中的内容,尝试执行命令。
-
单纯执行命令不可行,试一下加|符号执行命令,发现可以执行。
-
尝试执行反弹shell,kali监听。
-
成功拿到shell,转换成交互性shell。
提权
-
www-data权限比较低,找一下其他用户吧,进入/home,查看各个用户文件
-
在mark用户文件夹下找到一个stuff文件夹,里面有一些可用信息,应该是graham的密码
-
试一下切换用户,成功进入graham用户。
-
查一下SUID文件和sudo无需密码的文件,发现只有一个backups.sh可用
-
查看一下文件,只是一个解压命令。
-
写入/bin/bash到此文件,使用jens用户进行sudo执行,切换到了jens用户
-
查看一下jens用户的SUID文件和sudo 无需密码的文件,发现有nmap可用,可用进行nmap提权。
-
写入命令到.nse脚本文件。
-
使用sudo 运行nmap执行脚本文件
-
拿到root权限,转换为交互性shell读取flag。
nmap提权
第一种,nmap版本较老,SUID文件中有nmap
- 查询可以用suid
- find / -perm -u=s -type f 2>/dev/null
- nmap老版本支持“interactive.”选项,用户能够通过该选项执行shell命令
- nmap --interactive
- 得到交互式shell
- 之后输入!sh 或者!bash,提权成功
第二种,sudo -l 无需密码的文件中有nmap
- 创建脚本文件,输入提权脚本内容
- echo “os.execute(‘/bin/sh’)”>demo.nse或echo “os.execute(‘/bin/sh’)”>>demo.nse
- demo可以为任意文件名
- echo “os.execute(‘/bin/sh’)”>demo.nse或echo “os.execute(‘/bin/sh’)”>>demo.nse
- 使用root权限 nmap 执行脚本,提权成功
- sudo nmap --script=demo.nse
- 脚本文件路径和所写的文件位置和名称对应。
- sudo nmap --script=demo.nse