怎样写网站源码(网站源代码SVN泄露利用及防御)

wufei123 发布于 2024-01-10 阅读(226)

在对服务器目标进行渗透时,需要对目标的各种信息进行收集,在信息收集过程中有可能利用已有信息进行渗透,取得意想不到的效果,在整个渗透生态中,信息收集贯穿全过程,下面介绍一个如何利用SVN信息来渗透并获取其托管源代码以及源代码对应服务器权限。

1.1SVN渗透思路在对某一个目标进行渗透时,通过前期信息收集,发现该用户的代码托管在阿里云代码中心如果渗透时能够获取源代码,那对整个渗透将如虎添翼,通过笔者的探索,可以有三种方法来获取1.直接获取泄漏的公开源代码,这种方式相对简单,只要用户未对代码进行保护,可以通过。

svn工具来自己获取完整的代码,当然也可以通过code.taobao.org进行在线查看和浏览2.通过社工等方法来获取开发人员的账号和密码,通过svn工具登录来获取所有完整的源代码3.对开发人员进行渗透攻击,利用。

powershell等生成Nday的木马发送给开发人员的邮箱,开发人员单击后即可获取其个人计算机,然后通过msf下的Meterpreter配合mimikatz获取个人主机登录密码,并通过keyscan_start

、keyscan_stop、Keyscan_dump等来进行键盘记录,获取个人主机上的个人资料以及重要登录信息等(1)Meterpreter下使用mimikatzload mimikatzkerberos。

msv(2)Meterpreter下的键盘记录使用前必须要有反弹的Meterpreter shell,其键盘记录命令如下:Keyscan_start //开启键盘记录Keyscan_stop //停止键盘记录。

Keyscan_dump //查看键盘记录有些情况下,需要以系统权限来执行Keyscan_start,可以在Meterpreter shell下通过ps命令获取winlogo.exe的pid号,比如432

,执行“migrate 432”命令,然后重新运行keyscan_start即可记录密码(3)使用msf下的lockout_keyloggeruse post/windows/capture/lockout_keylogger。

set session 3exploit1.2SVN信息收集通过分析目标站点的源代码页面,发现一些关键字,同时利用百度和google搜索引擎(需要翻墙)对其进行搜索,成功获取一些有用信息1.搜索用户和项目关键字。

如图1所示,在http://code.taobao.org页面上,可以项目和用户名为关键字进行搜索,获取相关信息,在code.taobao.org上汇集了很多源代码,这些源代码中很多是开源的,这对初学者来说,获取源代码进行学习和借鉴很有意义。

图1使用关键字进行搜索2.浏览源代码如果用户公开了源代码和数据,则可以在搜索结果中单击项目名称或者用户名称来获取更多的详细信息,例如数据库连接信息,开发者姓名,开发者email地址,开发者公司信息,开发者个人编程习惯,如图

2所示,通过查看其代码,成功获取数据库连接等敏感信息。如果能够获取源代码还可以对源代码进行反编译和代码渗透,发现代码中可供利用的漏洞信息。

图2获取源代码中的敏感信息1.3社工查询获取密码通过前面公开的代码进行浏览和分析,获取有关开发者的一些关键信息,将邮箱、个人昵称、QQ等全部进行记录,然后可以利用公开的社工库进行查询(很遗憾,现在很多公开社工库都不能使用了)。

1.查询用户名以及相关信息打开社工库查询网站http://cha.hx99.net/,在其中搜索关键字“57****143”,如图3所示,成功获取以“57****143”为关键字的10条信息,其中有个人邮箱信息,公开泄漏的密码信息:

gao**007和gao**1987,其中还有很多加“*”的未解密码。提供社工查询网站可以通过缴纳一定的费用来获取其加“*”隐藏的字符串。

图3获取密码相关信息2.社工库交叉查询通过另外一个社工库网站http://163.donothackme.club/,再次查询关键字“57****143”,获取其邮箱为57****143@tianya.cn

和密码gaobo****。

