打靶练习: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 题意: 每一行选择一个数字,相邻行选择不能是同一列,求选择的数字和最小是多少 解: 每一行选择最小的次小的,下一行能加最小的(列坐标不冲突)就加…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
