详述一次拿shell后的单机信息搜集和贯穿整个内网的大型横向渗透
2020-04-14 10:28:42 Author: xz.aliyun.com(查看原文) 阅读量:301 收藏

本文中提及的app相关漏洞已经修复,本次测试也为授权测试,所有敏感信息均使用模糊处理。
这次内网渗透要从枯燥无味的日常工作说起了,由于我在的某厂签合同就像卖身,几乎包下了某商的所有安全有关的工作,什么事都要去做,然而指定测试的资产表中的资产几乎全是登录框,静态页面,一看合同上的每年漏洞数量,内心总是一句“mmp”,我相信很多师傅都遇到过这样的情况,连个测试账号都没有,而上一家驻场安全厂商几乎把什么都给你提了,什么明文传输、用户枚举、版本信息泄露,可能是客户也很清楚这一点,万一快要到来的护网期间被人“巧妙的”进入了某系统,后果不是扣一扣安全厂商的分就能解决的,在这个星期的某一天,局方提出了所谓的“众测”并给了测试账号,看到这条消息的时候我感觉到工具箱中某个工具居然在微微颤动并散发出了神秘的光芒。

目标是一个APP,然而开发十分的变态,基于vuex开发,参数全加密,基本上也就是业务办理、订单查询功能之类的,测了测查询功能基本无望,测试账号也没有数据,一个小时快过去了群里没有半点动静,二家厂商都没有人在里面说话。
Ps:没错局方买了俩家的安全服务,用来对比,PK漏洞数量等,压榨最后一滴劳动人民的血汗。

这个时候其实大多数人都慌的一批,总不能提点信息泄露吧?局方肯定猛怼一顿,“平时没账号挖不到洞,给了账号还是挖不到”,可惜上天不负细心人,在某个很不起眼的小角落里,有个乖巧的小机器人,点开后发现是一个客服机器人,能够查询解决问题。


西卡西(但是),貌似没有真正的客服,就一个机器人,我也是醉了,给了一堆案例出来。

但是我是那种随便放弃的人?怼了小机器人一句“找不到问题”,骚就骚在这招挺管用。


正常抓包,改包,流程我都懂,但是上传完,它会不回显地址只给了个”编号”???

这个时候我突然想起我经常会碰到的一个情况,开发的chou毛病:引用绝对地址,回去抓包看了看一些案例,我露出了“奸邪”的笑容,虽然吧引用的是内网地址,但是我依旧感觉到了工具箱里那闪烁着金色光芒的物体震动的响声。

在看了看与我相关的问题顺利,抓包找到了上传的文件。

但是这时候又有一个问题来了,存文件的机器不出网,闪烁着金色光芒的物体,一直狂叫:error:xxxxxx,我????

西卡西(但是),它还在亮着,仔细斟酌以后,我掏出了来自2007年的也闪烁着金色光芒并震动着的它,果不其然,判断是正确的。

开发如此小心,但是还是有疏有漏,为了防止很快被发现,重新上传了闪烁着金色光芒并震动着的它到另外一个目录,尝试执行history命令的时候,发现执行不了,回显是一片空白,去直接打开查看了 .bash_history这个文件,嗯,警觉倒是没有,看来对自己的心仪之作很放心,平时都是看看日志,之类的。

执行了一下ps-ef,哟,你还挺懒的,平时就执行脚本或者用sshpass登录主机远程执行shell看个日志就结束了,骚就骚在进程里的-p参数后面闪着光的密码把进程中的密码和.bash_history中发现的脚本中的密码一对比,完全一样。

接下来是一些常规操作,重在细心,难在快速,首先通过排除法来快速,精准的找到有用的文件夹进行信息搜集,由于每个开发,维护的习惯不一样,要视情况而定,这里不一一列举,例如上面执行不了history命令可以去用户目录下查看.bash_history文件来查看历史命令执行记录,有时候用户目录下也有一些其他的文件,维护记录,密码本,配置本等等,准则为细心,“小步快跑”二方面,首先对目录进行时间排序,除网站目录外修改时间较为靠近近期的目录进行浏览,抓取关键信息,例如这里除了tmp以外的用户文件夹,etc文件夹可以先看。

经过搜集,确定了以下信息(为防止隐患分享不全):
1、通过网站代码中的数据库地址、ps命令综合信息确定,采用了站库分离的架构
2、通过hosts文件确定机器处于DMZ网络中,D网络中机器的主机名均代表着机器的作用性,如:db(database)等等
3、密码均一样
4、通过对修改时间,文件目录命名规则来看,开发喜欢在网站目录下进行迭代版本,直接重新下载中间件部署新代码,早期版本均在旧版中间件中。
5、经过排序排除安装程序等无用的东西,结合之前发现的dashuju文件夹,进行排摸数据库连接池的名称查找发现druid(阿里开源数据连接池)目录、ZooKeeper目录,遂外网访问管理地址,从中完美收割二百余个url、cookie等信息,均可公网访问,可用功能,去看了备用服务器也是这样的情况。(从目录来看可以通过目录爆破可以很简单的爆破到,如果有针对性的话,在说了合同漏洞数量摆在那,这个还是要弄一弄的,未授权访问、XSS、Sql注入提一提,蚂蚱在小也是肉啊,何况这么多)

6、通过命令执行记录来看,开发只看运维所需要的日志不看其他的,可以放心操作。

通过之前的发现的密码信息快速的在hosts文件中发现的主机中“穿梭”,发现并不能找到想要的信息,之前对密码和hosts信息的搜集是为了摸清网络架构,快速的横向渗透,但是几台机器逛下来,并没有什么,除了用户数据就是用户数据,翻的眼都花了,转念一想开发掌握的机器只是他管理的范围之内的,网络架构也轮不到他来管,按照常识,一般只有负责与厂商对接的局方来管理,而数据量肯定不小,都是通过系统管理,在hosts文件中的发现可以确定目前的机器所在的系统是属于XX门户,这样的系统都是基于客服,用户数据,支撑网等组成的大架构,只有找对了人才能拿到想要的信息,而“进来”的机器从网站目录里面的文件夹和ps命令等综合判断来看是属于那种有很多系统的网站,自己肯定在那边落下了什么信息。
再回到那台入网机器后依旧没发现什么,目录太多了,tomcat、nginx的版本都快认全了,转变思维上了一个获取网站目录下的所有路径文件的.jsp,筛选出有关于webapps这个名称有关的目录,逐个用ls命令查看,直到我发现了某个毫不起眼的小目录里的ip.xls的时候心里咯噔了一下。

看了一下,我突然想起才入行的时候,我的师傅说的话,渗透的本质就是信息搜集,要细心,基本工很重要很重要。


后面的事情太多了,各类情况都有遇到,就不多说了。
希望可以对刚入行的表哥们有所帮助,祝前程似锦。


文章来源: http://xz.aliyun.com/t/7538
如有侵权请联系:admin#unsafe.sh