序:
大家好我是二刺螈老同志XiaoJiang,距离上次发文章已经过去半年有余,你们志同道合的同志我,在经历了护网的毒打,分手,网抑云半年,查出疲劳病后,在新年重新焕发了一个21岁年轻人该有的活力,新的一年写一个系列新文章吧,希望给刚入行的朋友们一些启发,明白基本功和细心的重要性。
这次的案例十分典型,只有一个登录界面,这是我遇到的大多数政府项目的特点,往往也伴随着各类安全设备的层层阻碍,但可惜的是界面上有提示:“用户名为社会组织中文名称”,加上甲方的企业性质,省去了猜测用户名的麻烦,实战中admin这样的用户名已经很少了,社会组织的名称大多数是这样的:江苏省xx行业协会、江苏省xxx协会,只要有耐心一定会有弱口令。
但本着能不动静大就不动静大的原则,还是走一下第三方情报平台对目标进行一个信息搜集,这次很幸运没多费时间,在微步上找到了关键信息,如你所见100多条信息中有功能点的URL、文件的URL、js文件等,这些都是我们寻找突破口的地方。
注:这里指的信息搜集是除域名以外的相关信息,比如有些开发喜欢写某某系统解析,操作手册之类的,在这些东西里,可以找到测试账号、系统登录后的截图等,下几篇的文章里正好有这些微不足道的信息导致系统被攻破的案例,到时候再说吧。
对所有的URL进行访问,翻阅JS文件后,发现目标不存在未授权访问,PDF为社会组织的登记证书,统一整理后得到了一些可以用的用户名。
回到目标站点,先不急着进行用户密码爆破(我个人很讨厌上来就进行这样的粗暴动静大的测试,实在没办法了才会去试试),目标站点有俩种找回密码的方式:邮箱找回、密保找回,在个人直觉上密保找回应该是有问题的,毕竟遇到太多本地校验凭据的惨案了。
对两种找回方式分别测试下了,果不其然,密保找回的逻辑是百遇都爽的本地校验凭据,在通过yx.jsp向服务器提交了用户名后,又通过ComPasswordBackQueryCmd(Com密码回显查询Cmd)向服务器请求了对应的密保信息。
让我没想到的是,在第五个请求中会去查询用户信息还把md5加密的密码返回了回来,2333,省的我改密码了。
接下来常规操作,输入用户名和任意密码,抓包替换密码,完成登录。
在登陆后把系统的所有功能点都点一遍,这样在Burp Suite中就可以进行很方便的信息搜集,尝试了通过Config关键字几次搜索到了sftpConfig.xml,内含IP,端口、账号、密码等信息,真是让人愉悦呢。
尝试了下Xshell连了上去,一切都很枯燥无味,整个段有77个存活。
做内网更考验基本工,因为大多数情况下我们都是在shell下对目标机器进行控制,所以对系统和命令的熟悉程度决定了你攻击的速度和程度,我列出几个点帮助刚入行的朋友们进行对应的思考和进一步的学习,例如:
1、history命令可以用来查看历史命令,而反过来想历史命令中包含了管理员操作的痕迹,比如进入某个目录,运行ssh命令,一来可以获取有效的账号密码等信息,二来可以判断管理员平时是否很警惕,进行查看日志等操作。
2、hostname命令可以用来查看当前主机的名称,往往机器的名称是代表着它主要承担的功能。
3、ping 命令除了用于判断出网以外,也可以进行对内网的存活探测,一来icmp包没有指纹,二来在判断存活后可以直接进行端口探测不进行存活探测,避免了多余的操作也少了几分风险。
以上种种举例可能不是很好,但是我想应该达到了抛砖引玉的效果,这篇闲言碎语就先到这里了吧。