新浪网
黑客渗透笔记之入侵网站日记
在入侵渗透一个大型目标网络时我一般分为4个大步骤,信息搜集-扫描查点-攻击获取权限—清除日志 我看了很多网上的文章或者视频做的都不是太系统。也不太详细。所以我打算做一个系列系统的教程花无涯带你走进黑客世界系列技术文章。此次我打算把每个步骤详细的做一次梳理与总结方便想要学习网络安全技术的同学。
黑客协会:黑客黑客渗透笔记之入侵网站日记
新手入门重点:
收集目标的情报信息是一个非常重要的环节。可以大大提高渗透测试的成功性。收集渗透目标情报一般是对目标系统的分析,扫描探测,服务查点,查找对方系统IP等,社会工程学在渗透测试中也非常有。渗透测试者会尽力搜集目标系统的配置,whois,主机ip段,公司人员,安全防御以及防火墙等信息。
实战入侵目标:
一、目标环境
操作系统:Windows Server 2008 R2
服务器容器:IIS 7.5
应用脚本:ASP.NET
数据库:MSSQL
二、注入点
网站只有一个登陆口,登陆口存在SQL注入~~~遇到这种情况,我一般都是三种处理方式:
①、注入获取数据,没有显示位,无法报错,只能盲注,速度是比较慢的。
②、命令执行,可以直接命令执行获取shell。
③、万能密码,也是注入利用方式的一种。
④、登录语句构造,这种情况是针对第三种情况失效的采用的。
登录语句构造
万能密码也是利用的注入点的方式进行登录,通常情况下语句如下:
SELECT * FROM ADMIN WHERE USER = $pwd AND PWD = $pwd
1
SELECT*FROMADMINWHEREUSER=$pwdANDPWD=$pwd
不过此处不能用万能密码,服务器应该是先利用用户名获取数据库信息,然后利用比较密码进行登录~~~这种时候通常就需要构造语句来登录,大致语句如下:
username='1' and 1=2 union select '1','admin','password'-- -
1
username='1'and1=2unionselect'1','admin','password'-- -
对于密码字段,我就测试了MD5以及明文,构造出来的语句如下:
http://example.com/checklogin?txtPwd=123456&txtName=admin' or 1=1 UNION ALL SELECT NULL,'e10adc3949ba59abbe56e057f20f883e','e10adc3949ba59abbe56e057f20f883e',NULL,'e10adc3949ba59abbe56e057f20f883e',NULL,'e10adc3949ba59abbe56e057f20f883e',NULL,NULL,NULL,'e10adc3949ba59abbe56e057f20f883e',NULL,NULL,'e10adc3949ba59abbe56e057f20f883e','e10adc3949ba59abbe56e057f20f883e'--
结果还是错误了,可能是密码加密方式不对吧,新手遇到问题要学会解决,简单的不行可以配合工具,技术书籍推荐《网络黑白》某宝有,攻防入门必看。
命令执行
因为是盲注,当时看它执行命令的时候我都快睡着了~~~一般来说,如果我遇到命令执行的情况,就会按照以下几点来做:
①判断站库分离
②直接写webshell
③直接上马
我当时没有判断站库分离,这种小站十个有十个都不会分离。于是,差不多就按照如下步骤进行了:
①、分区数目:wmic diskdrive get partitions /value,只有一个分区,
②、系统盘符:cd,系统盘符是C:
③、寻找网站路径:c:
④、查看是否站库分离:select host_name()、select @@servername结果一致,没有站库分离。
⑤、IIS默认的网站目录是C:\Inetpub\wwwroot,看了一下~~~没有什么东西,应该是管理员重新配置了,网站虽然不大,但是因为是盲注,就没有挨着挨着看了,准备其它思路。
⑥、bitsadmin文件下载,提示Unable to add file to job - 0x800704dd,说不能联网,感觉是当前账号权限过低~~~
⑦、powershell文件下载,成功反弹
钓鱼
虽然有权限了,但是后台用户的密码还是不能解密,因为我没有拿到管理员的账号,这个时候想到网站后台密码和服务器的密码是一样的啊,默默地修改了后台页面,写了一个JS插了进去,等待管理员上钩,代码很简答,就不放代码了。过了一天,看了看,果然在自己的服务器找到了用户名密码,不过没什么用。
提权
初略看了看系统的补丁情况,基本上打得差不多了,最后还是找到一个没打补丁的漏洞提权成功,具体过程不再复述。hash读出来了,但是没法登陆,那就需要发现问题,(中国黑客协会)中途在查看服务器文件的时候发现一些可疑的文件,放到virustotal分析了一下,果然是被人挂马了。而且成为了旷工~~~这里不再做分析了,恶意程序的分析并不擅长。
数据库链接字符串解密
拿到权限之后,发现web.config中数据库连接字符串是加密了的。这里很大部分原因是因为自己没有开发过asp.net。我查阅了一下资料,字符串加密一般有两种方式~一种是利用自带的工具aspnet_regiis.exe,一种就是在asp.net程序连接数据库之前去解密。这里属于第二种
数据库连接通常在数据访问层(DAL Data Access Layer)层,而且asp.net中但凡设计到数据库操作,一般都会涉及到SqlHelper类,果不其然,在这个类中发现了解密的代码。
从邮箱服务器获取信息等方式,都非常简单。
在渗透中通过直接与邮件服务器进行交互来获取更多信息,我们可以试探性的给目标发送一封空的邮件,或者是发送0kb的文件,或者是非恶意文件,比如计算器等正常的可执行文件,发送到目标服务器对邮件进行检测,可能会收到退信。这个退信肯能会包含很多信息,比如 杀软是什么,杀软版本号,电子邮件服务的型号品牌,服务器ip,软件版本,这些信息在漏洞利用的时候是很有用的。
发布于:河北