| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> dc-1 靶机渗透学习 -> 正文阅读 |
|
[网络协议]dc-1 靶机渗透学习 |
环境:
本次渗透过程kali攻击机和dc靶机都采取NAT模式 信息收集首先用ipconfig查看当前kali机所处网段。 得到当前kali机的ip地址后,用nmap对当前网段进行扫描,主机探活。 nmap超详细使用教程_Kris__zhang的博客-CSDN博客_nmap使用教程
上面命令中的/24的解释是:/24 = 255.255.255.0,加个/24是告诉nmap扫描当前网段 扫到了五个ip,排除kali机还有本地的物理机,还剩下3个ip,那么怎么判断哪个是我们要攻击的机子呢? 这时候就得通过nmap的其它指令来探测每个ip主机打开的端口,通过打开的端口服务来判断。
nmap超详细使用教程_Kris__zhang的博客-CSDN博客_nmap使用教程 nmap使用教程_weixin_30372371的博客-CSDN博客 这里直接扫192.168.202.130,可以自己扫一下其它有嫌疑的ip,就可以根据开启的端口服务排除了。 发现80端口开启,在浏览器访问一下80端口。 那么接下来的思路是怎么样呢?简单试一下没试出sql注入?,观察一下这个页面,发现是Drupal框架,看一下百度百科的解释??Drupal_百度百科 ?猜测一下Drupal可能存在框架漏洞,通过上面的扫描我们找到是Drupal 7 其实感觉也可以通过whatweb来查看框架,Whatweb是一个基于Ruby语言的开源网站指纹识别软件,正如它的名字一样,whatweb能够识别各种关于网站的详细信息包括:CMS类型、博客平台、中间件、web框架模块、网站服务器、脚本类型、JavaScript库、IP、cookie等。 简单了解一下msf吧
打开msf,搜索一下该框架的漏洞
搜索Drupal 7的漏洞 选择一个最近几年,同时品质比较好的,即exploit/unix/webapp/drupal_drupalgeddon2 ,2018年的,rank为excellent
第一条命令是使用这个漏洞,第二条命令是将攻击目标的ip设为192.168.202.130。? 接着可以一个show options 来看一下RHOSTS和LHOST(本机ip地址)设置好了没 设置完毕就可以用run命令启动,来获取meterpreter 会话,进而命令执行了? 到了这一步得执行一下shell命令,然后利用python来获得一个交互shell。
我们来看一下原因: 虽然说不执行shell命令也可以拿到第一个flag,但后面的flag得连接数据库才能得到。 而连接数据库就要通过交互shell来进行,因为meterpreter 会话感觉只是通过框架漏洞发送数据进行命令执行。而第一次输入shell命令只是利用shell脚本,将存放在shell脚本里面的命令读取并执行,这个过程虽然能得到回显,但是在连接数据库时无法进行交互。? 所以还得利用python来产生一个交互shell,才能在后面的操作中与数据库连接,并且与数据库进行交互。 到此,第一个flag就拿到了,下面开始第二个flag。 第二个flag在拿到第一个flag的时候,提示要找配置文件,我们百度找一下Drupal框架的配置文件在哪。
?直接cd进入当前目录下,然后cat settings.php
在flag2里面发现了数据库的账号和密码,直接进行连接。
?然后查库名、表名、列名什么的....... ?最后你会发现还是得select * from users; 第三个flag到此为止已经找到了用于登录的用户账号和密码密文了,但是密码密文不能直接使用,所以要真正得到这个账号有两种办法。 一、更改后台的密码使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下 回到/var/www路径下,运行这个password-hash.sh加密脚本,得到新密码
将得到的密文在mysql中利用update语句更改密码,重新进入mysql的时候记得use drupaldb;这个命令来使用drupaldb数据库。
回到靶机80端口开放的页面进行登录,admin,123。 在Dashboard找到第三个flag。 二、利用Drupal框架的sql漏洞再创建一个具有admin权限的用户先查看Drupal版本,确定Drupal版本为7.24
?利用drupal7.0<7.31版本漏洞增加有admin权限的用户:admin1/admin1 ?这里输入攻击命令的时候得加上完整路径,这个版本的msf可能没有显示出来
可以看到完成攻击,登录成功了 重新登录一下mysql查看,发现用户已经添加了 第四个flag第三个flag提示的关键词是PERMS、FIND、passwd、-exec、shadow,查看一下/etc/passwd ,发现flag4用户 看一下/home/flag4的文件,尝试cat /home/flag4/flag4.txt,拿到flag4,发现提示我们将权限提升到root 根据提示把权限提升至root,尝试进行SUID提权,先来简单了解一下SUID提权。
如果/user/bin/find命令有SUID权限,那么如何利用find命令来进行提权呢?
?find命令是包含用于执行命令的参数的,如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行。 Linux find命令:在目录中查找文件(超详解) (biancheng.net) Linux find 命令 | 菜鸟教程 (runoob.com) 可以看一下大佬们的文章 Linux通过第三方应用提权实战总结 - FreeBuf网络安全行业门户 https://xz.aliyun.com/t/7924#toc-14 最后一个flag下面就开始我们SUID提权的步骤: 首先找一下有SUID权限的文件
?find基础命令与提权教程 - 灰信网(软件开发博客聚合) 看到find命令有SUID权限,所以这里可以利用find命令进行提权。 用find命令包含的-exec参数进行提权
这个命令中的/bin/sh是linux内核和用户之间的命令解释器,可以将我们的命令解释并发送给linux内核。 提权后发现我们的权限已经升级为root了,这下可以查看一下root目录的文件,直接拿到最后一个flag。? 参考文章?Vulnhub靶机实战——DC-1_冠霖L的博客-CSDN博客_vulnhub靶机实战 Linux通过第三方应用提权实战总结 - FreeBuf网络安全行业门户 https://xz.aliyun.com/t/7924#toc-14 nmap超详细使用教程_Kris__zhang的博客-CSDN博客_nmap使用教程 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:41:04- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |