1. 实验目的
通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
系统环境:Kali Linux 2、WebDeveloper靶机来源:https://www.vulnhub.com/
实验工具:不限
2. 实验内容、原理
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
3. 实验过程
1、发现目标 (netdiscover),找到WebDeveloper的IP地址。
2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?
由上图可知,开启了22和80端口
端口22开启,22端口是ssh服务,端口22可以实现远程连接
端口80开启,80端口是HTTP服务,80是为http协议开放的
3、若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。
由图片下方可知:
该网站是用一个wordpress模板
4、利用whatweb探测目标网站使用的CMS模板。
CMS是wordpress
5、网络搜索wpscan,简要说明其功能。
6、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
5、浏览器访问该目录(路径),发现一个cap文件。
7、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?
7、利用上一步得到的信息进入网站后台。
8、利用该CMS存在的(插件Plugin)漏洞。
方案一:上传反弹shell
php-reverse-shell | pentestmonkey
【目的:PHP网站渗透;实现途径:上传网站后,URL访问(含有)该反弹shell的页面。
功能:该脚本会发起反弹TCP连接到攻击者(脚本中指定攻击者IP地址和端口号)。】
该CMS为PHP开发,可以利用其实现反弹shell。但必须修改初始化IP地址和端口。(指向攻击者)。
进入后台,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码。
修改代码中反弹目标的IP地址及端口(修改为攻击者IP地址及开放的端口号)。
攻击者在Kali中利用NC开始监听,攻击者浏览器访问修改的PHP页面。从而得到反弹shell
这表明监听成功
命令:
cd var/www/html(进入文件)
cat wp-config.php
这样即可查看如下图所示
方案二:利用文件管理插件(File manager)漏洞。
安装该插件,直接可以浏览wp-config.php
9、SSH登录服务器
ssh 用户名@IP
当直接查看时,无法查看,没有权限。
11. 使用tcpdump执行任意命令(当tcpdump捕获到数据包后会执行指定的命令。)
查看当前身份可执行的命令。
4. 实验小结
通过本次实验,我基本了解了CTF的目的和怎样得到flag的方法,并且初步使用这些工具,了解到了这些工具的使用方法。面对一些比较困扰我的问题,我积极的问老师同学,以及上网搜寻解决方案,最后还是比较顺利地完成了此次实验,获得了较大的收获。