文章目录
- 实验目的
- 实验步骤
- 总结
一、实验目的
- 实验目的和要求:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信提取、密码破解等相关工具的使用。系统环境:Kai Linux 2、WebDeveoper靶机来源:https://www.vunhub.com/ 实验工具:不限
二、实验步骤
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
实施细节如下:
- 发现目标 (netdiscover),找到WebDeveloper的IP地址。截图。
使用命令netdiscover 得到如下四个ip 然后一个一个去试了,发现192.168.179.135是所需的。
2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)
使用命令nmap -sV 192.168.179.0/24得到如下
可以看到它开放了22、80端口。
22端口即ssh应用端口,ssh用于远程连接linux云服务器。
80端口是http服务。
3若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
可以看到wordpress wordpress是一个搭建网站的工具。
4、利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
CMS是content managerment system即内容管理系统。
5、网络搜索wpscan,简要说明其功能。
Wpscan 是一个wordpress漏洞的黑盒子扫描器,它可以为所有web开发人员扫描wordpress 漏洞并且在他们开发前找到并且解决问题。
6、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
使用命令dirb http;//192.168.179.135
5、浏览器访问该目录(路径),发现一个cap文件。截图。
6、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。
用wireshark打开并且过滤http.request.method==POST
发现一个账号密码
7、利用上一步得到的信息进入网站后台。截图。
8、利用该CMS存在的(插件Plugin)漏洞。
使用fileManager插件
9:利用该插件漏洞提权
点击左侧的filemanager 并且找到wp-config.php并且打开此文件即可发现数据库的账号和密码。
10、SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。截图。
1、尝试查看/root/flag.txt
均无法查看。
10、使用tcpdump执行任意命令(当tcpdump捕获到数据包后会执行指定的命令。)
查看当前身份可执行的命令。
发现可以root权限执行tcpdump命令
创建攻击文件
写入shellcode
赋予可执行权限
利用tcpdump执行任意命令
获得flag
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量
总结
在本次实验中首先利用netdiscover 获得了一系列ip,然后尝试着用浏览器去访问,找到了webDeveloper的ip。使用namp 加webDeveloper的ip去查看它开放了哪些端口。紧接着去访问这个网站,发现了wordpress ,这是一个搭建网站模板工具。在kali中使用whatweb 去查看该网站的内容管理系统,然后在kali中使用dirb去爆破该网站的目录,找到了一个ipdata的目录,访问它发现了一个.cap文件。.cap文件扩展名主要代表wireshark数据包捕获,所以用wireshark将其打开,并且过滤发现了一个登录账号密码,用这个账号密码去登录网站。然后使用filemanager 插件找到wp-config-data的文件打开它,发现里面存有数据库的账号和密码。其开启了22端口所以ssh远程连接它。连接上后开始去访问flag.txt 发现访问不了,但是可以用root权限执行tcpdump命令,创建攻击文件,写入shellcode,赋予可执行权限,使用tcpdump执行任意命令即可得到flag。虽然得到了flag,但是对于这一整个流程的前因后果还是不熟悉的,所以还需要理解每一个步骤的前因后果,将每一个能够较好的串联起来。