每日一攻防DC1(一)

admin 2024年1月2日10:29:43评论40 views字数 4532阅读15分6秒阅读模式

靶机:172.16.10.11

攻击机:172.16.10.10

一、信息收集

1、获取目标服务器操作系统指纹

每日一攻防DC1(一)

2、获取端口情况

C:UsersAdministrator>nmap -sS -sV -A -T4 172.16.10.11
Starting Nmap 7.93 ( https://nmap.org ) at 2023-12-31 22:26 中国标准时间
NSOCK ERROR [0.2840s] ssl_init_helper(): OpenSSL legacy provider failed to load.

Nmap scan report for 172.16.10.11
Host is up (0.00020s latency).
Not shown: 997 closed tcp ports (reset)
PORT    STATE SERVICE VERSION
22/tcp  open  ssh     OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
| ssh-hostkey:
|   1024 c4d659e6774c227a961660678b42488f (DSA)
|   2048 1182fe534edc5b327f446482757dd0a0 (RSA)
|_  256 3daa985c87afea84b823688db9055fd8 (ECDSA)
80/tcp  open  http    Apache httpd 2.2.22 ((Debian))
|_http-server-header: Apache/2.2.22 (Debian)
|_http-generator: Drupal 7 (http://drupal.org)
| http-robots.txt: 36 disallowed entries (15 shown)
| /includes/ /misc/ /modules/ /profiles/ /scripts/
| /themes/ /CHANGELOG.txt /cron.php /INSTALL.mysql.txt
| /INSTALL.pgsql.txt /INSTALL.sqlite.txt /install.php /INSTALL.txt
|_/LICENSE.txt /MAINTAINERS.txt
|_http-title: Welcome to Drupal Site | Drupal Site
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          38521/tcp   status
|   100024  1          46663/udp6  status
|   100024  1          50532/udp   status
|_  100024  1          60972/tcp6  status
MAC Address: 00:0C:29:10:AD:71 (VMware)
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.2 - 3.16
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.20 ms 172.16.10.11

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.80 seconds

可看到该服务器运行了Openssh6.0和httpd2.2.2以及rpcbind三个服务,从这里已经有多种攻击方案了,这里我们不选择22和111这两个简单的方式,既然服务器开了80端口,这里访问Web看看

每日一攻防DC1(一)

3、web信息收集

打开主页发现是一个电信的drupal服务,根据wappalyzer插件可知当前运行的是Drupal 7的CMS,这里我们是不知道该后台的账号和密码,但在下方一个账户创建和密码重置入口,这里先创建一个账号看看

每日一攻防DC1(一)执行创建后发现注册成功,结果如下所示每日一攻防DC1(一)

登入测试,发现刚创建的账号没有创建任何的首页内容

每日一攻防DC1(一)看来这个办法是行不通,测试系统账号是否有admin

每日一攻防DC1(一)

发现系统已有admin账号,这里可以使用bp抓包查看传输参数

每日一攻防DC1(一)

这里比较简单略过

二、漏洞利用

前面我们已经知道了该网站是使用的是drupal服务并且已知版本为7.x,这里我们查看一下7.x有那些攻击模块,对已有实战经验的人可以使用自己写的payload。

每日一攻防DC1(一)

1、选择exploit

这里使用msf下的payload,选择第2个测试一下

每日一攻防DC1(一)

2、配置payload参数

每日一攻防DC1(一)

3、运行payload

每日一攻防DC1(一)

发现已经拿到服务器系统会话,接着查看权限

每日一攻防DC1(一)

发现只有web用户的权限并没有操作系统的权限,接下查看系统信息,

每日一攻防DC1(一)在网站目录下除了网站源代码外,还发现了一个flag1.txt,使用cat查看,提示我们需要一个配置文件才可以看到。尝试遍历目录,结果在sites目录下的default目录下找到了php的配置文件,default-settings.php,打开这文件发现是一个flag2。flag2提示,暴力和字典攻击不是常见的

每日一攻防DC1(一)

还找到了数据库的用户名密码,数据库名称等信息。

这里我们进入交互模式并登入MySQL看看有那些信息

每日一攻防DC1(一)

4、查看数据库有那些表

+-----------------------------+| Tables_in_drupaldb          |+-----------------------------+| actions                     || authmap                     || batch                       || block                       || block_custom                || block_node_type             || block_role                  || blocked_ips                 || cache                       || cache_block                 || cache_bootstrap             || cache_field                 || cache_filter                || cache_form                  || cache_image                 || cache_menu                  || cache_page                  || cache_path                  || cache_update                || cache_views                 || cache_views_data            || comment                     || ctools_css_cache            || ctools_object_cache         || date_format_locale          || date_format_type            || date_formats                || field_config                || field_config_instance       || field_data_body             || field_data_comment_body     || field_data_field_image      || field_data_field_tags       || field_revision_body         || field_revision_comment_body || field_revision_field_image  || field_revision_field_tags   || file_managed                || file_usage                  || filter                      || filter_format               || flood                       || history                     || image_effects               || image_styles                || menu_custom                 || menu_links                  || menu_router                 || node                        || node_access                 || node_comment_statistics     || node_revision               || node_type                   || queue                       || rdf_mapping                 || registry                    || registry_file               || role                        || role_permission             || search_dataset              || search_index                || search_node_links           || search_total                || semaphore                   || sequences                   || sessions                    || shortcut_set                || shortcut_set_users          || system                      || taxonomy_index              || taxonomy_term_data          || taxonomy_term_hierarchy     || taxonomy_vocabulary         || url_alias                   || users                       || users_roles                 || variable                    || views_display               || views_view                  || watchdog                    |+-----------------------------+80 rows in set (0.00 sec)

5、查看users表中的字段

每日一攻防DC1(一)

发现当前系统创建了5个账号的账户名称、密码、邮箱等信息,这里密码是经过hash加密后的密文存储,因此我们还无法获取管理员的密码,这里我们有两种方法,一是直接使用前面创建用户时生成的密文,复制该密文在数据库中更新admin的密文,便可以使用admin登入;二是采用Drupal提供的最原生方法。

获得admin的密文,并将该产生密文复制到admin的password字段替换原来的密钥www-data@DC-1:/var/www$ php scripts/password-hash.sh adminphp scripts/password-hash.sh admin
password: admin hash: $S$DaT9oi7SSi1ONi8HhNDokF8G2agq/ORVXC5qZWer7/ZjsbBSPssN
www-data@DC-1:/var/www$

每日一攻防DC1(一)

替换成功后,登入验证一下,发现已登入网站后台

每日一攻防DC1(一)

6、查看仪表盘时发现一个flag3

每日一攻防DC1(一)

每日一攻防DC1(一)

这段信息其实主要是告诉我们权限不够,无法查看操作系统的密码文件

三、后渗透

1、提权

使用命令查看 suid 权限的可执行二进制程序find / -perm -4000 2>/dev/null
这是一个在Linux或类似系统中使用的命令。它的意思是在根目录(/)下查找所有具有setuid位设置的文件。2>/dev/null表示将错误消息重定向到/dev/null,即忽略错误消息。

每日一攻防DC1(一)

1.1使用命令测试,发现为root权限

每日一攻防DC1(一)

每日一攻防DC1(一)1.2提权每日一攻防DC1(一)

发现已经拿到了操作系统的root用户权限,在拥有超级用户权限下,可以就可以读、写系统的任意文件。

每日一攻防DC1(一)

看到了flag4用户,可以使用字典跑出密码

总结:

整个过程都没有太大的问题,将信息收集的结果进行整合,由于该版本比较低,这里就没有跑POC了。



原文始发于微信公众号(Red Teams):每日一攻防DC1(一)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月2日10:29:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   每日一攻防DC1(一)https://cn-sec.com/archives/2353642.html

发表评论

匿名网友 填写信息