图4交叉查询关键信息3.密码分析通过两个社工库查询结果进行比对,可以获取以下信息:57****143可能注册邮箱57****143@tianya.cn、57****143@qq.com,曾经使用gaobo007

和gaobo1987密码1.4对已经获取的社工信息进行验证利用记事本对前面获取的信息进行分类整理,并进行归类,然后按照账号属性和密码属性分别进行整理,然后分别就对应的cms系统、邮件、代码中心等进行登录测试。

1.登录阿里云代码中心使用获取的密码进行登录尝试,用户名为“57****143”,密码分别为“gaobo007”和“gaobo1987”,如图5所示成功登录其代码管理中心。

图5获取其所有项目信息2.获取其它开发用户的信息在站内搜索或者查看其它开发人员信息,如图6所示,对132*****952用户进行查看,在页面中有“发站内信”和“mail联系”,右键单击,在代码中可以获取用户“

132*****952”的email信息“yx**92@163.com”,如图7所示,如果社工库强大可以继续进行社工渗透在实际渗透中,可以在阿里云代码中心注册,然后针对性的去获取其目标信息的email信息。

图6获取其它用户信息

图7获取email地址信息1.5下载获取源代码通过研究code.taobao.com发现其代码管理是通过svn来进行的,虽然可以通过其淘宝的code服务器可以对代码进行查看、修改等管理操作,但下载不太方便,在

svn信息泄露利用中可以通过其账号、用户名以及服务器地址来直接下载该用户下的所有源代码1.安装TortoiseSVNTortoiseSVN是一款代码管理工具,其官方网站地址为https://tortoisesvn.net/。

,可以根据实际操作系统选择对应的安装版本,Windows下最新版本为1.9.5,旧版本可以到sourceforge站点下载(https://sourceforge.net/projects/tortoisesvn/files/

),TortoiseSVN软件安装比较简单,按照提示进行即可2.下载代码设置在磁盘上新建一个文件夹,该文件夹一般对应与代码项目的名称,例如在本地新建一个文件夹“Sh****nHuis”其对应项目http://code.taobao.org/svn/Sh****nHuis。

,选中刚才创建的文件夹,右键单击在弹出的菜单中选择“SVN Checkout”,如图8所示。

图8使用checkout命令来获取源代码3.设置URL库在弹出的Checkout中的“URL of Repository(URL库)”中输入代码地址http://code.taobao.org/svn/Sh****nHuis

,然后单击“OK”按钮开始下载代码,如果代码是保护状态则会提示输入用户名和密码,然后系统开始自动下载代码。

图9设置URL库4.下载源代码如果网络顺畅,TortoiseSVN就会自动下载服务器上面的源代码,如图10所示,逐个下载所有的资料,源代码下载完成后OK按钮会由灰色(不可用)变成可用状态。

图10获取源代码程序5.本地查看源代码在本地文件夹下,通过notepad++工具对代码进行查看,如图11所示,如果权限许可还可以直接更新源代码。

图11查看源代码1.6后续渗透总结及防御1.渗透总结获取其源代码后,在源代码中发现有大量的数据库连接信息,对MSSQL和Mysql如果没有做安全限制,可以直接连接获取数据库中的数据,如果条件允许还可以直接获取服务器权限,有关渗透不在本文中进行介绍。

在渗透过程中,信息收集的完善程度将直接影响最终的渗透结果,因此完美的信息收集应该是多方位,多层次,需要对数据进行挖掘和分析,再挖掘,再分析,再利用本文通过泄漏的项目代号和开发作者等信息,利用社工查询,成功获取了其开发的大量源代码程序,对目标的成功渗透发挥了重要的作用。

2.安全防御(1)每次正式部署时,对代码进行审计,检查是否存在svn代码泄露(2)svn代码托管站点使用独立,安全强健密码(3)定期对代码及站点进行安全检查及web漏洞扫描(4)对存在的svn代码泄露等漏洞进行漏洞修复。

亲爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。