靶机测试
happycorp靶机渗透测试:通过对目标服务器进行端口扫描、SSH等方法获取目标shell来进行提权、获取及更改密码,从而使用超级用户的账户权限对目标文件进行查看操作,获取到用户名和密码进行账号的登录。
一、
1、首先继续主机存活探测
探测靶机ip:192.168.71.133
Kali ip:192.168.71.129
2、对其端口进行扫描,发现有22、80、111、2049端口是开启的。
3、对80端口进行探测,发现开启了web端
访问web端看看有什么内容 192.168.71.133
在网站里发现了四个用户
可能是登录的用户名 提前进行保存
第一个:Heather Ellis
heather@happycorp.local
第二个L:Carolyn Vargas
carolyn@happycorp.local
第三个:Rodney Douglas
rodney@happycorp.local
第四个:Jennifer Richardson
jennifer@happycorp.local
4、还在这个端口信息中,发现有个登录界面
去访问
http://192.168.71.133/robots.txt
尝试去访问它
http://192.168.71.133/admin.php
出现一个登录界面
通过F12查看源码 发现一句话
<!-- That computer thingy about db and such doesn't work so I just hard coded it - Rodney -->
翻译出来:
That computer thingy about db and such doesn't work so I just hard coded it - Rodney
关于db和不工作的计算机的东西所以我就硬编码它-Rodney
5、看来web端无法继续操作,就从其他端口试试
去查看nfs服务信息,发现里面有个文件
果然发现了靶机上的/home/karl目录是共享出来的
6、在kali端进行文件的挂载
这里是将靶机的/home/karl目录 挂载到 kali 上,其中ip 是靶机的IP
7、通过在1001的用户和组下,添加一个新用户(用户名可以任取),这样就有权访问.ssh文件
注:用户和组的操作
groupdel S1mplegroup 可以删除创建好的组
userdel newuser 可以删除创建好的用户
8、再次进行查看.ssh,切换成 su – newuser
进入到.ssh ,发现第一个flag
$ ls 通过ls 查看,该文件夹下还有其他文件
9、看私钥 :$ cat id_rsa
-----END RSA PRIVATE KEY-----
看公钥:$ cat id_rsa.pub
10、利用拿到的私钥进行操作
将私钥复制到 /tmp 目录下
查看 /tmp 下 ,是否成功复制 id_rsa
11、当我们去登录karl 这个用户中,发现需要私钥的密码
进到/usr/share/wordlists目录下,先将rockyou.txt解压出来(如果之前解压过了就不需要再进行解压)
解压好了 后的效果 出现rockyou,txt
将私钥 密码 写入到password
12、使用john工具破解密码
找到密码为:sheep
破解出来的密码:sheep (id_rsa)
-------------------------------------------------------------------------------
(第一次破解,这里可以不看!!!)
注:john工具对于同一个shadow文件只会进行一次爆破,如果第二次执行john shadow是不会得到结果的,只会得到如下输出。
这时可以通过 john –show password 进行破解过的密码
-------------------------------------------------------------------------------
13、通过指定shell连接
注:靶机ip 一定得正确
直接查找该靶机可执行的二进制文件:
发现了可以使用cp命令 /bin/cp
|
这里是将 /etc/passwd 复制到 共享目录 /home/karl
二、伪造passwd进行提权
很明显嘛,可以通过复制、覆盖passwd文件进而提权
本地先伪造一个passwd
kali端
1、再写入一个具有root权限的空密码的伪用户到passwd中:
echo "hack::0:0:::/bin/bash" >> passwd
在xshell上 通过复制会话,在去开启一个80服务
2、 在靶机上wget获取kali的passwd文件,通过wget将伪造的passwd下载到靶机上,cp命令直接覆盖到/etc/passwd中
再次登录,密码为sheep
要进入到 /tmp 下
使用语句:进行passwd 文件进行覆盖
$ cp passwd /etc/passwd
$ cat /etc/passwd
查看密码信息,是否成功覆盖
找到这条记录hack::0:0:::/bin/bash
3、 当可以看到覆盖成功
好了,直接 su 提权
既然登录进来了,看看当初 登录界面admin.php 的里面有什么内容
这里值得注意
结合当初保留的用户名
第一个:Heather Ellis
heather@happycorp.local
去访问 192.168.71.133/admin.php
用户名:heather
密码:AtGjTBdHuh2H5w6bENaVUssyCsydGJ4CwqXgFAk3BXPtZCntab
用户名匹配上了,密码也有了,再次去登录。
到这里恭喜你成功了!!!