安全矩阵

 找回密码
 立即注册
搜索
查看: 2586|回复: 0

后渗透内网网段收集

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-11-21 09:05:13 | 显示全部楼层 |阅读模式
原文链接:后渗透内网网段收集

引言本文仅用于交流学习, 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
建议搭配后渗透信息收集小结食用
Windows环境信息收集被动收集远程桌面记录某次攻防的时候,远程过去目标机器,mstsc时发现该机器存在多个远程桌面记录,而且均保存了登录凭据,之后半夜偷偷远程过去,把这些机器一一上线到CS,扩大横向渗透面。

也可使用命令行查看,获取可通讯IP。
cmdkey /l

在后渗透阶段,我们通常需要删除远程桌面记录以隐藏痕迹,这里不建议删除Default.rdp,因为这样会导致远程桌面记录为空了,容易被运维察觉,而直接用reg可能会触发防护报警,动静更大,我们可先mstsc打开远程桌面连接,接着右键点击远程桌面连接图标,对我们渗透过程中产生的历史记录进行逐一删除。

火绒等AV的安全日志前不久攻防就遇到了,横向拿下一台内网机器,在清理痕迹的时候,发现这台机器被某支攻击队从另一个段横向攻击,虽然攻击失败了,但是利用火绒的安全日志获取到了另一个能通讯的网段。


当然,你也可以关注下windows 日志 rdp爆破来源IP。

浏览器记录可使用LaZagne进行导出,导出时会附带url地址,我们可针对这些已保存密码的url进行渗透,以获取更多成果。

当然,如果已经获取到当前机器管理员密码,那么可直接在浏览器进行导出。

另外要多关注下浏览器历史打开记录,以及收藏夹里的web资产,此外我们在渗透完时,如果使用浏览器打开过网站,那么还需删除浏览记录。
web系统日志如果拿下了一个内网/外网的web后台,那么我们可到日志处看看用户登录的IP地址,前提是这个系统具备后台日志功能,这里可用burp抓包,然后遍历页码批量获取登录IP地址,可结合Python脚本提取IP。


各种敏感文件信息收集时要多关注下服务器桌面文件,还有各种表格文件,里面大多包含各种内网IP资产,关于敏感文件查找可参考这篇文章:https://blog.m1kh.com/index.php/archives/776/


做测试时,经常遇到安全设备弱口令或者默认密码的情况,一旦拿下一台防火墙或者堡垒机,那么在后续横向中将会如虎添翼。

命令行信息收集查看网络连接信息,可能会有其他网段的连接信息,可获取部分内网ip进而对内网IP段进行画像。
netstat -ano


查看路由表,很多时候可以获取到大部分的内网可访问网段。
route print

获取当前机器内网ARP表,确认能通讯的网段。
arp -a

更多命令
  1. net view                        查看已经连接的共享,获取到主机名,ping通从而得到ip
  2. net session                     查看连接的主机
  3. ipconfig /displaydns                    查看本地DNS缓存,能获取到个别内网IP
  4. ipconfig /all                       查看本机ip配置,可知晓机器是否在域内,网卡有几个,网关、dns是多少
  5. type c:\Windows\system32\drivers\etc\hosts      可以发现些内网IP
复制代码


主动收集​​
ping因为是Windows环境,所以这里需要用到 “>>”,因为用“>”的话只会保留一行内容。
">>"为追加写入,即在原本的文件上增添新的内容,>则为覆盖写入,不会保留原本的文件内容。
@for /l %i in (1,1,255) do @ping -n 1 -w 1 192.168.0.%i & if errorlevel 1 (echo 192.168.0.%i>>./no.log) else (echo 192.168.0.%i >>./up.log)

某些时候想要更加直观的看到存活主机,那么可使用下面命令:
for /l %i in (1,1,255) do @ping 192.168.0.%i -w 1 -n 1 | find /i"ttl"

