nmap四扫结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ┌──(root㉿kali)-[/home/…/Desktop/redteamnotes_benchmark_1-20/vulnhub/Jarbas] └─# nmap -sT -sV -sC -O -p22,80,3306,8080 192.168.59.143 -oA nmapscan/tcpdetails Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-20 04:43 EDT Nmap scan report for 192.168.59.143 Host is up (0.00046s latency). PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) | ssh-hostkey: | 2048 28:bc:49:3c:6c:43:29:57:3c:b8:85:9a:6d:3c:16:3f (RSA) | 256 a0:1b:90:2c:da:79:eb:8f:3b:14:de:bb:3f:d2:e7:3f (ECDSA) |_ 256 57:72:08:54:b7:56:ff:c3:e6:16:6f:97:cf:ae:7f:76 (ED25519) 80/tcp open http Apache httpd 2.4.6 ((CentOS) PHP/5.4 .16 ) |_http-server-header: Apache/2.4 .6 (CentOS) PHP/5.4 .16 | http-methods: |_ Potentially risky methods: TRACE |_http-title: Jarbas - O Seu Mordomo Virtual! 3306 /tcp open mysql MariaDB (unauthorized)8080 /tcp open http Jetty 9.4 .z-SNAPSHOT|_http-server-header: Jetty(9.4 .z-SNAPSHOT) |_http-title: Site doesn't have a title (text/html;charset=utf-8 ). | http-robots.txt: 1 disallowed entry |_/ MAC Address: 00 :0 C:29 :F1:63 :97 (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
80和8080的web服务优先考虑,80扫描到php和apache的版本号与操作系统,这很关键,尤其php5.x是存在过很多公开漏洞的,还有潜在危险方法TRACE;8080扫描到cms的banner以及robots文件。最后再尝试mysql,这里表明默认账户未能连接成功
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 ┌──(root㉿kali)-[/home/…/Desktop/redteamnotes_benchmark_1-20/vulnhub/Jarbas] └─# nmap --script=vuln -p22,80,3306,8080 192.168.59.143 -oA nmapscan/tcpvuln Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-20 04:55 EDT Nmap scan report for 192.168.59.143 Host is up (0.00095s latency). PORT STATE SERVICE 22/tcp open ssh 80/tcp open http |_http-trace: TRACE is enabled |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. | http-sql-injection: | Possible sqli for queries: | http://192.168.59.143:80/index_arquivos/?C=D%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=M%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=N%3BO%3DD%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=S%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=M%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=S%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=D%3BO%3DD%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=N%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=D%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=S%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=M%3BO%3DD%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=N%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=D%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=M%3BO%3DA%27%20OR%20sqlspider | http://192.168.59.143:80/index_arquivos/?C=S%3BO%3DA%27%20OR%20sqlspider |_ http://192.168.59.143:80/index_arquivos/?C=N%3BO%3DA%27%20OR%20sqlspider | http-csrf: | Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.59.143 | Found the following possible CSRF vulnerabilities: | | Path: http://192.168.59.143:80/ | Form id: wmtb | Form action: /web/submit | | Path: http://192.168.59.143:80/ | Form id: | Form action: /web/20020720170457/http://jarbas.com.br:80/user.php | | Path: http://192.168.59.143:80/ | Form id: |_ Form action: /web/20020720170457/http://jarbas.com.br:80/busca/ |_http-dombased-xss: Couldn' t find any DOM based XSS.| http-enum: |_ /icons/: Potentially interesting folder w/ directory listing 3306/tcp open mysql 8080/tcp open http-proxy | http-enum: |_ /robots.txt: Robots file MAC Address: 00:0C:29:F1:63:97 (VMware)
尤其是80端口扫到了较多可尝试利用的漏洞,还有潜在有价值目录。
web初探
首先验证nmap中扫描到的潜在有价值信息。 查看robots:
除了提到build
链接外,其余无价值。
找到sql注入路径:
index_arquivos是葡萄牙语,翻译过来就是文件索引。
通过逐个点击最上方的蓝色选项,可推理出这个C
参数的作用就是筛选列,N、M、S、D分别是列的查询缩写;另外还有个O
参数对应筛选的顺序;手工测试时无法判断是否存在注入。csrf同样无法判断。目录/icons
也没有什么有价值的发现。
目录爆破
首先尝试目录爆破,尽可能多地先发现潜在脆弱点,而不是刚开始就直接手工测试网站各个功能点。刚开始可以用gobuster探测,如果没扫描出结果再尝试加额外参数,如指定特定后缀,一般常用的如php,html:
重点关注新发现的额外文件。尝试访问access.html
:
暴露出一段有价值的加密凭据信息,看格式是username:hash
,显然可以尝试用hashcat或john破解:
hash破解
先用hash-identifier
识别出最有可能的算法是md5: 信息处理: 破解hash:
但是破解的结果不尽人意,hashcat也一样,还可以尝试在线破解:
同理进行信息处理并存储,显然下一步就是尝试这些凭据,访问8080端口,看起来像管理员后台,最后尝试用eder:vipsu
登录成功:
默认页面是搜索功能,搜索值传递给了参数q,继续尝试搜索其他关键词,还出现了陌生参数Jenkins-Crumb
,查阅后发现是一种Jenkins的CSRF保护使用token。另外,这个场景类似于sql注入的探测,尝试多个payload后发现并没有起作用,无法判断是否存在注入。
接着看看还有哪些功能点是能够为我们建立攻击路径提供帮助的,首先在系统管理
中,发现有很多功能都是我们非常感兴趣的,但由于风险较大,假设是实际环境中如果没有太大的把握暂时不要轻易尝试,但可以自己本地搭建相同版本的cms进行研究。先从基本风险较小的功能入手,比如新建任务
:
尝试构建自由风格的项目,看起来相对最简单,发现构建项目时可以执行cmd/shell命令,显然这里就是很有价值的攻击路径:
点击应用后再立即构建
,然后定位到该命令输出: 命令执行成功。
(视频提示)反弹shell获取立足点
进一步尝试过程中,尝试过生成java类型的木马,通过该命令执行构建部分执行wget获取该木马,但由于java路由特性没能找到该木马,无法访问,即使用pwd知道了当前路径,最终无果。但经过视频提示后,发现原来还能够通过bash -i
反弹shell,经验还是太少了。另外,发现在红队常用工具tscan
中也能快速生成各种类型的反弹shell命令:
执行:
拿到最终root权限
接着,按照提权前的信息搜集基本流程,当对系统计划任务进行搜集时,发现root用户创建了一个计划任务,并且该计划任务对应执行脚本文件的权限设置问题,按理说不应该给其他用户组这么高的权限,这就导致我们可以尝试用该普通用户追加另一个反弹shell命令,导致最后反弹的shell就是root权限的,因为该任务的所有者是root,因此根据计划任务设定时间,5分钟后会反弹新的shell:
复盘总结
这台靶机整体偏容易,用到java中比较经典的cms,没有用公开poc,而是手工尝试从功能点中寻找漏洞,对于该cms,从这台靶机中要积累的是这种攻击路径(构建时可能存在RCE),据红笔师傅的话来说,这种利用方式很多时候都是百试不爽,以后遇到同样的cms,可以优先考虑这点。
学到的
不要一见到cms就盲目寻找公开poc
首先要做的,应该是快速地以手工方式尝试各个功能点,根据经验和各功能可能提供的价值比重,尤其是可能可以命令执行的地方,都需要优先考虑和尝试。
bash直接反弹shell
反弹shell不是只有上传这一种方式,思维不要定势了,如果在某个功能点能够执行shell命令,就要优先去考虑是否能够直接通过bash或sh -i
的方式直接反弹shell。