打靶练习:WestWild 1.1(一个简单但不失优雅的Ubuntu靶机)
主机发现和nmap信息收集
//主机发现
sudo nmap -sn 192.168.226.0/24 //扫描整个C段//端口扫描//初步扫描
sudo nmap -sT --min-rate 10000 -p- 192.168.226.131 -oA nmapscan/ports //用TCP的三次握手,以速率10000扫描1-65535端口,扫描结果以全格式输出到ports文件中//详细扫描
sudo nmap -sT -sC -O -p22,80,139,445 192.168.28.43 -oA nmapscan/detail //扫描端口TCP,服务版本和操作系统的版本 //UDP扫描
sudo nmap -sU --top-ports 20 192.168.226.131 -oA nmapscan/udp //UDP扫描,寻找有用信息可以渗透UDP端口,优先级较后//漏洞脚本扫描
sudo nmap --script=vuln -p22,80,139,445 192.168.226.131 -oA nmapscan/vuln //漏洞脚本扫描
-sn 告诉nmap在主机进行发现后不进行端口扫描,只打印响应主机嗅探的可用主机,也被称为ping扫描。sn可以与任何发现探测类型结合使用,如-pn等等,以获得更大的灵活性,如果使用了这些探测类型和端口号选项中的任何一个,则会覆盖默认探测
-sC 用默认脚本进行扫描
也就是说,-sC是用kali自带的默认工具进行扫描,-sn不做端口扫描,只嗅探主机的IP,实际上能确保扫描的隐秘性,这在真实的渗透环境中,是很有必要的。
samba渗透
经过详细的端口扫描,发现139和445端口有Samba服务,并且有一些信息,需要重点查看,如果不行,则看80端口,22端口优先级最后。
sudo smbmap -H 192.168.226.131 //用smbmap扫描驱动盘的敏感信息和共享信息,发现只有wave可以访问
sudo smbclient //192.168.226.131/wave //使用交互式方式访问samba服务器的共享资源wave
smb: > dir //查看目录
smbmap允许用户枚举整个域中的samba共享驱动器
smbclient列出某个IP地址所提供的共享文件夹
也就是说,smbmap是枚举Linux中所有Samba服务器共享文件的命令,smbclient是列出某Linux的IP的Samba服务器的共享文件夹
查看smb共享目录后发现flag1:
//下载文件并查看
smb: > prompt //关闭交互式的提示
smb: \> mget *.txt //下载Samba服务器中的所有TXT文件
smb: \> q //退回到kali
(kali㉿kali)-[~]cat *.txt //查看文本文件信息
查看后发现一段base64编码和aveng用户提示自己丢失密码,并要求wave用户寻找密码的信息:
echo RmxhZzF7V2VsY29tZV9UMF9USEUtVZNTVC1XMUXELUIWcmRIcn0KdXNIcjp3YXZleApwYXNzd29yZDpkb29yK29wZW4K | base64 -d //解码base64编码
发现wavex的用户名和密码,139和445端口渗透结束,获得了通往22端口的账号和密码:
web渗透
打开web页面,只发现了一张图片,点击复制图片连接,下载并查看是否有隐写信息
//查看图片是否有隐写信息
wget http://192.168.226.131/bkgro.png //下载web页面的图片
exiftool bkgro.png //查看图片信息
没有发现隐藏信息:
#用samba敏感信息获得立足点
//ssh登录用户
sudo ssh wavex@192.168.226.131 //用之前解码base64编码得到的敏感信息登录ssh
wavex@WestWild;-$ whoami //查看用户
wavex@WestWild:~$ uname -a //查看系统信息
wavex@WestWild:~$ ip a //查看网卡信息//根据之前在Samba中得到的信息,aveng用户丢失了自己的密码要求wave用户找回,寻找文件夹,尝试访问
wavex@aWestWild;-$ ls
wavex@WestWild:~$ cd wave/
wavex@WestWild:~/wave$ ls //发现是之前找到的两个文件,暂时不管
wavex@WestWild:~/wave$ ls -liah //尝试查看文件信息,发现没有有用信息
wavex@WestWild:~/wave$ cat .viminfo //尝试查看viminfo信息,Vim用来记录退出时的状态
查看wave用户的vim文件,发现他对passwd有权限:
wavex@aWestWild;~$ ls -liah /etc/passwd //查看后发现只有读权限
用户横向移动
wavex@aWestWild;-$ cat /etc/crontab //查找是否有自动任务,没有发现//权限枚举
wavex@aWestWild:~$ find / -writable -type f ! -path '/proc/*' 2> /dev/null //查找可写文件,并排除路径,丢弃错误信息(防止信息洪水)
简单来讲,横向移动是指攻击者成功攻击一台计算机后,由该计算机横向跨越到另一台计算机,获取相关权限,进而窃取敏感信息的活动。
2 > /dev/null 2是一个文件描述符,表示标准错误,>表示重定向, /dev/null是一个linux的特殊文件,相当于垃圾桶
-path ‘/proc/*’ 排除路径
crontab:定时任务的守护进程, 包含用户任务调度:用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。
查看后发现有一个感兴趣路径usr/share:
wavex@aWestWild:~$ cat /usr/share/av/westsidesecret/ififoregt.sh //查看感兴趣的路径
查看路径文件发现aveng的明文密码:
wavex@aWestWild:~$ su aveng //横向移动
aveng@awestwild:/home/wavex$ whoami
aveng@awestWild: /home/wavex cd ../aveng/
aveng@awestWild:ls -liah //查看avenge信息
sudo提权到root
avengawestWild;-$ sudo -l //查看权限(发现avenge有所有权限)
avengawestwild:-$ sudo /bin/bash
rootaWestWild:~# //提权完成
rootaWestWild;-$ whoami //查看用户
rootaWestWild:~$ uname -a //查看系统信息
rootaWestWild:~$ ip a //查看网卡信息
rootaWestWild:~$ cd root
rootaWestwild:/root# cat FLAG2.txt //查看flag2
提示打靶完成:
总结
先进行主机发现,端口扫描,发现22,80,139,445端口。139,445端口是Sam端口,需要重点查看。在Samba渗透中果然发现了flag1和另一个文件,查看后发现敏感信息,通过敏感信息登录SSH(22端口)获得了系统立足点,而对于80端口,不需要继续查看了
在第一个用户中查看信息发现了一个可写文件bash脚本(bash是一种常用的shell,shell是Linux的接口程序,用户通过shell访问Linux),打开后发现该脚本不是自动任务,而是一个防止用户忘记密码的备份,用里面的明文密码登录到另一个用户,用sudo -l发现该用户有所有的权限,然后使用sudo /bin/bash提权成功。
在root文件夹中发现flag2,查看flag2,它提示我们打靶成功
相关文章:

打靶练习:WestWild 1.1(一个简单但不失优雅的Ubuntu靶机)
主机发现和nmap信息收集 //主机发现 sudo nmap -sn 192.168.226.0/24 //扫描整个C段//端口扫描//初步扫描 sudo nmap -sT --min-rate 10000 -p- 192.168.226.131 -oA nmapscan/ports //用TCP的三次握手,以速率10000扫描1-65535端口,扫描结果以全格式…...
【2.3】Java微服务:sentinel服务哨兵
✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏:Java微服务 ✨特色专栏: 知识分享 &…...

【C++】开源:abseil-cpp基础组件库配置使用
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍abseil-cpp基础组件库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下&#…...

【GPT-3 】创建能写博客的AI工具
一、说明 如何使用OpenAI API,GPT-3和Python创建AI博客写作工具。 在本教程中,我们将从 OpenAI API 中断的地方继续,并创建我们自己的 AI 版权工具,我们可以使用它使用 GPT-3 人工智能 (AI) API 创建独特的…...

[保研/考研机试] KY35 最简真分数 北京大学复试上机题 C++实现
题目链接: 最简真分数https://www.nowcoder.com/share/jump/437195121691719749588 描述 给出n个正整数,任取两个数分别作为分子和分母组成最简真分数,编程求共有几个这样的组合。 输入描述: 每组包含n(n<600&…...
算法备案后,企业需要做什么?合规与执行挑战
随着技术的迅猛发展,算法已经成为多数企业核心竞争力的一部分。但在技术进步的同时,我们也面临了算法透明度、公平性以及安全性的问题。因此,许多国家已经开始实施算法备案制度,以确保算法的应用满足一定的标准和规范。但在完成算…...
云原生应用程序的自动化管理和编排
云原生应用程序是一种为云环境设计的应用程序,它采用了如微服务、容器、可伸缩性和自动化等特性,以最大限度地提高效率和响应速度。本文将深入探讨云原生应用如何实现自动化管理和编排。 容器化 容器技术,如Docker,是云原生应用程…...

Spring项目整合过滤链模式~实战应用
代码下载 设计模式代码全部在gitee上,下载链接: https://gitee.com/xiaozheng2019/desgin_mode.git 日常写代码遇到的囧 1.新建一个类,不知道该放哪个包下 2.方法名称叫A,干得却是A+B+C几件事情,随时隐藏着惊喜 3.想复用一个方法,但是里面嵌套了多余的逻辑,只能自己拆出来…...

FFmpeg常见命令行(五):FFmpeg滤镜使用
前言 在Android音视频开发中,网上知识点过于零碎,自学起来难度非常大,不过音视频大牛Jhuster提出了《Android 音视频从入门到提高 - 任务列表》,结合我自己的工作学习经历,我准备写一个音视频系列blog。本文是音视频系…...

网络编程 tcp udp http编程流程 网络基础知识
讲解 网络基础知识网络编程tcp编程流程图示理解bind和accept函数理解监视套接字和链接套接字理解linux和window下的编程实现tcp特点 udp编程流程图示理解udp特点 http编程流程图示理解编程实现-网站服务器 网络基础知识 OSI分层:应用层 表示层 会话层 传输层 网络层…...

LaTeX基础学习笔记
LaTeX是一个文本编辑器。其类似于markdown,使用特殊标记和代码来修改文本格式,创建特殊字符等。可以使用overleaf在线LaTex编辑器编写LaTeX并转换为pdf文件(https://www.overleaf.com/) 同时推荐一个网站http://detexify.kirelab…...

zookeeper和kafka
目录 一、zookeeper理论 1.1、zookeeper定义 1.2、zookeeper工作机制 1.3、zookeeper特点 1.4、zookeeper的数据结构 1.5、zookeeper应用场景 1.6、zookeeper的选举机制 二、部署Zookeeper 集群 2.1、环境准备 2.2、安装 Zookeeper 2.3、修改配置文件 2.4、配置…...
服务器无法加载海康sdk依赖的问题
首先遇到的jna.jar和examples.jar无法加载的问题,尝试了很多方法无效,以下方法实测有效 其次是动态链接库无法加载的问题,而且是播放库,我的方法比较简单,netsdk加载出来就行了,播放库用不到,删…...

brew+nginx配置静态文件服务器
背景 一下子闲下来了,了解的我的人都知道我闲不下来。于是,我在思考COS之后,决定自己整一个本地的OSS,实现静态文件的访问。那么,首屈一指的就是我很熟的nginx。也算是个小复习吧,复习一下nginx代理静态文…...

JavaFx异常: Not on FX application thread; currentThread = Timer-0
我的定时器任务中有两个控件: FXML TextArea Display; FXML Label Label_Display; 执行下方代码会抛出:Exception in thread "Timer-0" java.lang.IllegalStateException: Not on FX application thread; currentThread Timer-0 Timer_tas…...

【Django】无法从“django.utils.encoding”导入名称“force_text”
整晚处理 Django 的导入错误。 我将把它作为提醒,希望处于相同情况的人数会减少。 原因 某些软件包版本不支持Django 4 请看下表并决定Django和Python的版本 方案 如果出现难以响应,或者更改环境麻烦,请尝试以下操作 例如出现以下错误 …...

docker-compose redis 一直启动失败
环境: centos 8.x 背景 使用docker-compose 来启动redis docker-compose.yml 如下: version: 3.3 services:redis:image: redis:latestrestart: alwayscontainer_name: redisports:- 6379:6379volumes:- ./data:/redis/data- ./redis.conf:/redis/re…...

使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装
使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装 受限于每篇文章最多只能贴9张图的限制,这个教程被拆分成了多篇文章连载发布,完整目录结构如下图x所示。后续会发布完整教程的pdf文件,敬请期待。 图x 完整教程文档…...

解决:django设置DEBUG=false时出现的问题
首先,我用的是django4.2,python3.10版本 本来,如果在settings.py中使用 DEBUG True,那么什么问题也没有,当然,这属于调试模式。 DEBUG True TEMPLATE_DEBUG DEBUGSTATIC_URL /static/ STATICFILES_DI…...
2023-08-10力扣每日一题
链接: 1289. 下降路径最小和 II 题意: 每一行选择一个数字,相邻行选择不能是同一列,求选择的数字和最小是多少 解: 每一行选择最小的次小的,下一行能加最小的(列坐标不冲突)就加…...

利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...