当然,你也可以将结果写入到文件中,方便查看。
  1. for /l %i in (1,1,255) do @ping 192.168.0.%i -w 1 -n 1 | find /i"ttl" >> svchost.log
  2. for /l %i in (1,1,255) do @ping 192.168.%i.1 -w 1 -n 1 | find /i"ttl" >> svchost.log
  3. for /l %D in (1,1,255) do (ping 192.168.0.%D -n 1 && echo 192.168.0.%D>>ok.txt || echo 192.168.0.%D >>no.txt)
复制代码


由于写入的文件不仅仅只有IP,还有其它我们不需要的信息,这时候可用Python脚本提取ip,或直接使用awk提取。
  1. # -*- coding:utf-8 -*-
  2. import re

  3. ip = open("svchost.log" , "r")
  4. for line in ip.readlines():
  5.     line = re.findall(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line)
  6.     for i in line:
  7.         print(i)
复制代码


linux上传文件可用rz或xftp。
awk '{print $2}' svchost.log > ip_list.txt

注:服务器如果开启了防火墙或者禁用ping,那将会影响探测结果,而且短时间发送大量的ICMP包可能会引起内网安全设备告警,需谨慎使用。
linux环境信息收集被动收集数据库信息有些数据库兼具日志记录功能,会记录到用户登录的IP,在拿下数据库权限后,可找找有没有这些东西,说不定就能获取到另一个能访问的内网IP段了,增大我们横向的攻击面。


命令行信息收集多数运维会在内网ssh,这时候,便可利用最近登录信息获取部分内网ip 进而对内网IP段进行画像,大多数情况下可获取到办公网IP或运维网IP段。
last/lastlog/lastb

在拿下一台linux机器时应多关注netstat链接状态,遇到过这样一种情况,拿下一台数据库服务器,虽然是站库分离的,但由于其处在内网,很多内网IP对3306端口发起链接,这时候可利用netstat捕获其它存活IP段。
netstat -anopt
查看 防火墙情况,有时候会存在内网网络通行规则,也能提供一定信息。
iptables --list

拿下目标权限后可翻下history,在这里面数据库、ssh密码是非常常见的,运气好的甚至能获取到另一个存活IP段。
history

更多命令
  1. w               查看当前在线用户并且显示登录IP,有获取运维机器IP的可能性
  2. route -n            内网路由情况,也能为内网网络拓扑提供一定的信息
  3. ifconfig -a         查看机器内网IP,网卡有几个,是否能跨段,网关是多少
  4. arp -a              获取当前机器ARP缓存表
复制代码


另外一些运维脚本或一些测试文件也可能内含内网其它IP段,可多关注一下。
主动收集ping使用自带的系统工具在一定程度上可以规避防火墙拦截,linux ping获取到的存活IP会带有个冒号,所以还需要加上 “ -F "[ :]+" ”去除冒号。

  1. for i in $( seq 1 255);do ping -c 1 192.168.0.$i | grep "ttl" | awk -F "[ :]+" '{print $4}'; done > ip.txt
  2. for i in $( seq 1 255);do ping -c 1 192.168.$i.1 | grep "ttl" | awk -F "[ :]+" '{print $4}'; done > ip.txt
复制代码




其它补充druid未授权利用内网的druid未授权我们往往能获取到大量的内网IP段,一般来说只要这些IP能与druid未授权机器通讯,那么大概率是双向均可网络互通的,这时我们可重点关注存有druid未授权的网站,找找站点是否存有spring-boot未授权-env,这个洞在特定情况下可RCE,另外要注意下Swagger-UI未授权,利用Swagger-UI未授权接口说不定能任意文件上传获取系统shell,一旦拿下这种多级网络互通的机器,将会为我们横向提供巨大的帮助。
注:在获取websession IP时不要进行目录扫描,不然获取到的IP都会是扫描IP。


机器若存在spring-boot未授权-env,那么可直接利用其泄露的内网资产IP,账号密码去横向。

