Web Developer靶机渗透

1. 渗透环境

系统环境:Kali Linux-2021、WebDeveloper靶机

靶机来源:https://www.vulnhub.com/entry/web-developer-1,288/

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

2. 靶机安装

image-20211226190258787

下载并解压,将.voa文件用vmware打开,然后开机即可,不需要登入。

image-20211226193350310

3. 渗透过程

1、扫描该网段存活主机

image-20211226114024814

发现靶机ip地址为192.168.52.70。

2、查看目标主机端口开放、服务情况,版本信息,

nmap -sV 192.168.52.70

image-20211226181158205

开放了20与80端口,提供ssh服务以及http服务,Ubuntu系统。

3、尝试利用浏览器访问目标网站。

image-20211226114117970

image-20211226184859875

image-20211226193150953

访问网站,发现该网站是用 WordPress 来搭的,并且存在登入界面。

4、探测目标网站使用的CMS模板信息

Whatweb

WhatWeb 是一个开源的网站指纹识别软件。

WhatWeb 可识别 Web 技术,包括内容管理系统(CMS),博客平台,统计/分析包,JavaScript 库,服务器和嵌入式设备。

简单使用:

whatweb + 目标ip

image-20211226114130237

发现的使用的CMS版本是是 **WordPress 4.9.8 **。

5、尝试弱口令漏洞

我们可以了解到这个版本的WordPress后台有一个默认的管理员账户,

账号:admin
密码:admin4wp498

我们尝试利用这个账户登入网站后台,

image-20211226192039052

登入失败,应该是已经被网站管理员修改了,此此路不通,换一个思路。

6、使用 Dirb 爆破网站目录

image-20211226114204265

发现一个可疑路径 /ipdata

7、浏览器访问可疑路径

image-20211226114215767

发现analyze.cap利用wireshark打开。

发现该路径下存在一个数据包 analyze.cap

8、利用Wireshark分析该数据包,分析TCP数据流

http.request.method==POST

image-20211226114232294

image-20211226114238573

进一步追踪 TCP流 ,获取后台登录账号密码

log:webdeveloper
pwd:Te5eQg&4sBS!Yr$)wf%(DcAd

9、利用BP修改登入报文进入网站后台

输入密码通过BP抓包,修改log和pwd的值,通过BP重发包进入网站后台

image-20211226114250881

成功访问到网站后台:

image-20211226114306986

10、寻找可用的漏洞点

可选方案1:10.1利用文件管理插件(File manager)漏洞

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

image-20211226114319298

直接查看网站配置文件

image-20211226114325923

获取数据库的账号密码

image-20211226114334143

可选方案2:10.2.利用reflex-gallery漏洞

1.在网站管理后台安装reflex-gallery插件:

image-20211226114343537

2.激活插件

image-20211226114351269

3.在kali里利用msf进行攻击

image-20211226114408491

5.查看wp.config.php配置文件里的数据库账号密码

image-20211226114416191

可选方案3:10.3上传反弹shell。

http://pentestmonkey.net/tools/web-shells/php-reverse-shell

【目的:PHP网站渗透;实现途径:上传网站后,URL访问(含有)该反弹shell的页面。

功能:该脚本会发起反弹TCP连接到攻击者(脚本中指定攻击者IP地址和端口号)。】

该CMS为PHP开发,可以利用其实现反弹shell。但必须修改初始化IP地址和端口。(指向攻击者)。

image-20211226114430933

进入后台,找到任意一个PHP页面,然后利用php-reverse-shell.PHP的代码修改该页面的代码。

image-20211226114440462

修改代码中反弹目标的IP地址及端口(修改为攻击者IP地址及开放的端口号)。

image-20211226114450387

攻击者在Kali中利用NC开始监听,攻击者浏览器访问修改的PHP页面。从而得到反弹shell(用户www-data)。建立会话后,查看wp-config.php获得账号及口令。(注意路径)

image-20211226114502631

11、SSH登录服务器

尝试利用上一步获得的访问数据库的用户名和密码连接远程服务器

用户名:webdeveloper
密码:MasterOfTheUniverse

image-20211226114516201

输入密码即可

image-20211226114526628

12、使用tcpdump执行任意命令

进入root文件夹,提示权限不足,查看当前身份可用的指令,发现可以以root权限执行 tcpdump 命令:

image-20211226183134931

利用原理:

当tcpdump捕获到数据包后会执行指定的命令。

tcpdump命令详解:

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

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

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

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

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

-W [num] 指定抓包数量

创建攻击文件

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 ,

image-20211226183647596

总结

本次渗透测试的基本思路:

一、信息收集:

网络扫描(Nmap);

网站目录枚举(Dirb);

网站信息收集(敏感文件分析);

二、已知漏洞利用:

漏洞插件利用;

利用漏洞获得服务器账号密码;

利用已知信息尝试登入ssh;

三、提权:

利用tcpdump提权

个人收获:

通过对目标靶机的渗透过程,我熟悉了网络扫描、探测HTTP web服务、目录枚举、提权、图像信息提取、密码破解等相关工具的使用,并对渗透测试流程有了一点初步认识。