最近很忙,方案,建模大赛的技术支持,再忙也不忘自身的修行学习,都是抽取下班后晚上的时间做的,搞了4天,最终拿下棋子。
HackTheBox(缩写HTB),HTB是一个网络安全攻防竞技场,全球的顶尖高手很多在上面,有人在上面出题(防守),就有人解题(攻击)。想提高网络攻防水平就来玩这个game平台。
这个平台一个优点是靶机是现成的,vpn也是免费的。同样VulnHub也很出名,但VulnHub要自己下载虚拟机搭靶机,要消耗自己电脑的性能和用电,所以最佳实践推荐HTB。
起因很久以前也对安全技术感兴趣(10年以前),出来后没同事计算机安全的相关工作,不想以前的技能费了,以来玩HTB了(声明最后的系统root权限过程我只写思路,毕竞还有其他人玩,有玩家是靠攻略挣钱的,所以不能写太清楚)。
HTB官网:Hack The Box
内心独白:看一下排名,挑个人多的先练手(结果后面通关后发现一点都不easy),发现OpenSource有2044人在玩,通关的超过1900了。
下面是我的通关截图:
先百度看看有没有作业可以抄(结果什么也没搜索到):
从而能直接远程SSH登录系统。
神器级武器库:kali(一个网络攻击武器库,所有的hack几乎都在用)
神器级武器:nc(号称瑞士刀)
内网渗透神器级武器:chisel
端口扫描的王者:nmap
sudo openvpn lab_einyboy.ovpn
在opensoure的machine界面有目标主机的IP如下图
然后ping 10.10.11.164看看网络是不是真的通了,如下:
上军刀:nmap -sS -T4 -A -Pn 10.10.16.164
看到开了22,80,3000端口,22是远程用的ssh端口,80是网页端口,是werkzeug 2.1.2写的后端(看到网页端口,这里就是套路了,90%以上出题者就是在这里给答提入口了)。上浏览器:
点“take me there”能打开上传端口打开上传页面(有上传页面一搬就有上传漏洞)
但这里还有个”download”点再后可以下载到页面源码,并用vscode打开
看到conf结尾的文件打开记下内容(套路,这里目的看到个user=root,root后面用到)(这里原码都给了,也用不着套路2中的扫描目录了)
(技术点web用python写的,可以直接在原代码上写webshell直接拿到一句话shell了,但这不是出题人的初衷,这里给出代码,方法不写了)
这里给出大神分析:https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/werkzeug
漏洞的原理发现如下:
文件(可尝试读取/etc/passwd密码文件):
/sys/class/net/eth0/address
/proc/sys/kernel/random/boot_id'
/proc/self/cgroup
访问http://10.10.11.164/conolse输入上面的PIN码得到交互的python shell.
进去后就是通过python拿反弹shell了
先在kali上开启监听端口,命令
nc -lvnp 433
然后在网站找python反弹shell代码:
Online - Reverse Shell Generator
在console里执行拿到反弹shell
(注这里拿到的shell是在docker里面的,你可以理解为是虚拟机)
所以还得逃逸到docker拿到物理机的shell
注意下面红框的log输出,用nc 172.17.0.1 3000 -vvv命令试连3000端口,返回open状态,
这里出题着告诉你可以使用chisel进行内网的进一步参透了。
借助上传页面把chisel上传到/app/public/upload目录
命令kali中执行chmod +x chisel
./chisel server -p 8000 --reverse
在反弹的shell中
cd /app/public/upload执行下图中的命令
然后在kali浏览器访问127.0.0.1:3000 (看到了一个原代码管理页面)
怎么登录了,有源码哦(这里是出题者套路一搬有git的查看相关人历史修改,找有添加、删除过什么配置文件里面一搬有密码)
如下图的dev分支
用dev01用户名,后后面的那串密码登录,看到home-backup不要犹豫打开他,这家里出题者套路,看到backup字眼里面一搬有远程ssh的密码)
把.ssh文件夹里的密钥id_rsa下到kali,直接可ssh远程登录了
下图拿下第1个flag
一搬套路是执行sudo -l 看看有没有特权文件,这里执行了没什么用。
所以套路2,pspy看看系统有没有定时调度的进程什么的(本提套路)
还是上传页面上pspy到/app/public/uploads
反弹shell中chmod +x pspy
./pspy
在下面的输出中你们看到git commit -m backup (看又是backup出题者的提示)
这里有个pre-commit的漏洞可以提权(知道这个要看攻方的基本功了)
如果没基本务,走套路,下面网站搜索git
vi .git/hooks/pre-commit/myshell.sample
在里在写入反弹shell
最后通过反弹的shell拿到第2个flag
总结写了那么长,我想说一点都还不easy点个赞