靶机下载地址:
vbox导入,网络模式桥接,靶机模式为简单。
一:信息收集
1;直接老样子吧,arp主机发现之后,nmap扫描端口服务。目录遍历。
2;另请检查/littlequeenofspades.html
源代码上发现一串密文。
二;漏洞利用
1;ssh登录验证日志。前面说有毒,可能日志中毒。ssh auth log --> ssh
身份验证日志,并且注意到登录用户名显示在日志中,也就是说如果我们使用ssh登陆时,将用户名写成一句话就可以写马进日志中。
写入成功。
那就反弹一下shell吧。反弹成功,没有权限,提升一下权限。
2;home目录下有个用户,想打开user.txt,但是没有权限,ssh文件可读可写可执行。
ssh服务公钥登录,主要流程为:
- 客户端生成RSA公钥和私钥
- 客户端将自己的公钥存放到服务器
- 客户端请求连接服务器,服务器将一个随机字符串发送给客户端
- 客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
- 服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码
在本地生成密钥对。
在目标服务器的 .ssh 文件夹下创建存放客户端公钥的文件 authorized_keys
(默认配置)
把生成的公钥上传到靶机上去。
把公钥信息写入目标文件
cat id_rsa.pub > authorized_keys
ssh连接成功。注意一下这里,我在生成密钥对时,设置了一下密码,在生成密钥对时,可以不设置密码。
![](//dev-img.mos.moduyun.com/20231008/05fff0de-daca-40b1-ad94-f217907ca907.png)
三:提权。
1;第一个falg。
![](//dev-img.mos.moduyun.com/20231008/9cc2254e-2727-465b-a451-074a4e978b41.png)
2;命令劫持提权。
3;利用linpeas.sh脚本查找bug。
大把的漏洞可执行。
大概的原理就是 执行系统命令所以我们可以自行编写一个同名文件,
比如说cat,因为我们猜测getinfo中使用了cat命令,如若我们可以添加环境变量,getinfo在调用命令时首先检索环境变量就会调用到我们伪造的cat,执行我们想要的命令,来达到提权的效果,即使用环境变量进行命令劫持提权