在说内网渗透前,先说说什么是外网渗透
外网更侧重于找漏洞寻找突破口
举个简单的例子:
把渗透测试当做去偷某家超市的某个商品。外网渗透就是突破超市的大门,进入超市。
想要进入超市,这个时候我们要寻找一下超市防守不到位的地方:比如是不是窗户没关、监控是不是半夜十二点为了备份前一天的视频内容而短暂失灵、保安是不是凌晨三点就会开始划水、大门是不是可以用万能钥匙打开……
外网渗透就是收集这些“漏洞”,综合多方因素,利用天时地利人和,突破限制,闯入超市内部。
所以,外网渗透阶段,考验的是白帽的综合能力,外网渗透的目的还是为了进入内网。
内网更侧重于对目标的熟悉程度。
如果你突破“外网”的限制,成功进入“内网”,那么这一阶段对你的要求又有所不同。
对环境是否足够熟悉?对目标的情况是否了然于胸?是否知道哪里有摄像头?哪里有敏感信息,哪里有红外线探测,你要的商品在哪个柜台……
在重重关卡下成功拿到信息后,还要全身而退,将你留下的指纹、脚印全擦掉,不留半点痕迹。
当然,术业有专攻,作为渗透人员,或许对目标的内部不够熟悉。所以这时候你需要一个帮手——安全运维。安全运维,顾名思义,是运维,相当于超市内部的保安。他能以同行的身份,推测超市的安保情况,而且对超市内部的信息更了解。
内网渗透分为域渗透和工作组渗透两类。
域渗透
工作组渗透
工作组里的电脑都是平等的,是最常见最普通的资源管理模式,将不同的电脑按功能分别列入不同的组,以方便管理;相对而言,所处在同一个工作组内部成员相互交换信息的频率最高。
你可以随便加入同一网络上的任何工作组——如果你加入一个不存在的工作组,也就相当于新建一个工作组了。可以随便离开一个工作组,来去自由。“工作组”就像一个自由加入和退出的群聊一样,它本身的作用仅仅是提供一个“房间”,你只要进群,就能看到群友共享的资源。而且群里没有群主和管理员,群员之间都是平等的。
父域,子域:子域是相对父域来说的,一个父域有很多子域
林域:以父域为中心,有很多子域。
单域:只有一个林域
域名——dns(严格来说是一种目录服务)——域服务
域是不平等的,高级域可以操控低级域,父域可以影响子域。比如重置密码等操作。
安全组虽然名字里有安全两个字,但是实际上不太安全。
所以域就出来了,比起安全组,他多了群主(域控)、多了管理员(管理员服务器)。
域控制器中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录。
在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作。称为“域控制器(Domain Controller,简写为DC)”。也就是所谓的群主。一个群可以没有管理员,但是必须有群主。
你想加入一个域,首先得要域控或者管理员服务器在域里面添加一个账号密码,然后你用管理员服务器新建的这个账号密码才能登录。也就是说你想进域,首先得管理员同意才行。
每次你登陆域,管理员都会检查账号密码对不对。不对则不许登陆。
工作组则不一样了,账号不在工作组里面?那就把这个账号添加进工作组。
域一般是大公司使用,等级深明。工作组一般是小公司用,平等自由。
1.内网环境下先查看网络架构。例如 网段信息 域控 DNS服务器 时间服务器
2.收集到了足够多的信息可以扫一下开放端口 21 22 80 8080 443等确定敏感信息,以及之后渗透的方向
3.通过以上信息进行一定的弱口令尝试,针对特定的软件做banner采集利用,snmp测试读取和写入权限
4.进行一些提权操作,从横向和纵向对目标服务器进行渗透。
5.进行敏感信息挖掘,内网密码收集嗅探,同时擦除入侵足迹。
1.清相关日志
2.清日志分析服务
3.清命令行记录(历史命令)
4.清内存
5.清缓存 (可以用脚本清,然后销毁脚本)
命令 | 作用 |
---|---|
ipconfig /all | 查询本机IP段,所在域等 |
net user | 本机用户列表 |
net localgroup administrators | 本机管理员[通常含有域用户] |
net user /domain | 查询域用户 |
net group /domain | 查询域里面的工作组 |
net group “domain admins” /domain | 查询域管理员用户组 |
net localgroup administrators /domain | 登录本机的域管理员 |
net localgroup administrators workgroup\user001 /add | 域用户添加到本机 |
net group “domain controllers” /domain | 查看域控制器(如果有多台) |
net time /domain | 判断主域,主域服务器都做时间服务器 |
net config workstation | 当前登录域 |
net session | 查看当前会话 |
net use \ip\ipc$ pawword /user:username | 建立IPC会话[空连接-***] |
net share | 查看SMB指向的路径[即共享] |
net view | 查询同一域内机器列表 |
net view \ip | 查询某IP共享 |
net view /domain | 查询域列表 |
net view /domain:domainname | 查看workgroup域中计算机列表 |
net start | 查看当前运行的服务 |
net accounts | 查看本地密码策略 |
net accounts /domain | 查看域密码策略 |
nbtstat –A ip | netbios 查询 |
netstat –an/ano/anb | 网络连接查询 |
route print | 路由表 |
tasklist /V | 查看进程[显示对应用户] |
tasklist /S ip /U domain\username /P /V | 查看远程计算机进程列表 |
qprocess * | 类似tasklist |
qprocess /SERVER:IP | 远程查看计算机进程列表 |
nslookup –qt-MX Yahoo.com | 查看邮件服务器 |
whoami /all | 查询当前用户权限等 |
set | 查看系统环境变量 |
systeminfo | 查看系统信息 |
qwinsta | 查看登录情况 |
qwinsta /SERVER:IP | 查看远程登录情况 |
fsutil fsinfo drives | 查看所有盘符 |
位置判断是指机器处于网络拓扑中的某个区域,是在DMZ区,办公网,还是核心区,核心DB等多个位置,当然这里的区域并不是绝对的,只是大概的一个环境,不同的地方网络环境不一样,区域的界限也不一定明显。
机器角色的判断指判断已经控制的机器是普通Web服务器、开发测试服务器、公共服务器、文件服务器还是代理服务器、DNS服务器、存储服务器等等。具体的判断是通过对机器内的主机名、文件、网络连接等多种情况进行综合判断的。
出口流量是否连通的判断指机器是否能上外网这些,要综合判断协议(tcp\http\dns\icmp等协议)与端口(常见能出去的端口有80,8080,443,53,110,123等)。在这里还有一种是网络内网设置了代理服务器的情况,攻击者通常会查看环境变量set,主机名是否有proxy字样的机器,注册表是否有写明代理地址或指定pac代理文件等。
Ping
Arp
Tracert
route
使用mimikatz提取系统hash与明文
破解出的NTLM可以尝试CMD5破解
1.默认权限配置认知
当某些普通\不普通用户加入AD的rdp组或其他管理组,当攻击者拿到这些用户的权限时就相当于可以获取到域控制器的权限了。
2.端口转发与协议代理
工作组采取的一般都是常规渗透方法,因为工作组一般都是个人和少数服务器
3.工作组横向渗透
4.域环境横向渗透
5.权限维持