免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5900 | 回复: 11
打印 上一主题 下一主题

[FreeBSD] [FreeBSD] 如何做ssh的端口转发 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-05 16:17 |只看该作者 |倒序浏览
最近遇到了一组机器,拿到了一台FreeBSD的root权限,root权限是通过webshell返回的反弹端口拿到的。
  远程不让访问,这组机器的另外一台机器拿到了nobody权限,但是通过仔细的观察发现,拿到root权限的FreeBSD直接用ssh不用密码就能直接连接上nobody的FreeBSD机器。但是由于的反弹回来的shell,是不能用ssh直接连接的,上面提示是说不是一个真实的TTY端。

  我想让各位高手解决的问题就是在root权限的机器上做一个代理,然后利用本机的putty直接连接上nobody的freebsd,这样就完成了提权的工作,因为连接权限是root权限。

  请高手指点如何利用,或者是有什么工具来进行。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
2 [报告]
发表于 2007-12-05 16:51 |只看该作者
cnbird在cnhonker写了不少东西嘛。
假设1.1.1.1是你拿到的root机器
2.2.2.2是你的nobody权限的服务器
1.1.1.1用root去ssh那个2.2.2.2就同样也是root了对不?可是因为1.1.1.1的root不是一个正式的TTY,所以登录以后马上就断开了,对吧。证明在1.1.1.1这个服务器里有2.2.2.2这个root的私钥。这个私钥保存在/root/.ssh/这个目录里id_dsa和id_dsa.pub,所以你把这两个文件放到本地来。
所以现在关键的问题就是解决1.1.1.1做2.2.2.2的桥的问题。这个就需要一个端口转发。那么这个时候我建议你给FreeBSD加一个普通用户啊。或者给toor这个用户设置一个密码,FreeBSD这个用户是另外一个root,是系统自带的。我觉得你完全可以这么做。
你的描述不是太清楚。比如你现在能否直接访问到2.2.2.2的22端口?还是必须通过1.1.1.1才能?

[ 本帖最后由 iceblood 于 2007-12-5 16:56 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-12-05 18:14 |只看该作者
想访问 2.2.2.2的必须要通过1.1.1.1转发,但是1.1.1.1的经过了防火墙的限制,外网不能访问。因为这组机器是非常大的企业的2组提供非常重要的服务器,安全非常的强,并且有均衡器。
跑题了,我的意思就是说如果能拿下防火墙这样就能搞整个网络了。
如何才能找到防火墙呢?traceroute来看嘛?
还有重要的如何把处在防火墙后面过滤22端口1.1.1.1的root并且还能通过1.1.1.1连接2.2.2.2,需要用什么软件啊?
其实说白了就是ssh转发,如何实现?

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
4 [报告]
发表于 2007-12-05 20:00 |只看该作者
不是说1.1.1.1不能运行ssh么?因为一运行就报不是正常TTY啊。
如果这样你就不可能使用ssh转发这个功能。
至于防火墙如何发现一般都是真实服务器的前一个IP吧,防火墙没有那么容易到手的。
另外防火墙不会限制所有端口吧。总有开放的比如53 21  80,你是搞这个,你应该明白。
另外freebsd你可以用kldload加载ipf防火墙,然后用这个防火墙带的ipnat来设置nat。让1.1.1.1映射到2.2.2.2端口。
另外bkbll你认识吧,记得他写了一个端口转发的代码。你找他问问。在freebsd下编译一下。
呵呵。
不过我在想freebsd的root你怎么拿到的。因为freebsd的root到手很难的,除非管理员实在是粗心,还很懒,为了懒惰设置了root可以远程登录。
还设置了任何人都可以切换到root。以及某个有问题的程序在root下运行。
这3个条件至少满足其中2条以上才能拿到的。至少目前为止FreeBSD我还没发现太多的本地提权的漏洞。

[ 本帖最后由 iceblood 于 2007-12-5 20:08 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-12-06 03:23 |只看该作者
看不懂唉!

论坛徽章:
0
6 [报告]
发表于 2007-12-06 17:31 |只看该作者
1.1.1.1能运行ssh,但是防火墙不让外网连接,我一用ssh就出现如图的画面
root是通过web拿到了一个普通的权限,然后本地localroot了一下拿到的,拿到root都是通过web返回一个comeback端口。这样说明白了吧,发2个图就清楚了。!

1.JPG (111.54 KB, 下载次数: 33)

1.JPG

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
7 [报告]
发表于 2007-12-07 12:46 |只看该作者

  1.                                                      Server2
  2.                                                         ^
  3.                                                          |
  4.                                                        root
  5.                                                          |
  6. hacker  ---------- HTTP ------------> Server1
  7. hacker <---------shell---------------- Server1
复制代码

这样的对吧。
因为走的不是正式的tty所以才报错了,也就是说实际上你的ssh虽然能运行,但是你不能用。
所以你不能通过ssh的转发功能来连接Server2。
Server1是公网IP还是私有IP?如果是公网IP。你可以
ipfw show
或者
ipfstat -ionh
看看。
这两个防火墙是否开启来了。
或者他并没用第三方防火墙,而是自带的防火墙。
如果是第三方防火墙。我想你除了停止他的HTTP,然后把ssh绑在80端口进入后拿到Server2的root。否则应该没有其他好办法了。

论坛徽章:
0
8 [报告]
发表于 2007-12-07 14:15 |只看该作者
/sbin/ipfw show
65535 1075878556 233369285772 allow ip from any to any
ipfstat -ionh
ipfstat: not found
locate ipfstat
/usr/sbin/ipfstat
/usr/share/man/cat8/ipfstat.8.gz
/usr/share/man/man8/ipfstat.8.gz
/usr/src/contrib/ipfilter/man/ipfstat.8
/usr/src/usr.sbin/ipfstat
/usr/src/usr.sbin/ipfstat/Makefile
/usr/sbin/ipfstat -ionh
open: Permission denied

是这样的结果,但是我想问问如果把ssh绑定了80端口的话,apache还能执行嘛?因为这个站太大了,并且apache的启动方式也不一样,使用了N多的脚本,如果动了apache的话就有可能没有办法启动起来。

论坛徽章:
1
金牛座
日期:2014-05-29 15:55:47
9 [报告]
发表于 2007-12-07 16:47 |只看该作者
看样子防火墙是第三方的了。
动apache当然是不推荐了。
不过我总感觉他这个站没道理只开放了80端口。
建议你tcpdump一下,然后把80端口和连接你的IP的端口过滤掉。
然后对1-65535逐个扫描一下。看还有哪个端口能收到扫描信息。
只要找到一个突破口。你有了root什么都好办了。

论坛徽章:
0
10 [报告]
发表于 2007-12-07 23:01 |只看该作者
不一定都是第三方的啊也许可能cisco限制了端口访问也说不定

我做测试了,可以用telnet的后门开个端口,这样就能访问了,看来要把ssh的端口改一下就行了

但是不想这么做,因为管理员不知道什么时候上来,有办法嘛?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP