实验环境
靶机:10.10.10.147
kali:10.10.10.128
渗透过程
1. 主机发现
netdiscover -i eth0 -r 10.10.10.0/24
2. 服务探测
nmap -sS -sV -p- 10.10.10.147
思路:21、22端口可能存在爆破。
3. 浏览器查看web服务
目标主机开放了web服务,那就浏览器查看有没有什么漏洞或者信息。
通过查看源代码,发现flag1(在查看源代码时,一定要仔细,否则会忽略一些重要的信息!!!)
在这里就一张照片,那就进行目录扫描一下呗!!!
4. 目录扫描
使用dirsearch进行目录扫描,并指定扫描使用字典文件,使用dirb进行扫描,多使用不同的扫描器进行扫描,以便得到更多信息。
dirsearch -u http://10.10.10.147 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
dirb http://10.10.10.147 -w
简单访问访问扫描出来的目录,重点是robots.txt中的内容!!!
没有什么重要信息!!!访问http://10.10.10.147/weblog/跳转到http://derpnstink.local/weblog/。
从扫描出来的目录可以知道在/weblog/目录下有一个wordpress搭建的网站,那就使用wpscan扫描一下或者使用awvs扫描一下!
5. 使用wpscan和awvs进行扫描
wpscan --url http://derpnstink.local/weblog/
awvs扫描
通过awvs扫描出来弱口令:admin/admin
发现wordpress的plugin:slideshow-gallery存在漏洞(使用awvs扫描出来时,一时不知道怎么去利用该漏洞,经验太少了!!)
那就使用该账号密码去登录登录,看看有没有什么漏洞或者信息吧!
6. 使用msfconsole
search Sildehow Gallery
set rhosts 10.10.10.147
set wp_user admin
set wp_password admin
set targeturi /weblog
run
使用python获取shell
python -c "import pty;pty.spawn('/bin/bash')"
获得应该低权限的用户,那就查看查看内核、敏感文件、特殊权限等等看看能不能提权
id
whoami
sudo -l
find / -perm -4000 2>/dev/null
7. 信息查找
经过上面的简单操作,并没有发现什么有用的信息(或许是自己太菜,没有发现)。那就查看查看敏感文件,如/etc/passwd、/var/www、/home等等
思路:
- 通过查看/etc/passwd、/home可以知道可登录的用户。
- 通过查看/var/www目录,可以获取一些敏感信息,如网站配置文件、备份文件等等。
那就查查一下,在/home目录下和/etc/passwd中发现用户:mrderp、stinky
猜想解题思路:这里有两个用户,那接下来就是获取两个用户密码,最终获取系统管理员权限!!!
在wp-config.php文件中发现数据库账号密码:root/mysql
利用获得的数据库账号密码登录数据库查看一下信息!
发现flag2。在mysql数据库中查看user表,查看网站数据库,重要看看有没有什么可疑用户!
在这里找到了四个用户,其中root、admin的密码在前面已经找到了!那就破解破unclestinky、phpmyadmin的密码呗!
通过在线破解或者john破解数据库的密码。
通过破解发现unclestinky密码为wedgie57,phpmyadmin的密码为admin。
提示:在获得一段密文时,不知道是什么加密的,可以使用hash-identifier来判断类型。
得到这些用户密码,我们去数据库或者网站登录登录,因为不同的用户可能设置了不一样的信息!登录后没有什么重要的信息!卒
8. 切换用户登录
根据前面的信息搜集,知道在目标系统中有两个用户mrderp、stinky,那么上面的unclestinky用户与stinky是否有联系,比如密码相同!(有点脑洞大开)那就试试看!
先使用ssh登录试试看,发现登录方式是私钥的登录方式,但是这里没有获得私钥,完蛋!
那就在获得的shell上面切换用户试试,发现stinky的密码和unclestinky一样,我靠,沙滩上盖房子,浪到家了,佩服佩服
得到了flag3,到这里还差一个用户的密码,那就回到前面的信息搜集工作步骤,主要查看该用户下面的敏感文件、特殊权限等等。
通过查找发现提示
大概意思时,通过抓包可以获取mrderp密码
!那就去查找查找在这个用户中是否存在抓包文件。
得到抓包文件,再去寻找寻找其它信息
最终找到了ssh私钥文件!
将这两个文件下载到kali主机上,对抓包文件使用wireshark打开查看查看其中的协议内容。
http and http.request.method=="POST"
内容太多了,过滤过滤http协议
找到了mrderp的密码为derpderpderpderpderpderpderp,到这里有密码、有私钥,那就使用ssh和获得的shell分别登录目标系统查看查看。
ssh登录
ssh -i key.txt mrderp@10.10.10.147
然后还是一样的,查找敏感文件、特殊权限!
通过查找没有发现binaries文件下没有derpy文件,所以创建一个新文件。(反正到这里,经验太少所以蒙了),通过上面的步骤成功提权!
总结:
- 这里可以利用CVE-2021-4034进行提权
- 巩固wireshark的使用
- 多注意细节、多点耐心,多多练习!!!