一、实验目的和要求
实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
系统环境:Kali Linux 2、WebDeveloper靶机来源:https://www.vulnhub.com/
实验工具:不限
二、实验步骤
实验步骤和内容:
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
反弹shell
发现目标 (netdiscover),找到WebDeveloper的IP地址。截图
![](https://i-blog.csdnimg.cn/blog_migrate/cc0796bf4f1a1ae0b47f2c6a6eeac211.png)
2.利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)
答:端口22开启,22端口是ssh服务,可以实现远程连接
端口80开启,80端口是HTTP服务,80是为http协议开放的
![](https://i-blog.csdnimg.cn/blog_migrate/b52a1720b8100ba4eb70e06f20217a15.png)
3.若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
答:可以看到Log in,有登录入口
![](https://i-blog.csdnimg.cn/blog_migrate/d037523e4c365bf0dd178934eed0e9dc.png)
4.利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
答:可以看到用的是WordPress模板,版本是4.9.8
![](https://i-blog.csdnimg.cn/blog_migrate/35bb14c0b3c0be7ead7b75633e56185d.png)
5.网络搜索wpscan,简要说明其功能
答:1.WPScan是一个扫描 WordPress 漏洞的黑盒子扫描器,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。
6.使用 Dirb 爆破网站目录
(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
答:可以看到ipdata目录,似乎和网络流量有关。
![](https://i-blog.csdnimg.cn/blog_migrate/4e2952b1bc44123f0e8ecbfbd934a489.png)
7.浏览器访问该目录(路径),发现一个cap文件。截图
![](https://i-blog.csdnimg.cn/blog_migrate/b43cdaa10ea3672b8f66b0ce7c82cbff.png)
8.利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图
答:可以看到有账号和密码,很可能是登录网站后台的。
![](https://i-blog.csdnimg.cn/blog_migrate/648fed3414b9b469986ac6758067ad69.png)
9.利用上一步得到的信息进入网站后台。截图
![](https://i-blog.csdnimg.cn/blog_migrate/6a8d8fca0bb84847de1a86bf042dcca4.png)
10.利用上传反弹shell提权
目的:PHP网站渗透;实现途径:上传网站后,URL访问(含有)该反弹shell的页面。
功能:该脚本会发起反弹TCP连接到攻击者(脚本中指定攻击者IP地址和端口号)。
该CMS为PHP开发,可以利用其实现反弹shell。但必须修改初始化IP地址和端口。(指向攻击者)。
11.进入后台,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码,同时配置IP地址和端口
![](https://i-blog.csdnimg.cn/blog_migrate/eebf48f366d515e8816d9c39b34171e1.png)
12.攻击者在Kali中利用NC开始监听,攻击者浏览器访问修改的PHP页面。从而得到反弹shell(用户www-data)。
![](https://i-blog.csdnimg.cn/blog_migrate/1c9de0d999760c62a8defe6050449eaa.png)
13.建立会话后,查看wp-config.php获得账号及口令。
![](https://i-blog.csdnimg.cn/blog_migrate/8d105eb9bb0f39baec7da12c073e68e2.png)
SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。
1.尝试查看/root/flag.txt
可以看到没有权限,两种方式均无法查看
![](https://i-blog.csdnimg.cn/blog_migrate/a6f7784f8c470af7b85dd79c422f9549.png)
2.使用tcpdump执行任意命令
(当tcpdump捕获到数据包后会执行指定的命令。)
查看当前身份可执行的命令。
![](https://i-blog.csdnimg.cn/blog_migrate/9d41f378e4dbe0b6ac8a49e18d1ffad0.png)
3.发现可以root权限执行tcpdump命令
于是创建攻击文件,写入shellcode,赋予可执行权限,利用tcpdump执行任意命令,查看flag
![](https://i-blog.csdnimg.cn/blog_migrate/d22cbaf20c36fd7023342c41d0415db5.png)
三、实验小结
总结实验思路如下:
首先利用NMAP,扫描同一网段的所有主机,然后发现各个主机的操作系统、端口开放、服务情况,根据这些信息找到目标主机,并根据该主机操作系统、端口开放、服务情况来组织攻击。
本次实验靶机开启了22端口和80端口,22端口是ssh服务,可以实现远程连接,80端口是HTTP服务,80是为http协议开放的。针对其80端口,尝试利用浏览器访问目标网站,访问成功,从目标网站中获取了进一步渗透所需要的信息,比如登录入口等。然后利用whatweb探测目标网站使用的CMS模板,尝试是否可以通过利用该模板的漏洞,还可以利用wpscan,进一步发现更多可能存在的网站漏洞。
发现相关漏洞后,使用 Dirb 爆破网站目录,以此进一步收集必要信息,找到关键目录后,例如ipdata,访问该目录,发现有cap文件,将他下载并作进一步分析,得到了一个账号和密码,很可能是登录网站后台的,经过尝试成功进入网站后台。
进入网站后台后,利用wordpass可以直接修改页面代码的功能,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码,同时配置IP地址和端口。在Kali中利用NC开始监听,攻击者浏览器访问修改的PHP页面,从而得到反弹shell,建立会话后,查看敏感文件,比如查看wp-config.php,获得账号及口令。
然后尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器,连接成功,但是发现权限不足,经过尝试发现可以使用tcpdump命令,通过tcpdump来执行任意命令,比如查看原来由于权限不足无法查看的文件,来达到目的。