网络渗透测试_4_CTF实践
以下内容为课堂实验记录。
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另类应用。
实施细节如下:
1、发现目标 (netdiscover),找到WebDeveloper的IP地址。截图。
使用netdiscover,扫描到WebDeceloper的IP为192.168.200.130。
2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)
经扫描,目标主机的22端口和80端口是开放的,22端口提供的是SSH服务,其作用是为远程登陆会话和其他网络服务提供安全协议。80端口提供的是HTTP服务,即超文本传输协议。
3、若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
在该网站中,可以发现这个网站是使用了wordpress搭建的。
4、利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
使用whatweb可以扫描目标网站的一些信息,使用whatweb -v <target>可以详细显示扫描的内容,可以看到该网站使用的CMD是WordPress。
5、网络搜索wpscan,简要说明其功能。
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。
6、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
使用dirb爆破网站目录,发现ipdata这个目录可能是所需要找的目录。
7、浏览器访问该目录(路径),发现一个cap文件。截图。
8、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。
由于该数据包存放的是网站流量相关内容,而POST和GET这两个都属于HTTP请求行里的请求方式,一般发送账号密码等表单数据时,使用的是POST请求。
使用http.request.method == POST,进行过滤,只剩下两个数据。
可以看到有一个登录的请求,查看详细内容后找到了疑似账户密码的内容。
9、利用上一步得到的信息进入网站后台。截图。
在使用上一步后获得的账号密码尝试登录网站后台后,成功登录。
10、利用该CMS存在的(插件Plugin)漏洞。
11、利用该插件漏洞提权。
利用文件管理插件(File manager)漏洞。
安装该插件,直接可以浏览wp-config.php。
12、SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。截图。
13、尝试查看/root/flag.txt
尝试多条命令,均无法查看。
14、使用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] 指定抓包数量