ssrf、xxe这类漏洞可以在外网探测内网存活网段,但是容易造成设备告警,如果前期信息收集得到目标某个资产的ssrf,但是已经通过了另一个资产到内网却又没有发现内网存活网段的话,那么可利用ssrf去探测内网,然后再通过另一个web入口去横向,以减少内网入口被发现的可能性。
msfmsf大家都会操作,这里就不多赘述了,忘记参数的就看看options,值得一提的是要确定内网都有哪些网段,确定了网段后,再进行针对性的扫描,肆意的大规模资产扫描,尤其是跨段扫描会引起安全设备的告警,在内网横向时首先需要考虑的是隐藏自身,被动收集网段虽然效率低,但胜在隐蔽。

针对内网存活主机探测
  1. auxiliary/scanner/discovery/arp_sweep   ARP扫描
  2. auxiliary/scanner/discovery/udp_sweep   UDP扫描
  3. auxiliary/scanner/netbios/nbname        NETBIOS扫描
  4. auxiliary/scanner/snmp/snmp_enum        SNMP扫描
  5. auxiliary/scanner/smb/smb_version       SMB扫描
复制代码


针对端口探测
  1. auxiliary/scanner/portscan/ack          TCP ACK端口扫描
  2. auxiliary/scanner/portscan/ftpbounce    FTP bounce端口扫描
  3. auxiliary/scanner/portscan/syn          SYN端口扫描
  4. auxiliary/scanner/portscan/tcp          TCP端口扫描  
  5. auxiliary/scanner/portscan/xmas         TCP XMas端口扫描
复制代码


针对服务探测
  1. auxiliary/scanner/ftp/ftp_version               探测内网ftp服务,默认探测21端口
  2. auxiliary/scanner/ssh/ssh_version               探测内网ssh服务,默认探测22端口
  3. auxiliary/scanner/telnet/telnet_version         探测内网telnet服务,默认探测23端口
  4. auxiliary/scanner/dns/dns_amp                   探测dns服务,默认探测53端口
  5. auxiliary/scanner/http/http_version             探测内网http服务,默认探测80端口
  6. auxiliary/scanner/http/title                    探测内网http服务的标题
  7. auxiliary/scanner/smb/smb_version               探测内网smb服务,默认探测的445端口
  8. auxiliary/scanner/mysql/mysql_version           探测内网mysql服务,默认探测3306端口
  9. auxiliary/scanner/rdp/rdp_scanner               探测内网RDP服务,默认探测3389端口
  10. auxiliary/scanner/redis/redis_server            探测内网Redis服务,默认探测6379端口
  11. auxiliary/scanner/db2/db2_version               探测内网的db2服务,默认探测的50000端口
  12. auxiliary/scanner/netbios/nbname                探测内网主机的netbios名字
  13. use auxiliary/scanner/mssql/mssql_schemadump        探测内网SQLServer服务,默认探测的1433端口
  14. use auxiliary/scanner/oracle/oracle_hashdump        探测内网oracle服务,默认探测的1521端口
复制代码


js内网IP在内网中不乏多个系统互联的情况,有些站点的js包含了多个系统接口或内网IP地址,利用这些IP段横向将更得心应手,但横向时应注意蜜罐,不要给逮到了。遇到OA,sso单点登录,尤其是外网的标靶系统,我们可看看js,一旦获取到其内网IP信息,那么可进行针对性打击。

注:外网打点时如果遇到站点存在大量内网IP的话,应该重点关注下,可先用全球ping和微步在线粗略确认下站点IP是企业专线IP还是云主机、数据中心的IP,一般来说企业专线的IP多少会存在内网环境,当然,如果当前目标撸不动,那么可以根据真实IP去尝试寻找C段继续打。
打印机内网中某些打印机会跨段,即多个办公网络公用一台打印机,在这里说不定能获取到另一个IP段,增大我们信息收集的面。

navicat,xshell可使用SharpDecryptPwd进行获取,如果获取到的ssh、mysql权限是另一个IP段的话,那么横向起来将更愉快。

小结内网IP段收集并非一定要在内网进行,我们可收集目标的外网资产,通过外网js泄露、配置文件泄露、或web系统内部的云盘、文件夹等等地方寻找,单个方向寻找内网存活IP概率和工作量是巨大的,我们可从多方面入手,以免遗漏。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-22 23:56 , Processed in 0.018669 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表