2021-9-3
通过ip获取root权限
漏洞靶机下载
提供靶机的镜像平台链接
https://www.vulnhub.com/
该平台有非常多的漏洞靶机镜像
今天测试的靶机链接为
https://www.vulnhub.com/entry/prime-1,358/
点击下载,直接用vm打开
扫描局域网内的C段主机
下载好靶机后,打开vmx
如何获取该ubuntu的ip,打开虚拟网络编辑器,查看IP网段
一.猜测的手段
已知ubantu的IP网段后
使用kail来扫描该网段的存活主机
可得到四个存活主机,排除太大太小的IP,和kail的IP
所以ubuntu的IP为192.168.146.129
二.开关机手段
把Ubuntu关机,再扫一遍
发现扫不到192.168.146.129.证明猜想正确
上面探测的IP的方式的前提是你拥有靶机的关机权力
但是真实的环境,服务器是不会关机的
一般都是给个url地址。
自己去找真实ip。
然后感觉c段有服务的话。
扫个c段。
扫c段也是扫端口 根据他运行的服务判断这个ip属不属于目标。
扫描端口获得运行的服务
由于一个服务占用一个端口
发起一个tcp连接,如果可以连接成功,说明该端口已开放
用nmap扫描端口的方式
看到80端口是开发的所以我们到主机的浏览器访问一下该地址
有几个思路:
扫描目录
查看源码
识别cms指纹
如果是个登录界面,可以尝试SQL注入或密码爆破或者xss等攻击
还可能是个默认的首页/index.php
扫描目录获得关键信息
dirb
-a 为了不被防火墙之类的东西拦截,把自己伪装成一个浏览器去请求
-c 设置cookie
-X 指定特定的扩展名
使用dirb进行目录扫描
发现它扫描的是自带的字典/usr/share/dirb/wordlists/common.txt
使用less查看一下该字典
通过得到文件目录,可以打开看看
这时候我们就可以指定后缀名 -X
扫描出了三个文件,分别打开看看
/image.php
什么也没发现
/index.php
就是一个默认首页
/secret.txt
该提示表明如果你能找到php文件和正确的参数你就成功了
还提供了一个fuzz工具和一个敏感文件目录
FUZZ:模糊测试工具,它会随机产生一些非法的内容
御剑
webscan
gobuster
BP :使用intuder模块把字典拼接上去的爆破手段
fuzz获得正确的参数
kali自带一个wfuzz的FUZZ工具
/usr/share/wfuzz/wordlist/general/common.txt 通用字典
wfuzz参数查看文档
通过单词数或是其他项,找出与他们不同的一项
所以得到参数名为file,即http:/192.168.146.129/index.php?file==???
还记得刚刚提示里的lacation.txt文件,可以试试
根据提示让使用sercerttier360这个参数
并没有什么发现,想起刚刚还有一个image.php,试试看
最终获得正确的参数
本地文件包含漏洞LFI
就像上述操作,通过一个参数打开任意的目录和文件的方式
一般Linux的/etc/passwd,会存放用户名及密码
利用该本地文件包含漏洞,访问该敏感文件
得到的信息的结构为:
用户名:密码:用户ID:群ID:用户描述:用户的组目录:程序目录
密码一般用x表示,它的密码一般会存放在/etc/shadow下并通过SHA512加密
仔细看看,会发现一句敏感提示
根据提示访问文件/home/saket/password.txt
获得密码,尝试去登录
发现密码错误
想着开始的时候,又扫描端口发现有两个端口开放
先试试22端口服务的登录
发现密码错误
再试试80端口的服务,刚刚扫描到80端口的服务为wordpress
打开本机浏览器访问wordpress
进入了wordpress,去寻找一个登录界面,点击log in,
现在是因为我们知道用户名了
当你不知道用户名的时候,可以用一些工具进行探测
比如wpscan
得到管理员victor
wordpress漏洞利用
通过得到的用户名及密码,成功登录wordpress的界面
该站点有一些可利用的漏洞,比如插件漏洞
本测试主要利用的是主题编辑器上传文件,修改php代码产生的漏洞
所以需要去寻找上传点,可以一个一个地找,直到发现下图的界面
msfvenom生成反弹shell
msf
msfconsole 用户接口
msfvenom 用来生成payload
msf自己有漏洞数据库
自动生成payload
通过刚刚的文件上传漏洞,可以生成一个反弹shell
反弹shell:运用PHP代码实现反弹连接,就是让靶机主动的连接到控制机,把控制机上输入的命令在靶机上执行
三种情况
内网IP:只能他链接我而我不能连接它
动态IP:这次能找到,下一次就不一定了
没有用户名和密码
这时候就要考虑如何获取php的反弹shell代码
有两种办法:
在网上去硬找
可以通过msf自动生成一个反弹shell
因为我的虚拟机使用的是动态IP,所以每次的IP都不一样,也可以配置静态IP
1.Kali启动一个窗口
启动msfvenom 用来生成playload
查看参数
这里主要使用-p参数,生成payload
注意设置的连接方式和端口号
查看文件已经生成
2.生成PHP反弹shell-playload,查看文件内容
访问该文件,就可以连接到6789的端口
注意生成的文件里/*不要
3.把shell放入靶机wordpress里,放入刚刚浏览器的位置
点击update file 上传文件
msfconsole监听利用
1.记得,重新建一个会话,进入msfconsole
2.启动监听模块,监听6789端口
注意这里连接模块,IP地址,端口信息要与之前的设置保持一致
这时端口的监听已开始,访问主题文件的时候,该主题的访问http://192.168.114.128/wordpress/wp-content/themes/twentynineteen/secret.php(该格式是可以通过WP源码查看的默认设置),msf监听成功
这时候已经进入了ubuntu的系统
通过getuid查看当前的用户信息
通过sysinfo现在查看操作系统的信息
可以发现现在可以进行一些简单的命令操作,但有一些命令还是无法执行
Ubuntu内核提权
刚刚遇到的问题,可以利用msfconsole进行基于操作系统的提权
记得,新建一个会话
根据刚刚获得操作系统的版本,进行漏洞查询
有两个4.10的,但是只有4.13.9是本地的权限提升漏洞
后面的这些脚本的路径是固定的,/usr/share/exploitdb/exploits/linux/local/45010.c
查看该脚本
把该文件复制到工作目录下
查看你文件是否存在
编译该脚本
查看是否生成执行文件
到/tmp的路径,查看该目录的文件
此时脚本执行文件还没放到该路径
提权文件放入靶机后
这时候需要shell窗口
第一步给这个文件添加一个可执行的权限
执行命令没有回显的
第二步执行文件
执行完文件,查看当前属于什么用户,并查看根目录下有什么
查看这下面的文件
得到有用的信息
渗透测试的流程与技术