网络渗透测试实验四报告

2023-12-27 14:22:17

一、实验目的和要求

实验目的:通过对目标靶机的渗透过程,了解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。

文章来源:https://blog.csdn.net/m0_74300881/article/details/135229993
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。