Fork me on github

渗透测试--实验四

实验四 CTF实践

 

 

实验步骤和内容:

目的:获取靶机Web Developer 文件/root/flag.txt中flag。

基本思路:本网段IP地址存活扫描(netdiscover);网络扫描(Nmap);浏览HTTP 服务;网站目录枚举(Dirb);发现数据包文件 “cap”;分析 “cap” 文件,找到网站管理后台账号密码;插件利用(有漏洞);利用漏洞获得服务器账号密码;SSH 远程登录服务器;tcpdump另类应用。

实施细节如下:

1、发现目标 (netdiscover),找到WebDeveloper的IP地址。截图。

 命令:

arp-scan -l

 

 

 

2、:利用NMAP扫描目标主机,发现目标主机端口开放、服务情况,截图并说明目标提供的服务有哪些?(利用第一次实验知识点)

 命令:

nmap 192.168.152.136

 

 

 开启了ssh和http服务

 

3、若目标主机提供了HTTP服务,尝试利用浏览器访问目标网站。截图。是否有可用信息?

 

 

 

 

 4、利用whatweb探测目标网站使用的CMS模板。截图。分析使用的CMS是什么?

WordPress[4.9.8]

命令:

whatweb http://192.168.152.136/index.php/2018/10/30/hello-world/

 

 

 

 

3、网络搜索wpscan,简要说明其功能。

 

Wpscan是专门检查Wordpress网站漏洞的工具,它可以全面检查wp网站的漏洞,有助于我们增加网站安全防护。该扫描器可以实现获取Wordpress站点用户名,获取安装的所有插件、主题,以及存在漏洞的插件、主题,并提供漏洞信息。同时还可以实现对未加防护的Wordpress站点暴力破解用户名密码

 

4、使用 Dirb 爆破网站目录。(Dirb 是一个专门用于爆破目录的工具,在 Kali 中默认已经安装,类似工具还有国外的patator,dirsearch,DirBuster, 国内的御剑)截图。找到一个似乎和网络流量有关的目录(路径)。

命令:

dirb  http://192.168.152.136/  

 

 

 

 不懂怎么看是否和流量有关,一个个尝试,直到这个url 

 

 

5、浏览器访问该目录(路径),发现一个cap文件。截图。

 

 

7、利用Wireshark分析该数据包,分析TCP数据流。找到什么有用的信息?截图。

根据实验二的知识,分析数据包,应该要找到用户名和密码

用http.request.method==POST过滤出POST发送的数据,一般登录都是以POST方法传递数据。

 

 

8、利用上一步得到的信息进入网站后台。截图。


  

 

 

 

 

9、利用该CMS存在的(插件Plugin)漏洞。

 

 

10、利用该插件漏洞提权。

 方案一:没做出

 

方案二: 上传反弹shell

下载一个这个脚本,要去kali的浏览器下载,在Windows的浏览器下载,没有安装安全软件,自带的都能杀了这个文件。

 

 

 

 下载完成后解压,然后复制里面的shell.php文件,然后进入后台,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码。

 

 

 然后点击左下角的Upload file。

打开终端,利用NC开始监听

 命令:

nc -lvp 4444(端口)

 

 然后访问刚刚修改的网页

 

 再看终端,发现连接成功

 

 查看config文件,命令:

cat /var/www/html/wp-config.php

 

 发现了系统的账号密码。

 

方案三:利用文件管理插件(File manager)漏洞。

安装该插件,直接可以浏览wp-config.php。

 

 

 

 

 

 

10、SSH登录服务器

命令:

ssh webdeveloper@192.168.152.136

 

 

1、尝试查看/root/flag.txt

 

 均无法查看。

11、使用tcpdump执行任意命令(当tcpdump捕获到数据包后会执行指定的命令。)

查看当前身份可执行的命令。

 

 

发现可以root权限执行tcpdump命令

touch /tmp/exploit                        //创建攻击文件
echo 'cat /root/flag.txt' > /tmp/exploit  //写入shellcode
chmod +x /tmp/exploit                     //赋予可执行文件

 

 

 

获得flag

tcpdump命令详解:

-i eth0 从指定网卡捕获数据包

-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)

-z [command] 运行指定的命令

-Z [user] 指定用户执行命令

-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储

-W [num] 指定抓包数量

 

 

 

 

 

 

 

posted @ 2021-07-21 12:23  北孤清茶。  阅读(229)  评论(0编辑  收藏  举报