小计一次linux下渗透方法
本文转自91ri
踩点
目标域名是XX.com
我们的目标是大站,所以主站一般都挺安全的,所以直接寻找二级目录,运气好时能找到一些开源的cms,运气更好点找到个dede啥的,那就….
我们直接枚举他域名,先看看分站,因为比较大猜测他是内网,先搞下台内网机器再说。
分析及获取分站权限
枚举了下分站还挺多的,结果看了下 10那台服务器上面有个ecshop的程序,house也在上面,随便一个ecshop弄下了。
翻下数据库文件,运气不错,是root。
Default
1
|
uname -a
|
Default
1
|
Linux 10 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686 i686 i386 GNU/Linux
|
内核存在漏洞,直接上传exp提权。
经过分析,主机都在外网而非内网,我们的目标是*.*.*.*.8,已有权限机器是 *.*.*.*10
做了个openssh的后门,也就是root双密码,管理一个密码 我们的后门一个密码,不影响管理的那个密码。(网上有公开的,可自行下载)
Default
1
|
cat /etc/issue
|
CentOS Linux release 6.0 (Final)
Kernel r on an m
本想做个pam密码记录,可惜手上没有支持6.0的后门。
深入
经过分析,网站7跟8做了负载 或者rsync同步的,负载大部分都时时同步的。
查看下进程都运行了什么
Default
1
|
ps -aux
|
除了apache mysql外还运行了个
Default
1
|
/usr/sbin/vsftpd
|
开了ftp服务,本可做个ftp密码的记录,但懒得等他上线,先继续搞别的。(91ri.org注:一般情况,一个企业内负责网络维护的管理员不多的情况下,密码基本通杀,在长期的渗透中多记一些密码并进行分析往往事半功倍。)
查看管理员的历史操作,也许能找到什么敏感信息
Default
1
|
cat .bash_history | more
|
发现跟目标服务器 8 15 有过联系
Default
scp -rp root@x.x.x.15:/var/lib/mysql/appcms /var/lib/mysql
ssh x.x.x.13
1
2
3
|
scp -rp root@x.x.x.8:/etc/httpd/conf /etc/httpd/
scp -rp root@x.x.x.15:/var/lib/mysql/appcms /var/lib/mysql
ssh x.x.x.13
|
很多linux的管理员觉得linux系统本身安全,对安全反而不大在意了,都喜欢做ssh信任连接,便猜测这几台服务器之间做了信任连接
Default
authorized_keys known_hosts
1
2
|
[root@10 ~]# ls .ssh/
authorized_keys known_hosts
|
Default
x.x.x.13 ssh-rsa BAAAB3NzaC1yc2EAAAABIwAAAQEAwcXCMGxzXoeiuhKhAsI9Dw9kilxxPDCsifv/EYBLE1JCkS44TljppgmEqVBVbQJ4fYtReScpgRwWoLrmaECYE17mDNezDAoRq392UCMduLg3vz4Zzkh8+9HfrNnlMbrrqpatifWwXLkUSHOIqBRV+pGF49v5VYkQyZM/01FbhTzdsCfIzSXEyL/oISuZPb2L9QzP+0xinwf1RRcv78TV2vsN74YiN47ieqifk8lMfhoEv1xA31/VkMFx8c8stMHedOMEBAFXo3WZbq/xJ5fTRRFJ1wyo06LgojGP6sVpQor8Zm8ItpDtwrG2NMwSrZC6EgOpX1yi9Cv23NXzAM/B/Q==
1
2
|
cat .ssh/known_hosts
x.x.x.13 ssh-rsa BAAAB3NzaC1yc2EAAAABIwAAAQEAwcXCMGxzXoeiuhKhAsI9Dw9kilxxPDCsifv/EYBLE1JCkS44TljppgmEqVBVbQJ4fYtReScpgRwWoLrmaECYE17mDNezDAoRq392UCMduLg3vz4Zzkh8+9HfrNnlMbrrqpatifWwXLkUSHOIqBRV+pGF49v5VYkQyZM/01FbhTzdsCfIzSXEyL/oISuZPb2L9QzP+0xinwf1RRcv78TV2vsN74YiN47ieqifk8lMfhoEv1xA31/VkMFx8c8stMHedOMEBAFXo3WZbq/xJ5fTRRFJ1wyo06LgojGP6sVpQor8Zm8ItpDtwrG2NMwSrZC6EgOpX1yi9Cv23NXzAM/B/Q==
|
但看完后忧伤了,这台主机只有跟13有信任连接,于是便ssh到13上。虽说不是主站,但也许能搜集点管理信息直接搞到目标去。
迂回
连上目标后便又做了个后门
依旧继续看管理历史命令,顺便也可以搜索下有啥.sh文件,有的管理为了方便会写shell脚本文件,而里面总是有好东西的。
看下mysql的操作记录吧
Default
1
|
cat .mysql_history
|
找到
Default
flush privileges;
1
2
|
Grant all privileges on *.* to 'root'@'%' identified by '***vrlmm' with grant option;
flush privileges;
|
突然发现mysql密码都一样,猜测目标服务器也是这个密码呢,立马nmap扫描下8有没开启 3306,扫描后发现果然开启了,并且确实使用的是同一密码。(91ri.org:印证了之前说的,一个人管一台机器和管十台管一百台的做法是不一样的,毕竟总不能每连一台主机都要去翻翻密码簿吧?)
在刚开始拿下的 10服务器中发现个记录
Default
1
|
scp -rp root@x.x.x.8:/etc/httpd/conf /etc/httpd/
|
确定他apache是默认安装的 直接读取路径导shell
战果丰硕
总结
- 当拿下一台服务器后,登录上后请立马执行export HISTFILE=/dev/null 这样我们操作的命令就不会被记录到.bash_history
- 可以翻下 mysql_history .bash_history
- ls -al 看下root目录下都有什么隐藏目录 例如 .ssh .vnc 等,有.vnc爽了,你懂得。
- 可以看下 .ssh/下面的ssh连接记录等,也可以看下全局变量文件什么的。
- find下服务器上面有什么shell脚本文件,很多有rsync同步脚本什么的
- 查看下进程,前提是至少你懂点linux。如果主机上有rsync的话,基本上就没什么问题了。(明文密码)
- 在内网环境中的话 不知道主站目标可以nslookup 域名 看下是否在 一个内网等。
- 内网环境中如果有运行ftp服务做后门记录ftp密码,搜集信息,坐等管理上线。
- 善用tcpdump
- 留一个隐蔽的后门
- 拿到权限做完上面的工作就可以对其他机器进行信息收集,建议可以使用nmap。
91ri.org:文章写的挺乱,稍稍整理了一下,作者的思路倒是不错,值得刚刚学习linux渗透的同学学习。顺便推荐下相关的linux渗透技巧的文章:《总结Linux的一些渗透技巧》《Nmap在实战中的高级用法》
最新文章
- windows 7(32/64位)GHO安装指南(序篇)~
- Windows服务安装
- 原创:微信小程序源码解说:石头剪刀布(附源码下载)
- shell中export理解误区
- VS2013 添加文件头部注释模板
- java+hadoop+spark+hbase+scala+kafka+zookeeper配置环境变量记录备忘
- hdu3949 XOR xor高斯消元
- Django-RQ首页、文档和下载 - Django 和 RQ 集成 - 开源中国社区
- 空值排序(oracle/sqlserver)
- Hash算法冲突解决方法分析
- Ubuntu下修改DNS重启也能用的方法
- Dynamics CRM2013 附件禁用方案
- Idea每次修改jsp都需要重启tomcat解决方法
- Linux学习之进程管理(十九)
- PHP中报500错误时如何查看错误信息
- 使用 jstack 查询线程死锁错误日志 定位问题
- PHP 调试工具Xdebug安装配置
- UIButton 标题靠右
- SQLite 日期 &; 时间
- mysql如何使用索引index提升查询效率?
热门文章
- js限定内容的溢出滚动(offset,style.left)
- HDU1541 经典树状数组
- [ CodeVS冲杯之路 ] P1154
- 如何将离线的PIP安装包快速安装好
- Codeforces 954H Path Counting(DP)
- 代码编辑器[0] ->; Vim/gVim[2] ->; Vim 的相关知识
- HNOI2004 郁闷的出纳员(Splay)
- Xcode_9_beta.xip 更新下载
- TestList汇总
- mysql的load data,高速将文本文件,插入数据库中