实验目的:通过对目标靶机的渗透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
系统环境:Kali Linux 2、WebDeveloper靶机来源:Vulnerable By Design ~ VulnHub
实验工具:不限
实验步骤和内容:
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
实施细节如下:
1、发现目标 (netdiscover),找到WebDeveloper的IP地址。截图。
2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)
22端口开启了ssh服务
80端口开启了http服务
3、若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
发现了是worepress搭建的网站
4、利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
识别出使用的CMS为wordpress
5、网络搜索wpscan,简要说明其功能。
WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞、插件漏洞和主题漏洞。
6、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
7、浏览器访问该目录(路径),发现一个cap文件。截图。
8、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。
找到后台登录的账号密码 http.request.method==POST
得到登录后台的账号密码:
Login:webdeveloper
Password: Te5eQg&4sBS!Yr$)wf%(DcAd
9、利用上一步得到的信息进入网站后台。截图。
利用上一步得到的账号密码直接登陆网站后台
登录成功
10、利用该CMS存在的(插件Plugin)漏洞。
下载安装激活插件file manager
在WP file manager里面找到wp-config.php
打开wp-config.php查看访问数据库和远程连接服务器的账号密码
10、SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器
ssh webdeveloper@(ip地址)
尝试查看/root/flag.txt
可以发现我们无权限访问flag.txt
使用tcpdump执行任意命令
输入命令 sudo -l
发现可以root权限执行tcpdump命令:
用于创建攻击文件 :touch /tmp/exploit
写入shellcode:echo “cat /root/flag.txt” > /tmp/exploit
赋予可执行权限:chmod +x /tmp/exploit
利用tcpdump执行任意命令:sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root
实验小结
- 牢记渗透测试的本质是信息收集,而信息收集又包括很多方面:
- 通过扫描发现目标主机,根据主机开放的80端口找到其网页。
- 通过Kali的命令Dirb 爆破网站目录找到cap文件和怎么通过Wireshark、Burp sure分析 “cap” 文件,找到网站管理后台账号密码。
- 子域名扫描或者说对子域名进行爆破,把他们进行批量框架识别,挑软柿子下手。像一些基础靶机直接用nmap扫描得到ip就行了。
- 找到要进行渗透的目标之后,使用nmap或者黑暗引擎进行端口扫描、服务扫描。识别出服务版本,对易受攻击的服务尝试漏洞攻击。