网络渗透测试实验四报告
一、实验目的和要求
实验目的:通过对目标靶机的渗透过程,了解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地址。截图。
输入netdiscover -r 192.168.142.132/24
192.168.142.132为kali的IP。这里可以发现webdeveloper的IP为192.168.142.134
2.利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?
输入命令 nmap -sV 192.168.142.134
192.168.142.134为靶机IP
目标主机开放了80端口,开启了http服务;
目标主机开放了22端口,开启了ssh服务。
3.若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?
在火狐浏览器主机访问靶机IP192.168.142.134
发现cms内容管理系统是wordpress
此外还发现有搜索框,登录框
4.利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?
在最后看到wordpress[4.9.8],cms使用的模板是wordpress[4.9.8]
5.网络搜索wpscan,简要说明其功能。
WPScan是一个扫描?WordPress?漏洞的黑盒子扫描器,它可以为所有?Web?开发人员扫描?WordPress?漏洞并在他们开发前找到并解决问题。
该扫描器可以实现获取站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。
参考:??????Kali WPScan的使用(WordPress扫描工具)_wordpress利用awgs扫描-CSDN博客
6.使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。
输入命令dirb http://192.168.142.134
?
和网络流量有关的目录(路径)应该是http://192.168.142.134/ipdata/
尝试一下打开
7.浏览器访问该目录(路径),发现一个cap文件。截图。
打开是这样,发现analyze.cap文件
8.利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。
下载后用wireshark打开,因为前面访问192.168.142.134时发现该网站可以post传参登录
所以尝试http下的post搜索http.request.method == POST
这里看到了log:webdeveloper和pwd:Te5eQg&4sBS!Yr$)wf%(DcAd,尝试登录
9.利用上一步得到的信息进入网站后台。截图。
(网站管理员账号与操作系统账号是不同概念)
利用账号密码进入后台
10.利用该CMS存在的(插件Plugin)漏洞。
在plugin安装File?manager
点击plugins;在里面的搜索框搜索File?manager;点击install now;完成后点击active
11.利用该插件漏洞提权。
点击WP File Manager
找到wp-config.php并且打开
找到账号webdeveloper密码MasterOfTheUniverse
12.SSH登录服务器
尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器。截图。
输入命令ssh webdeveloper@192.168.142.134
并按指令输入密码,即可远程控制
13.尝试查看/root/flag.txt
先直接尝试 cat /root/flag.txt
不行再尝试whoami
然后再ls -l /root/flag.txt
不行再试sudo cat /root/flag.txt
这里的以上结果均是无法查看。
14.使用tcpdump执行任意命令(当tcpdump捕获到数据包后会执行指定的命令。)
查看当前身份可执行的命令。
输入命令sudo -l 并输入密码,查看当前身份可执行的命令
发现可以root权限执行tcpdump命令
创建攻击文件
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:cba045a5a4f26f1cd8d7be9a5c2b1b34f6c5d290
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量
三、实验小结
以虚拟机为攻击目标时,首先要确定它的存活情况,并且确定它的IP,存活扫描可以用netdiscover扫描,此外还有arp-scan 也可以;
然后利用扫描工具nmap知道靶机的端口开放情况,也要查看靶机存在哪些漏洞,看看由哪里为切入点进行攻击;
确定从哪个端口或漏洞切入后,找到有关的攻击信息;
利用工具对有用的信息进行切入,获取账号密码,进入靶机中;
在靶机中,利用可执行命令对靶机进行执行自己的命令,从而找到并获取自己需要的flag。
如本次靶机http服务网站存在漏洞,插件利用(有漏洞),对网站目录枚举找到存在账号密码的流量包,在里面寻找到可以登录的账号密码,然后远程连接登录敌方主机,寻找自己要找的flag,遇到权限问题时,查看当前身份可执行的命令,并利用可执行命令获得flag。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!